skip to main content
research-article

MPI as a Programming Model for High-Performance Reconfigurable Computers

Published:01 November 2010Publication History
Skip Abstract Section

Abstract

High-Performance Reconfigurable Computers (HPRCs) consist of one or more standard microprocessors tightly-coupled with one or more reconfigurable FPGAs. HPRCs have been shown to provide good speedups and good cost/performance ratios, but not necessarily ease of use, leading to a slow acceptance of this technology. HPRCs introduce new design challenges, such as the lack of portability across platforms, incompatibilities with legacy code, users reluctant to change their code base, a prolonged learning curve, and the need for a system-level Hardware/Software co-design development flow. This article presents the evolution and current work on TMD-MPI, which started as an MPI-based programming model for Multiprocessor Systems-on-Chip implemented in FPGAs, and has now evolved to include multiple X86 processors. TMD-MPI is shown to address current design challenges in HPRC usage, suggesting that the MPI standard has enough syntax and semantics to program these new types of parallel architectures. Also presented is the TMD-MPI Ecosystem, which consists of research projects and tools that are developed around TMD-MPI to further improve HPRC usability. Finally, we present preliminary communication performance measurements.

References

  1. Aggarwal, V., Troxel, I. A., and George, A. D. 2004. Design and analysis of parallel N-queens on reconfigurable hardware with Handel-C and MPI. In Proceedings of the MAPLD International Conference.Google ScholarGoogle Scholar
  2. Amirix Systems, Inc. 2009. http://www.amirix.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  3. Callahan, D., Chamberlain, B., and Zima, H. 2004. The cascade high productivity language. In Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments. 52--60.Google ScholarGoogle Scholar
  4. Chang, C., Wawrzynek, J., and Brodersen, R. W. 2005. BEE2: A high-end reconfigurable computing system. IEEE Des. Test 22, 2, 114--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Comis, C. 2005. A high-speed inter-process communication architecture for FPGA-based hardware acceleration of molecular dynamics. M.S. thesis, University of Toronto.Google ScholarGoogle Scholar
  6. Cray Inc. 2005. CRAY XD1 FPGA Development. CRAY Inc. pp. 9-11, pp. 63-66.Google ScholarGoogle Scholar
  7. Cray, Inc. 2009a. http://www.cray.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  8. Cray, Inc. 2009b. Cray XT5h Supercomputer Brochure. http://www.cray.com/Assets/PDF/products/xt/CrayXT5hBrochure.pdf {Accessed 3/09}.Google ScholarGoogle Scholar
  9. DRC Computer. 2009. http://www.drccomputer.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  10. Ebcioglu, K., Saraswat, V., and Sarkar, V. 2005. X10: an Experimental Language for High Productivity Programming of Scalable Systems. In Proceedings of the 2nd International Workshop on Productivity and Performance in High-End Computing (P-PHEC).Google ScholarGoogle Scholar
  11. Graham, R. L., Woodall, T. S., and Squyres, J. M. 2005. Open MPI: A flexible high performance MPI. In Proceedings of the 6th Annual International Conference on Parallel Processing and Applied Mathematics. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gropp, W., Lusk, E., Doss, N., and Skjellum, A. 1996. A high-performance, portable implementation of the MPI message passing interface standard. Parall. Comput. 22, 6, 789--828. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. HyperTransport Consortium. 2009. http://www.hypertransport.org {Accessed 3/09}.Google ScholarGoogle Scholar
  14. Impulse Accelerated Technologies, Inc. 2009. http://www.impulsec.com {Accessed 3/09}.Google ScholarGoogle Scholar
  15. Intel. 2009a. Intel Quick Path Architecture (White Paper). http://www.intel.com/technology/quickpath/whitepaper.pdf {Accessed 3/09}.Google ScholarGoogle Scholar
  16. Intel. 2009b. Intel QuickAssist Technology AAL (White Paper). http://download.intel.com/technology/platforms/quickassist/quickassist_aal_whitepaper.pdf {Accessed 3/09}.Google ScholarGoogle Scholar
  17. Intel Corp. 2009. http://www.intel.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  18. Jerraya, A. and Wolf, W. 2004. Multiprocessor Systems-on-Chip. Morgan-Kaufmannn.Google ScholarGoogle Scholar
  19. Mentor Graphics. 2009. http://www.mentor.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  20. Mitrionics, Inc. 2009. http://www.mitrionics.com {Accessed 3/09}.Google ScholarGoogle Scholar
  21. Moore, N., Conti, A., Leeser, M., and King, L. 2007. Vforce: An extensible framework for reconfigurable supercomputing. Computer 40, 3, 39--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. MPI Parallel Environment. 2008. http://www-unix.mcs.anl.gov/perfvis/software/MPE/index.html.Google ScholarGoogle Scholar
  23. Nallatech, Inc. 2009. http://www.nallatech.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  24. Nunes, D., Saldaña, M., and Chow, P. 2008. A profiler for a heterogeneous multi-core multi-FPGA system. In Proceedings of the IEEE International Conference on Field-Programmable Technology.Google ScholarGoogle Scholar
  25. OpenFPGA 2009a. OpenFPGA. http://www.openfpga.org/ {Accessed 3/09}.Google ScholarGoogle Scholar
  26. OpenFPGA 2009b. OpenFPGA GenAPI version 0.4 Draft for Comment. http://www.openfpga.org/pages/Standards.aspx {Accessed 3/09}.Google ScholarGoogle Scholar
  27. Patel, A., Madill, C. A., Saldana, M., Comis, C., Pomes, R., and Chow, P. 2006. A scalable FPGA-based multiprocessor. In Proceedings of the 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’06). 111--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Project Fortress Community. 2009. http://projectfortress.sun.com/Projects/Community/ {Accessed 3/09}.Google ScholarGoogle Scholar
  29. Saldaña, M. 2006. A parallel programming model for a multi-FPGA multiprocessor machine. M.S. dissertation, University of Toronto.Google ScholarGoogle Scholar
  30. Saldaña, M. and Chow, P. 2006. TMD-MPI: An MPI implementation for multiple processors across multiple FPGAs. In Proceedings of the IEEE 16th International Conference on Field-Programmable Logic and Applications.Google ScholarGoogle Scholar
  31. Saldaña, M., Nunes, D., Ramalho, E., and Chow, P. 2006. Configuration and programming of heterogeneous multiprocessors on a multi-FPGA system using TMD-MPI. In Proceedings of the IEEE 3rd International Conference on Reconfigurable Computing and FPGAs.Google ScholarGoogle Scholar
  32. Saldaña, M., Ramalho, E., and Chow, P. 2008. A message-passing hardware/software co-simulation environment to aid in reconfigurable computing design using TMD-MPI. In Proceeding of the IEEE International Conference on Reconfigurable Computing and FPGAs (ReConFig’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. SGI. 2008a. Reconfigurable Application-Specific Computing User’s Guide. SGI. 9--12; 223--244.Google ScholarGoogle Scholar
  34. SGI. 2008b. SGI RASC RC100 Blade. http://www.sgi.com/pdfs/3920.pdf {Accessed 3/09}.Google ScholarGoogle Scholar
  35. SGI. 2009. http://www.sgi.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  36. SRC Computers, Inc. 2009. http://www.srccomp.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  37. Synfora, Inc. 2009. http://www.synfora.com {Accessed 3/09}.Google ScholarGoogle Scholar
  38. The MPI Forum. 1993. MPI: A Message Passing Interface. In Proceedings of the ACM/IEEE Conference on Supercomputing (Supercomputing’93). ACM Press, New York, 878--883. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wang, D. 2008. An automated flow to generate hardware computing nodes from C for an FPGA-based MPI computing network. Engineering science undergraduate dissertation, University of Toronto.Google ScholarGoogle Scholar
  40. Xtreme Data Inc. 2009. http://www.xtremedatainc.com/ {Accessed 3/09}.Google ScholarGoogle Scholar
  41. Zaki, O., Lusk, E., Gropp, W., and Swider, D. 1999. Toward scalable performance visualization with jumpshot. Int. J. High Perform. Comput. Appl. 13, 3, 277--288. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. MPI as a Programming Model for High-Performance Reconfigurable Computers

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!