Visit additional Tabor Communication Publications
July 14, 2006
With all the talk of heterogeneous supercomputing over the last few years, one might get the impression that a revolution is on the horizon. Certainly, some in the industry have portrayed it as such. Non-scalar vector processors, coprocessor accelerators, MTA processors and FPGAs are available today and can offer tantalizing performance for targeted HPC workloads. The general idea behind heterogeneous processing is that a system containing different kinds of compute engines can be matched up with the type of code that runs most efficiently on them, increasing overall application performance.
From an evolutionary standpoint, heterogeneous processing makes sense. As systems become more complex, a greater amount of architectural specialization is required. This appears to be true for both man-made systems and biological systems. Compare the sophisticated structure of the human brain with the simple bundles of neurons that control many primitive invertebrates.
In the scheme of things, today's computers are still rather primitive themselves, but they already contain many heterogeneous elements. At the level of the chipset, specialized I/O and memory controller devices are commonly used to manage an increasing array of data sources and destinations. Computer memory has differentiated into distinct types, the most common ones being RAM, ROM and cache (3 levels). The CPU has remained as one of the last general-purpose components of the system. But as applications -- especially HPC applications -- become more complex and more demanding of computational performance, the pressure to tap other types of processing engines will increase.
FPGAs (Field Programmable Gate Arrays), in particular, have been getting a lot attention lately. They have gained a loyal following in the supercomputing community because they are reconfigurable, have wide applicability for HPC applications, and are commodity-based. And unlike coprocessors, vector processors and MTA processors, FPGAs are more general-purpose compute engines.
The growing interest of the HPC community in IBM's Cell chip is another example. Although the chip contains both a scalar (PowerPC) CPU and vector compute engines, it is not considered a true heterogenous processor itself. The scalar CPU is used to control the vector cores and manage the chip's memory hierarchy, rather than for computation. But theoretically the Cell could be used an additional compute resource within a conventional scalar-based system.
All of these non-scalar processors have one thing in common: compared to commodity CPUs, there is not much code support for them. So the software will have catch up. And that's not going to happen overnight.
Today, the HPC software community is focusing much of its energy on applying code parallelism to scalar processors. Homogeneous multi-core architectures are currently in the driver's seat in high performance computing, as it will soon be in almost all IT markets. This trend is likely to continue for some time. High-volume 64-bit processors that are supported by mature software ecosystems, such as the AMD Opteron and the Intel Xeon (and to a lesser extent, POWER/PowerPC and Itanium), are delivering economical supercomputing performance for the masses. The fact that other microprocessor architectures may be faster, cheaper or more energy-efficient than industry-standard hardware doesn't have much impact on the market until someone figures out a way to mainstream the newer technology.
That usually means developing the appropriate software support for these exotic processors. And if the goal is to integrate that hardware into a truly heterogeneous system, a la Cray's "Adaptive Computing" vision, it will also involve the much more challenging problem of managing heterogeneity in system software. Our own High-End Crusader addressed this issue just a few weeks ago in the article title "Heterogeneous Processing Needs Software Revolutions."
To its credit, Cray is the only company that has offered a vision of integrated heterogeneous computing, both in hardware and software. But currently it's just a vision, not a product. Even the "Baker" petaflops system they plan to deliver to ORNL in 2008 is a homogeneous Opteron-based machine. Cray will implement their heterogeneous Cascade architecture when and if DARPA selects them for Phase 3 of the HPCS program. But the company says it intend to move forward with their Adaptive Computing roadmap whether they continue with HPCS or not. They believe that the next generation of high performance applications will require a variety of specialized compute engines to obtain reasonable performance (and use reasonable amounts of energy). Cray appears to be committed to that vision.
Other HPC vendors are venturing into the heterogenous space as well. SGI's Reconfigurable Application Specific Computing (RASC) technology represents their advanced FPGA solution. Sun Microsystem's recently deployed TSUBAME supercomputer incorporates ClearSpeed coprocessors (not in use yet, however) as part of that system. Other OEMs may come out with their own solutions in the next few years as software libraries and programmer development environments that support these new processor types become available.
But a heterogeneous architecture "revolution" seems unlikely while homogeneous multi-core architectures are so dominant in the commercial space. Revolutions usually start because the masses are unhappy, and that is not the case today. An "evolution" is far more likely and it is currently in progress. The mainstreaming of heterogeneous systems will happen sooner or later because parallelism, itself, has its limits. Bandwidth, memory access, and software scalability are already inhibiting performance on even moderately scaled systems (thousands of processors). Once we start building petaflops machines, these limitations will become even more aggravating. Heterogenous computing offers a way forward. Join the evolution!
As always, comments about HPCwire are welcomed and encouraged. Write to me, Michael Feldman, at firstname.lastname@example.org.
Posted by Michael Feldman - July 13, 2006 @ 9:00 PM, Pacific Daylight Time
Michael Feldman is the editor of HPCwire.
No Recent Blog Comments
In quieter times, sounding the bell of funding big science with big systems tends to resonate further than when ears are already burning with sour economic and national security news. For exascale's future, however, the time could be ripe to instill some sense of urgency....
In a recent solicitation, the NSF laid out needs for furthering its scientific and engineering infrastructure with new tools to go beyond top performance, Having already delivered systems like Stampede and Blue Waters, they're turning an eye to solving data-intensive challenges. We spoke with the agency's Irene Qualters and Barry Schneider about..
Large-scale, worldwide scientific initiatives rely on some cloud-based system to both coordinate efforts and manage computational efforts at peak times that cannot be contained within the combined in-house HPC resources. Last week at Google I/O, Brookhaven National Lab’s Sergey Panitkin discussed the role of the Google Compute Engine in providing computational support to ATLAS, a detector of high-energy particles at the Large Hadron Collider (LHC).
May 23, 2013 |
The study of climate change is one of those scientific problems where it is almost essential to model the entire Earth to attain accurate results and make worthwhile predictions. In an attempt to make climate science more accessible to smaller research facilities, NASA introduced what they call ‘Climate in a Box,’ a system they note acts as a desktop supercomputer.
May 22, 2013 |
At some point in the not-too-distant future, building powerful, miniature computing systems will be considered a hobby for high schoolers, just as robotics or even Lego-building are today. That could be made possible through recent advancements made with the Raspberry Pi computers.
May 16, 2013 |
When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
May 15, 2013 |
Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.
The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.