HPCwire

Leading HPC
Solution Providers




















HPCwire >> Features

Reconfigurable Computing Prospects on the Rise


Page:  1  of  2
1 | 2   All  »  

With all the recent hoopla about GPU-accelerated HPC, reconfigurable computing with Field Programmable Gate Array (FPGA) has been getting proportionally less attention. While NVIDIA has led the GPU push in HPC, there is no single vendor in the reconfigurable computing space that has jumped into the driver's seat. That hasn't kept a variety of smaller players from trying.

Unlike GPUs -- or CPUs for that matter -- FPGAs require an unconventional programming model. This stems from the fact that the chip's logic elements must be custom-configured before applications can run on them. This process is accomplished via software, which in this case is used to implement the best-fit hardware design for the application code. This is not something the average programmer is trained to do. Some have likened it to writing assembly code, but it is actually worse that. It's more like designing the assembly language itself.

The attractiveness of FPGAs is that they can be custom configured to run specific application workloads efficiently. If a different workload needs to be run, the FPGA can be reconfigured accordingly. Switching configurations takes just milliseconds.

Like GPUs, FPGAs can offer as much as one or two orders of magnitude performance gain for certain applications and can do it with a fraction of the power consumption of a CPU-only implementation. While a perception exists that there is a battle between FPGAs and GPUs for general-purpose HPC acceleration, there's actually plenty of daylight between the two architectures that suggests different classes of applications would gravitate toward one or the other. For example, most bioinformatics applications, which are integer based and highly parallel in nature, are ideally suited to FPGA silicon, but would not be particularly applicable to GPUs. Image recognition (but not rendering), encryption/decryption, and FFT-based codes are also good fits for FPGAs.

The fact that FPGAs are standard gear in high performance appliances like market data feeds, network routers, military systems, and medical imaging devices points to their applicability for streaming HPC workloads. But since FPGAs are mainly intended for embedded platforms to replace or augment digital signal processors (DSPs) or other custom ASICs, their entry into the world of servers and workstations, where the majority of HPC is performed, has been relatively recent. Fortunately developments in the reconfigurable computing arena have been coalescing over the past couple of years to make life more hospitable for FPGA-based HPC acceleration.

Since 2006, the opening up of AMD's HyperTransport interface, via Torrenza, and the subsequent licensing of Intel's Front Side Bus (FSB) has made FPGA coprocessing a much more practical endeavor. Companies like XtremeData, DRC Computer, and Nallatech have picked up on this and developed FPGA expansion modules for x86-based platforms. Prior to this, only custom solutions such as SGI's RASC (Reconfigurable Application Specific Computing) technology and Cray's XD1 system were possible.  This relegated reconfigurable computing to research projects and government buyers with deep pockets. The ability to hook an FPGA onto an x86 system bus dramatically expands the market.

Making FPGAs socket friendly also gives the devices an interesting advantage over GPUs. While NVIDIA's Tesla and AMD's FireStream devices communicate to the host via a PCIe link, socketed FPGAs can talk to the CPU directly, using the native processor bus. This provides latencies on the order of 250 ns -- less than half what can be achieved over PCIe. Being on the bus also means an FPGA has peer access to the processor's memory and can operate without host intervention.

With FPGAs playing nice with x86 hardware, reconfigurable computing toolmakers such as Mitrionics, Celoxica, and Impulse Accelerated Technologies have been hooking up with the FPGA board makers and OEMs (like HP) to offer more integrated acceleration solutions. The toolmakers offer programming environments that allow developers to write C (or C-like) code that can be compiled into an FPGA logic design, which can subsequently be loaded onto the chip. Although this alleviates the developers from the more difficult task of doing low-level hardware design via VHDL or Verilog, even at this level the programming of FPGAs remains the most tenuous step in reconfigurable computing.

The fundamental problem is that the tools offered do not entirely shield the programmer from hardware design issues, nor do they use a standard programming environment. In the case of Celoxica, Handel C is used as a hardware design language to define the FPGA implementation. Similarly, Mitrionics invented Mitrion C, which employs the Mitrion Virtual Processor as an intermediate representation of the final hardware design. In both cases, these languages are not standard C in any sense, so they rely upon custom compiler, runtime and debugger technologies and force the customer to maintain vendor-specific source code.

