In the data center, the quest for greater performance — while keeping power, cooling and space concerns in check — is providing significant challenges for companies. According to a recent Environmental Protection Agency report, power use in data centers doubled from 2000 to 2006 and now accounts for about 1.5 percent of U.S. electricity consumption. Faced with an array of increasing complex challenges, data center managers may do well to take a look at hardware accelerators as a means to achieve more application performance, in less space and with less power.
Accelerators offer scientists, engineers and analysts a way to offload computationally intensive sections of applications to co-processors that are designed to perform a subset of the functions of a general purpose processor, but run them at higher speed, providing massive jumps in performance. In addition, these processors, specialized for computational tasks, consume less power and cooling resources while dramatically reducing the footprint in the data center.
“Accelerators can help address the need for higher performance with more efficient use of power and space, saving data center resources” says Glenn Lupton, engineering team leader in HP’s Accelerator Program.
Question: There are a number of accelerators in the market today. Can you give us a breakdown by type?
Lupton: One of the most common accelerators in use today are Graphics Processing Units (GPUs), highly parallel processors capable of 100’s of gigaflops per second that were originally designed to accelerate graphics applications, but now include special features for high-performance parallel computing. Competition among the GPU vendors for market share in the personal computer (PC) graphics gaming market has driven technological advancements in graphics cards. Researchers have been investigating their usage for high performance computing for a number of years with success in many areas with large-scale deployments starting this year. Both AMD and NVIDIA have product lines specialized for high-performance computing, specifically NVIDIA Tesla and AMD Stream. Field Programmable Gate Arrays (FPGAs) have a history of being used to implement special purpose circuits. They are now being applied to high performance computing problems. Application Specific Integrated Circuits (ASICs) provide custom silicon for accelerating high performance computing.
Question: What are the advantages of GPU-based accelerators?
Lupton: The latest NVIDIA Tesla GPUs can provide up to a teraflop of performance in a single GPU, theoretically. In 2U of rack space, you can put a 1U dual quad core server and a 1U GPU box with 4 GPUs, giving you potentially over 4 teraflops in 2U.
GPUs offer a lot of computing power for the amount of rack space that they occupy, but GPUs benefit from host servers that can deliver multiple, high-bandwidth PCI Express slots. Not many servers can meet these requirements. The combination of the HP DL160G5 1U server and the NVIDIA Tesla S870 and its follow-on, the Tesla S1070, is an excellent match of server with GPU and customers can team one or two DL160’s with the S870, depending on the ratio of GPUs to CPUs needed for an application.
The GPU vendors, NVIDIA and AMD/ATI, are providing programming tools and libraries for their specific products. An alternative, RapidMind, provides a product for programming both GPU and multi-core targets.
Question: What do custom ASIC accelerators offer?
Lupton: ASICs can provide application acceleration without impacting power, cooling or space requirements. ClearSpeed’s Advance e710 and e720 accelerators deliver peak 96 gigaflops of 64-bit, double precision performance, ECC error correction, require no additional space and consume minimal additional power, about 25 watts. ClearSpeed has measured over a 50 percent performance increase on HP BladeSystem c-Class server blades running Linpack. ClearSpeed libraries can boost application performance with no application changes and their cards go into otherwise unused PCI Express slots in servers. The ClearSpeed Advance e720 card is available on HP BladeSystem c-Class servers and the e710 goes into standard 8x PCI Express slots in HP ProLiant rack mount servers.
Question: What about FPGAs?
Lupton: FPGAs allow developers to create custom circuits tailored to the computational core of a particular application. They achieve performance through parallelism and pipelining versus a high clock speed. This enables them to deliver high performance per watt. However, it is much harder to implement a solution on an FPGA than on a GPU or ASIC, especially if you are a software engineer. But this is an area that is getting a lot of attention now, and a number of companies such, as Mitrionics, are working to ease this task. Mitrionics offers a processor and development environment that turns FPGAs into useful accelerators without requiring electronic design expertise.
FPGAs can be added to a server in a variety of ways: most commonly, into a PCI Express slot or a processor socket. By substituting an FPGA module for a processor, you can improve application performance while consuming less power.
HP is working with a number of FPGA vendors to ensure that customers can get the right solution for their problem. For example, HP is working with XtremeData, Inc. (XDI) for in-socket modules for CPU sockets, Nallatech for PCI Express modules, and Celoxica for HTX slot modules.
Question: What applications are best suited for accelerators?
Lupton: There are a couple of characteristics of applications that generally accelerate well. The application’s compute kernel needs to account for a significant part of the application’s total run-time. A 10x improvement on 10-20 percent of the application run-time will likely not be worth the effort of porting to the accelerator. The computation should be performing many calculations using a relatively small amount of data. If the computation touches lots of data, getting data to and from the accelerator will be a bottleneck and you won’t get an advantage from the accelerator’s performance. And, of course, you need to have a problem solution that can be parallelized, since accelerators rely on parallelism for their performance.
Question: Where is acceleration working?
Lupton: The use of accelerators is in various stages ranging from investigation to commercial use. Overall, they are in the early stages of adoption with a number of end-user products coming to market and accelerated systems being put into production.
Financial services organizations are using accelerators in option pricing, risk modeling, and other computationally intensive functions where time is critically important. Biosciences are using accelerators for genetic sequencing, computational chemistry, molecular dynamics, and drug discovery. Government agencies world-wide have been using accelerators for searching and encryption. Additionally, the oil and gas industry is using accelerators for seismic data analysis and processing using reverse time migration for imaging subsurface geological structures in oil exploration as they seek to locate new energy reserves. Medical equipment manufacturers are looking to accelerators for medical imaging modalities such as Computerized Axial Tomography (CAT) scans, Magnetic Resonance Imaging (MRI) and ultrasound diagnostics. The electronic design automation industry has also started to use accelerators and technical tools, such as MATLAB for numerical computations and graphics, and LabView, which uses a graphical programming language to create programs in block diagram form. Lastly, video transcoding times can be greatly reduced via acceleration.
Question: Where are the biggest problems with accelerators today?
Lupton: Because there are so many options and so little commonality in how one develops for different accelerators, thorough investigation is needed before a company commits to using an accelerator. An investigation needs to include a port of the computation kernel to the target accelerator, a task that can range from a month or two to over a year, depending on the learning curve for the technology, the complexity of the problem, and the difficulty of the parallelizing and tuning effort.
Another issue is that the technology is changing rapidly. Factors influencing your choice and even the set of vendors will evolve even while an investigation is in progress. Some of the risks can be reduced by understanding recent successes in porting similar problems, and learning the roadmap of the accelerator vendor and related software products.
But one doesn’t always have to tackle the problem this way. Accelerators are being offered by third-party vendors who incorporate accelerators into devices and hardware/software packages targeting a wide range of problems. These “appliances” can be deployed with much less risk and much more quickly than rolling your own solution. Other companies offer development services for a variety of accelerators so you can outsource the work.
While there are challenges, if you can use accelerators to speed your time to solution while reducing or at least holding to your current power and space limitations, it will help your bottom line and your carbon footprint. If you don’t keep on top of what is happening in the accelerator space, you risk your competition getting a jump on you.
Question: What is HP doing to enable solutions with accelerators?
Lupton: HP established the Accelerator Program based on open standards and accelerator industry partnerships. The goal of the program is to ensure that third-party accelerators will work with HP BladeSystem and rack-mount ProLiant servers and to provide services and support to customers as they adopt accelerator technologies. Our Accelerator team provides recommendations to customers on choosing the accelerator technology that makes the most sense for their applications, while being mindful of power, cooling and space requirements.
“Accelerators can offer substantial speed boosts to applications, but not without investments in reprogramming,” says Kent Koeninger, Product and Technology Marketing Manager. “HP’s Accelerator Program offers expert advice, testing and benchmarks on how to use accelerators, which applications can offer the best payoffs and what techniques are proving useful in this fast-emerging field.”
Question: In the future, how might accelerators fit into Cloud computing?
Koeninger: We are experimenting with accelerators for dramatically faster database access using lower power and fewer servers. We also see promise from accelerators that may improve web transaction rates on multi-core servers. XML searches and encryption are also strong application candidates.
Question: Where can folks get more information on HP’s Accelerator program?