Skip to main content
Log in

ARC: a metacomputing environment for clusters augmented with reconfigurable hardware

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

    Google Scholar 

  2. 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

  3. 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

    Google Scholar 

  4. Storaasli OO, Strenski D (2007) Exploring accelerating science applications with FPGAs. In: Proceedings of the reconfigurable systems summer institute, Urbana, Illinois, July 2007

    Google Scholar 

  5. DRC Computer Corporation (2007) DRC reconfigurable processor unit RPU110 family. Data sheet

  6. 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

    Chapter  Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Article  Google Scholar 

  12. 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

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Google Scholar 

  16. Jones MT, Langston MA, Raghavan P (1998) Tools for mapping applications to CCMs. In: Photonics East’98, Boston, Massachusetts, November 1998

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. Ahmadi M, Wong S (2009) A paradigm for reconfigurable processing on grid. Networks for Grid Applications 2:259–262

    Article  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. Morrison J, Kennedy J, Power D (2001) WebCom: a web based volunteer computer. J Supercomput 18:47–61

    Article  MATH  Google Scholar 

  27. 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

    Chapter  Google Scholar 

  28. Beck M, Pingali K (1991) From control flow to dataflow. Journal of Parallel and Distributed Computing 12

  29. Wall K, Von Hagen W (2004) The definitive guide to GCC. APress, New York

    Google Scholar 

  30. Intel Corporation (2005) Intel® C++ compiler for Linux reference

  31. Morrison JP (1996) Condensed graphs: unifying availability-driven, coercion-driven and control-driven computing. PhD thesis, Technische Universiteit Eindhoven

  32. Gurd JR, Kirkham CC, Watson I (1985) The Manchester prototype dataflow computer. Commun ACM 28(1):34–52

    Article  Google Scholar 

  33. Lutz M (2001) Programming python, 2nd edn. O’Reilly, Sebastopal

    MATH  Google Scholar 

  34. Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558–565

    Article  MATH  Google Scholar 

  35. Raynal M (1992) About logical clocks for distributed systems. Oper Syst Rev 26(1):41–48

    Article  Google Scholar 

  36. Stevens WR (1993) Advanced programming in the UNIX environment. Addison Wesley, Reading

    Google Scholar 

  37. 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

    Google Scholar 

  38. EDIF electronic design interchange format version 200 (1989) Electronic Industries Association, June

  39. Ashenden PJ (2001) The designer’s guide to VHDL, 2nd edn. Kaufmann, Los Altos

    Google Scholar 

  40. Moorby PR, Thomas DE (1998) The verilog hardware description language. Kluwer Academic, Dordrecht

    MATH  Google Scholar 

  41. Pellerin D, Holley M (1994) Digital Design using ABEL. Prentice Hall, New York

    Google Scholar 

  42. 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

    Google Scholar 

  43. 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

    Google Scholar 

  44. 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

    Google Scholar 

  45. Bjesse P, Claessen K, Sheeran M, Singh S (1998) Lava: hardware design in Haskell. In: International conference on functional programming, pp 174–184

    Google Scholar 

  46. Xilinx Inc (2004) Xilinx system generator v6.2 user guide

  47. Star Bridge Systems Inc (2004). Viva 2.4 user guide

  48. Celoxica Ltd (2002) Handel-C language reference manual version 3.1

  49. Grotker T, Liao S, Martin G, Swan S (2002) System design with system C. Kluwer Academic, Dordrecht

    Google Scholar 

  50. 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

    Google Scholar 

  51. 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

    Google Scholar 

  52. 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

    Google Scholar 

  53. 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

    Google Scholar 

  54. 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

    Google Scholar 

  55. Thompson A (1998) Hardware evolution: automatic design of electronic circuits in reconfigurable hardware by artificial evolution. Distinguished dissertation series. Springer, Berlin

    Google Scholar 

  56. Morrison JP, O’Dowd PJ, Healy PD (2003) Searching RC5 keyspaces with distributed reconfigurable hardware. Las Vegas, Nevada, pp 269–272

  57. Baldwin R, Rivest R (1996) RFC 2040: the RC5, RC5-CBC, RC5-CBC-pad, and RC5-CTS algorithms, October

  58. Xilinx, Inc (2002) Virtex-E 1.8V field programmable gate arrays production product specification, July

  59. Celoxica Ltd (2001) RC1000 Hardware reference manual

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philip D. Healy.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0634-0

Keywords

Navigation