Impulse Accelerated Technologies created Impulse C, which is compatible with standard C, but extends the language's capability with some extra data types and library functions for FPGA computing. This has the advantage of allowing the developer to maintain a C source base and use standard debugging tools for development. Once debugging is complete, the Impulse compiler is used to generate the FPGA bitmap image corresponding to the C code intended for acceleration. Impulse C is designed for streaming applications, but can be adapted for a shared memory model as well.

Page:  1  of  2
1 | 2   All  »  

Article Tools

  • Print This Page
  • Bookmark This Article

Share Options

(Digg, Technorati, more)


Subscribe

Discussion

There are 1 discussion items posted.  

Great Article
Submitted by llaurich on 12/04/2008 - 11:25AM


Michael,

Spot on. The article covers this key technology status quite accurately.

Good work,

Thanks,

Larry Laurich
CEO DRC Computer Corp

Post #1

Sponsored Links

New Paper: Parallel Computing Without Parallel Programming
Learn how domain experts can run VHLL programs like MATLAB® on a variety of high-performance platforms without low-level reprogramming and how to work with the largest datasets and complex algorithms without sacrificing ease of use or reducing productivity.



Top Headlines

3D Seismic Data: Taking a Smarter Approach to Interpretation

Jul 09 | Engineer Live | The demand for computational tools to underpin the 3D seismic interpretation process has never been more apparent. Read more...

Engineering Unemployment Soared in 2Q to 8.6%

Jul 08 | EE Times | Unemployment for U.S. engineers has reached record levels, according to government figures. Read more...

Gartner Adjusts 2009 IT Spend Downward Again

Jul 08 | Network World | Global spending for 2009 projected to drop 6 percent, for a total of $3.2 trillion. Read more...

Concurrent and Parallel Are Not The Same

Jul 08 | Linux Magazine | Portability or efficiency? Neither is guaranteed when writing explicit parallel code. Read more...

800 TFLOP Real-Time Ray Tracing GPU Unveiled, Not for Gamers

Jul 07 | Ars Technica | Japanese company builds custom ASIC to accelerate real-time ray traced rendering for the auto industry. Read more...

Featured Whitepapers

Parallel Computing Without Parallel Programming

Jul 10 | | Engineers, scientists, and other domain experts depend on the productivity enabled by very high-level language (VHLL) tools like MATLAB® and Python. However, as datasets grow larger and programs get more sophisticated, ordinary desktop computers can no longer keep up. The paper explores how to run VHLL programs on high-performance platforms without low-level reprogramming. Work with large datasets and complex algorithms without sacrificing ease of use or reducing productivity.

Building High Performance Computing in a Green and Modular Solution Building Block

Apr 14 | | Many HPC IT departments are feeling the rising pressure to deliver more capacity computing and performance while trying to reduce the total cost of ownership. This white paper discusses how an environmentally-friendly and open-standards HPC building block based computing system using flexible interconnect options helps address capacity computing needs.

Multimedia

Webcast: Dell Expands HPC Access and Adoption with Intel Cluster Ready Program


Source: Addison Snell, GM/VP, Tabor Research; sponsored by Dell

Many organizations that could benefit from the use of HPC clusters find that it is complicated to get the systems up and running because of limited IT resources or the complexities of the clusters themselves. Learn how the Intel Cluster Ready program, for which Dell was an original partner, seeks to address this challenge for entry level and mid-range HPC users.

Video White Paper: Architecting a Better Network Storage Solution

BlueArc's Titan architecture represents an evolutionary step in file servers by creating a hardware-based file system that can scale bandwidth, IOPS, and overall data capacity well beyond conventional software-based devices. With its ability to virtualize a massive storage pool of up to four usable petabytes of tiered storage, Titan can scale with growing data requirements, offering a competitive advantage for businesses, researchers, or other enterprises seeking to better manage data growth while still ensuring optimal performance.

Webcast: HPC Development Solutions: Sun Studio & Sun HPC ClusterTools


Sun Studio Compilers and Tools and Sun HPC ClusterTools allow you to create high performance parallel applications for OpenSolaris, Solaris and Linux. Sun Studio Express 11/08 includes MPI performance analysis capabilities and full OpenMP 3.0 compiler support. Learn about all this and the latest in Sun HPC ClusterTools 8.1.

Special Feature: ISC'09

Newsletters

Stay informed! Subscribe to HPCwire email Newsletters.






HPC Job Bank


Featured Events

WORLDCOMP 2009
Data Mining Courses