Abstract
The addition of reconfigurable hardware (FPGAs) to the nodes of Beowulf-style clusters has the potential to accelerate a variety of parallel applications through a combination of parallel programming and reconfigurable computing techniques. However, making efficient use of the computational resources available places a significant burden on the application developer due to the lack of support for reconfigurable computing and task heterogeneity in standard message-passing libraries. This paper describes Accessible Reconfigurable Computing (ARC), a metacomputing environment designed to address these issues. The architecture, implementation, and operation of the system are described in detail.
Similar content being viewed by others
References
Smith MC, Drager SL, Pochet LtL, Peterson GD (2001) High performance reconfigurable computing systems. In: Proceedings of 2001 IEEE Midwest symposium on circuits and systems, Fairborn, Ohio, August 2001
Sass R, Underwood K, Ligon W (2001) Design of an adaptable computing cluster. Technical report, Department of Electrical and Computer Engineering, Clemson University, South Carolina
Lehmann T, Schreckenberg A (2001) Case study of integration of reconfigurable logic as a coprocessor into a SCI-cluster under RT-Linux. In: Lecture notes in computer science. vol 2147. Springer, Berlin
Storaasli OO, Strenski D (2007) Exploring accelerating science applications with FPGAs. In: Proceedings of the reconfigurable systems summer institute, Urbana, Illinois, July 2007
DRC Computer Corporation (2007) DRC reconfigurable processor unit RPU110 family. Data sheet
Osburn J, Anderson W, Rosenberg R, Lanzagorta M (2006) Early experiences on the NRL Cray XD1. In: HPCMP users group conference 2006, June 2006, pp 347–353
Donninger C, Kure A, Lorenz U (2004) Parallel Brutus: the first distributed, FPGA accelerated chess program. In: Proceedings of the 18th international parallel and distributed processing symposium (IPDPS’04), Santa Fe, New Mexico, 2004
Sass R, Underwood K, Ligon W (2001) Acceleration of 2D-FFT on an adaptable computing cluster. In: Proceedings of the IEEE symposium on field-programmable custom computing machines (FCCM), Napa Valley, California, 2001
Grastveit G, Helstrup H, Lindenstruth V, Loizides C, Roehrich D, Skaali B, Steinbeck T, Stock R, Tilsner H, Ullaland K, Vestbo A, Vik T (2003) FPGA co-processor for the ALICE high level trigger. In: Proceedings of CHEP03, La Jolla, California, March 2003
Aggarwal V, Troxel I, George A (2004) Design and analysis of parallel N-queens on reconfigurable hardware with Handel-C and MPI. In: Proceedings of the 7th international conference on military and aerospace programmable logic devices (MAPLD), Washington, DC, September 2004
Walters JP, Meng X, Chaudhary V, Oliver TF, Yeow LY, Schmidt B, Nathan D, Landman JI (2007) MPI-HMMER-boost: distributed FPGA acceleration. J VLSI Signal Process 48(3):223–238
Jones M, Scharf L, Scott J, Twaddle C, Yaconis M, Yao K, Athanas P, Schott B (1999) Implementing an API for distributed adaptive computing systems. In: Proceedings of IEEE symposium on field-programmable custom computing machines (FCCM), Napa, CA, April 1999
Ulmer G, Yalamanchili S (2000) An extensible message layer for high-performance clusters. In: Proceedings of the 2000 international conference on parallel and distributed processing techniques (PDPTA’00), Las Vegas, Nevada, June 2000
Gaj K, El-Ghazawi T, Alexandridis N, Radzikowski JR, Taher M, Vroman F (2003) Effective utilization and reconfiguration of distributed hardware resources using job management systems. In: Proceedings of the reconfigurable architecture workshop 2003, Nice, France, April 2003
Banerjee P, Shenoy N, Choudhary A, Hauck S, Bachmann C, Haldar M, Joisha P, Jones A, Kanhare A, Nayak A, Periyacheri S, Walkden M, Zaretsky D (2000) A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systems. In: Proceedings of the 8th international symposium on FPGA custom computing machines (FCCM’00), April 2000
Jones MT, Langston MA, Raghavan P (1998) Tools for mapping applications to CCMs. In: Photonics East’98, Boston, Massachusetts, November 1998
Peterson JB, Athanas PM (1996) Resource pools: an abstraction for configurable computing co-design. In: High-speed computing, digital signal processing, and filtering using reconfigurable logic. Proc. SPIE 2914, Bellingham, Washington, 1996, pp 218–224
Troxel I, Jacob A, George A, Subramaniyan R, Radlinski M (2004) CARMA: a comprehensive management framework for high-performance reconfigurable computing. In: Proceedings of the 7th international conference on military and aerospace programmable logic (MAPLD), Washington, DC, September 2004
Jacob A, Troxel I, George A (2004) Distributed configuration management for reconfigurable cluster computing. In: Proceedings of the international conference on engineering of reconfigurable systems and architectures (ERSA), Las Vegas, Nevada, June 2004
DeVille R, Troxel I, George A (2005) Performance monitoring for run-time management of reconfigurable devices. In: Proceedings of the international conference on engineering of reconfigurable systems and architectures (ERSA), Las Vegas, Nevada, June 2005
Smith MC, Peterson GD (2002) Analytical modeling for high performance reconfigurable computers. In: Proceedings of the SCS international symposium on performance evaluation of computer and telecommunications systems, July 2002
Ahmadi M, Wong S (2009) A paradigm for reconfigurable processing on grid. Networks for Grid Applications 2:259–262
Sass R, Underwood K, Ligon W (2001) Cost effectiveness of an adaptable computing cluster. In: Proceedings of the 2001 ACM/IEEE conference on supercomputing, Denver, Colorado, 2001, pp 54–66
Yamagiwa S, Ono M, Yamazaki T, Kulkasem P, Hirota M, Wada K (1998) Maestro-link: a high performance interconnect for PC cluster. In: Lecture notes in computer science, vol 1482
Tudruj M, Masko L (2004) Dynamic SMP clusters with communication on the fly in NoC technology for very fine grain computations. In: Proceedings of the 3rd international symposium on parallel and distributed computing (ISPDC 2004), Cork, Ireland, July 2004, pp 97–104
Morrison J, Kennedy J, Power D (2001) WebCom: a web based volunteer computer. J Supercomput 18:47–61
Morrison JP, Healy PD, O’Dowd PJ (2003) Architecture and implementation of a distributed reconfigurable metacomputer. In: Proceedings of the 2nd international symposium on parallel and distributed computing (ISPDC 2003), Ljubljana, Slovenia, October 2003, pp 153–158
Beck M, Pingali K (1991) From control flow to dataflow. Journal of Parallel and Distributed Computing 12
Wall K, Von Hagen W (2004) The definitive guide to GCC. APress, New York
Intel Corporation (2005) Intel® C++ compiler for Linux reference
Morrison JP (1996) Condensed graphs: unifying availability-driven, coercion-driven and control-driven computing. PhD thesis, Technische Universiteit Eindhoven
Gurd JR, Kirkham CC, Watson I (1985) The Manchester prototype dataflow computer. Commun ACM 28(1):34–52
Lutz M (2001) Programming python, 2nd edn. O’Reilly, Sebastopal
Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558–565
Raynal M (1992) About logical clocks for distributed systems. Oper Syst Rev 26(1):41–48
Stevens WR (1993) Advanced programming in the UNIX environment. Addison Wesley, Reading
Morrison JP, O’Dowd PJ, Healy PD (2004) LinuxNOW: a peer-to-peer metacomputer for the Linux operating system. In: Proceedings of the 2003 international conference on parallel and distributed processing techniques (PDPTA’04), Las Vegas, Nevada, June 2004
EDIF electronic design interchange format version 200 (1989) Electronic Industries Association, June
Ashenden PJ (2001) The designer’s guide to VHDL, 2nd edn. Kaufmann, Los Altos
Moorby PR, Thomas DE (1998) The verilog hardware description language. Kluwer Academic, Dordrecht
Pellerin D, Holley M (1994) Digital Design using ABEL. Prentice Hall, New York
Guccione SA, Levi D, Sundararajan P (1999) JBits: a java-based interface for reconfigurable computing. In: 2nd annual military and aerospace applications of programmable devices and technologies conference (MAPLD), September 1999
Mencer O, Morf M, Flynn MJ (1998) PAM-Blox: high performance FPGA design for adaptive computing. In: IEEE symposium on FPGAs for custom computing machines (FCCM), Napa Valley, California, 1998
Haglund P, Mencer O, Luk W, Tai B (2003) PyHDL: hardware scripting with Python. In: Engineering of reconfigurable systems and architectures, Las Vegas, Nevada, June 2003
Bjesse P, Claessen K, Sheeran M, Singh S (1998) Lava: hardware design in Haskell. In: International conference on functional programming, pp 174–184
Xilinx Inc (2004) Xilinx system generator v6.2 user guide
Star Bridge Systems Inc (2004). Viva 2.4 user guide
Celoxica Ltd (2002) Handel-C language reference manual version 3.1
Grotker T, Liao S, Martin G, Swan S (2002) System design with system C. Kluwer Academic, Dordrecht
Galloway D (1995) The transmogrifier C hardware description language and compiler for FPGAs. In: Proceedings of the IEEE symposium on field-programmable custom computing machines (FCCM), Napa Valley, California, 1995
Peel RMA, Cook BM (2000) Occam on field-programmable gate arrays: fast prototyping of parallel embedded systems. In: Proceedings of the 2000 international conference on parallel and distributed processing techniques and applications (PDPTA’00), Las Vegas, Nevada, June 2000
Llopis J-L, Pottier B (1996) Smalltalk blocks revisited, a logic generator for FPGAs. In: Proceedings of the IEEE symposium on field-programmable custom computing machines (FCCM), Napa Valley, California, 1996
Cardoso JMP, Neto HC (1999) Macro-based hardware compilation of Java™ bytecodes into a dynamic reconfigurable computing system. In: Proceedings of the 7th IEEE symposium on field-programmable custom computing machines (FCCM ’99), Napa Valley, California, April 1999, pp 2–11
Gokhale MB, Stone JM (1998) NAPA C: Compiling for hybrid RISC/FPGA architecture. In: Proceedings of the 6th IEEE symposium on field-programmable custom computing machines (FCCM ’98), Napa Valley, California, 1998, pp 63–69
Thompson A (1998) Hardware evolution: automatic design of electronic circuits in reconfigurable hardware by artificial evolution. Distinguished dissertation series. Springer, Berlin
Morrison JP, O’Dowd PJ, Healy PD (2003) Searching RC5 keyspaces with distributed reconfigurable hardware. Las Vegas, Nevada, pp 269–272
Baldwin R, Rivest R (1996) RFC 2040: the RC5, RC5-CBC, RC5-CBC-pad, and RC5-CTS algorithms, October
Xilinx, Inc (2002) Virtex™-E 1.8V field programmable gate arrays production product specification, July
Celoxica Ltd (2001) RC1000 Hardware reference manual
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Healy, P.D., Morrison, J.P. ARC: a metacomputing environment for clusters augmented with reconfigurable hardware. J Supercomput 61, 743–779 (2012). https://doi.org/10.1007/s11227-011-0634-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0634-0