UPDATE: Listen to this week's IEEE Spectrum podcast to learn more about the Chinese supercomputer and the Top 500 list. Host Steven Cherry talks with Jack Dongarra, the University of Tennessee computer science professor and IEEE Fellow who is one of the organizers of the Top 500.
Take a look at the machine above. It's the world's most powerful computer and it belongs to China, according to the latest edition of the Top 500 list of fastest supercomputers, unveiled yesterday.
China's Tianhe-1A system at the National Supercomputer Center in Tianjin achieved a performance of 2.57 petaflops (quadrillion floating point operations per second), taking the title away from the Cray XT5 "Jaguar" system, rated at 1.759 petaflops, at the U.S. Department of Energy’s Oak Ridge National Laboratory.
There are two main design aspects in the Tainhe-1A system that stand out. First it uses more than 7,000 graphical processing units, the number-crunching accelerators known as GPUs. Other supercomputers have been using GPUs for a while, but this is the first time that the No. 1 system is a GPU-based design. It's also interesting to note that these are not Chinese-designed chips; China got them from U.S. chip maker Nvidia. The second interesting thing about the Tianhe-1A is that it uses a custom interconnection fabric to move data between all those GPUs. It seems that the Chinese engineers were able to make this proprietary interconnect very fast. How fast?
I spoke to Tarek El-Ghazawi, a professor of electrical and computer engineering at George Washington University and co-director of the NSF Center for High-Performance Reconfigurable Computing. El-Ghazawi, who was recently at a NSF meeting with computer scientists in China, tells me that the Chinese interconnect appears to achieve 160 gigabits per second, which is roughly twice as fast as QDR InfiniBand, the fastest interconnect technology commercially available in the United States. As for how the Chinese were able to pull this off, details haven't emerged, Dr. El-Ghazawi says.
This is the second time the United States has lost the No. 1 position in the past 10 years. The first time was in June 2002, when Japan's Earth Simulator supercomputer took the top spot and remained there for more than two years. That development shook the U.S. supercomputing community. At the time, a great number of researchers believed that clusters built from cheap commodity parts would suffice for most supercomputing needs and that research in new architectures shouldn't be a priority.
The United States responded by investing heavily into high-performance computing research, particularly through DARPA's High Productivity Computing Systems program, with funds of nearly US $1 billion. At about the same time, IBM began designing its Blue Gene series, and a version of that system, the Blue Gene/L at the Lawrence Livermore National Laboratory, unveiled in 2004, reclaimed the No. 1 spot.
Now news of the Chinese supercomputer leaping ahead is again shaking the U.S. scientific community. At a post-election press conference, U.S. President Barack Obama said, “We just learned that China now has the fastest supercomputer on Earth. That used to be us. They’re making investments because they know those investments will pay off over the long-term.”
But Dr. El-Ghazawi notes that the ranking could change again soon. He says that next year IBM will unveil a new powerful system called Blue Waters and in 2012 Japan is expected to introduce its massively parallel K Computer, built by Fujitsu. Both Blue Waters and the K Computer are designed to perform at more than 10 petaflops.
It's also important to emphasize that rankings like the Top 500 don't tell the whole story. To be sure, they are useful benchmarks, but they are not always representative of real-world applications. Though some problems (like climate modeling) work well in current supercomputers, other applications (like data mining) don't. In other words, even if you have the world's fastest supercomputer, it's going to be pretty much useless if you can't program it to solve practical problems. It turns out that writing programs for these machines remains one of the field's toughest problems. It would be nice to see more progress in this area.