Cray’s Jaguar, the world’s fastest supercomputer, runs at 2.3 petaflops, able to perform more than 2 million billion calculations in a second. Your desktop computer or laptop likely processes 2 billion calculations a second, although the measurement of performance for a supercomputer is not the same as the measures of performance for a personal computer or even a server grouped in a data center. However, no matter how much more powerful a supercomputer might be than your average machine, the goal is always to make it faster.
The supercomputing industry strives to triple performance every 10 years, which means the industry needs to deliver an exaflop of performance (a billion billion calculations per second) by 2017. However, instead of doubling the number of transistors on a chip every 18 months, as Moore’s Law demands of semiconductor manufacturing firms hoping to increase performance in chips, building an exascale computer will require the industry to address challenges such as power consumption of the systems, basic software design and even the ways such systems are checked for failure and accuracy.
Despite the fact that Al Gore is scheduled to give the keynote at the industry’s 2009 trade show this week, the search for energy-efficient supercomputers is still a sideshow, brought about not by concern for the impact of supercomputers on the environment, but rather by the economic and physical realities associated with getting more performance.
Supercomputers are designed to run at optimal speeds, and like a race car, anything superfluous is stripped out for the sake of better performance. (To a lesser extent, the same holds true for the more common domain of high performance computing, which is used by financial institutions, automotive firms and life sciences companies to process transactions in milliseconds, design cars virtually, and test a dizzying array of chemical formulas in a search for the next wonder drug.) That means energy use concerns that have spurred the construction of green data centers or sacrificed server performance for the sake of shaving off a few watts, have been mostly distant from the supercomputing race. However, getting to exascale computing will require a rethinking of energy consumption. Some experts estimate that an exascale computer could consume between 250 megawatts and 1 gigawatt of power, which is equivalent to the amount of power generated by a medium-to-large power plant.
David Turek, VP of Deep Computing, IBM Corp., says that, at the exascale level, folks are now thinking about the computer’s energy consumption in all of its individual parts. When you take an inefficient system and try to make it bigger by simply multiplying the existing components, you’re left with a computer that sucks up too much power and takes up too much space. “The chickens are coming home to roost for the industry,” Turek said. “We’ve talked about these issues for the last two years now, and these issues are not going to get resolved though the passage of time. There will be real radical breakthroughs necessary given the untenable nature of cost and energy consumption.”
One of the ways IBM and others are trying to address energy efficiency without sacrificing performance is through the use of accelerator chips such as graphics processors from Nvidia and the Cell processor built by IBM. These chips perform scientific workloads more efficiently then x86 processors. Last November, a supercomputer using GPUs made it to the Top 500, the list of the world’s fastest supercomputers, for the first time ever. There are also two GPU-based systems being built for the U.S. government. Such computers can consume 50 percent less energy. IBM’s Roadrunner, the current No. 2 system on the Top 500, delivers about 445 megaflops per watt and is the most efficient supercomputer on the list, in part because it uses its Cell processors in addition to x86-based chips from AMD. There are also efforts underway to produce supercomputers using the ARM-based processors found inside cell phones and other types of hybrid machines to achieve these same efficiencies.
Those realities are also creating challenges for programming supercomputers, caused by trying to figure out how to tell so many cores what to do and how to give the cores enough access to memory. Parallelizing code is one way to tell multiple cores how to think together, and researchers from Intel and Microsoft to academia and government are working all the time to make that easier. However there’s another issue for programmers — the amount of memory that a programmer can let each core access needs to change.
As supercomputers move to millions of cores, the cost and energy consumption of providing sufficient memory to store the information needed to perform the calculations becomes prohibitive, since the number of cores can expand far faster than the price of memory has dropped. As a result, Turek of IBM suggests, supercomputers may have to return to the days of a few hundred megabytes of memory per core (currently computers can access a gigabyte or two of memory per core). That shift would place limitations on software developers.
The myriad processor cores also create other hardships for folks trying to program and allocate resources to high performance computers, simply because it would be impossible to track and tweak so many cores. The solution to this is a form of reverse virtualization. In a corporate data center environment, virtualization turns one machine into many smaller machines, but in supercomputing, virtualization takes many servers and makes them look like one giant machine. Scale MP and RNA Networks are building software that helps with this.
The Trickle-Down Effect
John West, Special Assistant to the Director for Computation Strategy at the Information Technology Lab for the U.S. Army Engineer Research and Development Center and the editor of HPC Wire, thinks that because of the ability to transmit more data in real time (enabled in part by ubiquitous and fast broadband networks) means that high performance computing will move ever closer to the average citizen. While most of us may never have a supercomputer or HPC-capable machine on our desktop (they do exist, though), hospitals and even local governments may use them to monitor everything from the health of citizens within their municipalities to that of their infrastructure. West outlines a world where information flows freely from a network of sensors, as well as inputs from consumers and businesses and databases, and is then aggregated and compiled in ways that deliver insights about our physical infrastructure, weather, overall community health and even crime. The vision is a common one and high-performance computing could help make it a reality.
As crunching data in real time transitions from the high-end trading efforts on Wall Street to every type of company, lessons learned in the HPC world will continue to filter down to the data center, Turek says; web-scale computers running Facebook and crunching user data will eventually share the same genetic code as the HPC systems on Wall Street. However, because issues of latency are far less important in distributed computing environments that support services delivered via the web, they will be distant cousins to supercomputer rather than siblings. But just as the journey to the moon helped usher in a whole era of discoveries that helped advance the nation’s use of technology, the move toward exascale supercomputing will lead to discoveries that could help shape the future of computing to produce greener and faster machines.