Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Axel: a heterogeneous cluster with FPGAs and GPUs
Tsoi K., Luk W.  FPGA 2010 (Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, CA, Feb 21-23, 2010)115-124.2010.Type:Proceedings
Date Reviewed: Jun 4 2010

Hardware accelerators are widely used in high-performance computing (HPC) and dominate the computer clusters in the TOP500 supercomputer list (http://www.top500.org/). A heterogeneous cluster consisting of different accelerators provides better performance, as certain tasks can be mapped to specialized accelerators, achieving cumulative application speedup. However, there are challenges in this approach: communication efficiency, workload balancing, and application portability.

The communication inefficiency is due to the slow and high-latency bus connecting the hardware accelerators to the main processor. Tsoi and Luk introduce Axel, a heterogeneous cluster consisting of field-programmable gate arrays (FPGAs) and graphics processing units (GPUs). Axel uses the peripheral component interconnect express (PCIe) system bus to communicate between the FPGAs and GPUs. There are two levels of communication between the nodes: on a system level, the nodes communicate through the gigabit Ethernet interface, and the FPGAs have a second internode network using high-bandwidth InfiniBand cables.

The authors partition the application dataset into subsets that are processed by the different nodes; it is not clear if this is done automatically. The application is rewritten using a MapReduce framework and partitioned into different tasks targeted on FPGAs and GPUs. Tsoi and Luk introduce a hardware abstraction model that captures the computation, local memory, and communication requirements of each processing element (PE). If the model does not meet the performance constraints of the application, the data/task partitioning steps are repeated. The system uses a message passing interface (MPI) layer for data initialization and communication. The authors demonstrate the efficiency and the performance of this heterogeneous cluster using an N-body simulation example. They implement the application using the following configurations: a single-thread central processing unit (CPU), a multithread CPU (using OpenMP), a GPU, an FPGA, and a collaborative execution with single node/multiple nodes. During collaborative execution, the bottleneck results from the latency of the slowest PE to complete the execution and synchronization efforts between the processes mapped to the FPGA and GPU. The pipelined FPGA implementation of the N-body simulation uses only three percent of the logic resources. This enables ten copies of the pipelined path to fit on a single FPGA, achieving 10-core parallelism. Therefore, the 10-core FPGA implementation provides the fastest acceleration individually for the N-body simulation and, at the same time, required over a month of development time.

Overall, this is a good starting point for researchers who are looking to accelerate HPC applications using heterogeneous clusters. It provides a clear picture of parallelism in FPGAs and GPUs.

Reviewer:  Vivek Venugopal Review #: CR138074 (1104-0401)
Bookmark and Share
  Reviewer Selected
 
 
General (C.5.0 )
 
 
Logic Arrays (B.6.1 ... )
 
 
System Architectures (C.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Operating systems
Stallings W., Macmillan Publishing Co., Inc., Indianapolis, IN, 1992. Type: Book (9780024154811)
Jun 1 1993
Mini and microcomputer systems
Hartley M., Healey M., Depledge P., Macmillan Press Ltd., Basingstoke, UK, 1988. Type: Book (9789780333417591)
Oct 1 1989
Programming with transactional coherence and consistency (TCC)
Hammond L., Carlstrom B., Wong V., Hertzberg B., Chen M., Kozyrakis C., Olukotun K.  Architectural support for programming languages and operating systems (Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, USA, Oct 7-13, 2004)1-13, 2004. Type: Proceedings
Jan 11 2005
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy