The latest Green500 list announced this week at SC10 is once again shining the spotlight on the energy efficiency of the world’s top supercomputers. But the path to more efficient high performance computing goes beyond this simple benchmark-based approach. Ralf Gruber and Vincent Keller, both from École Polytechnique Fédérale de Lausanne (EPFL), describe a holistic approach to more energy-efficient HPC operations in their book, [email protected] HPCwire contributor Steve Conway interviewed the Swiss duo about their ideas, including a new benchmark.
HPCwire: Why did you write a book on “green” high performance computing methods?
Ralf Gruber: There was no theory on how to couple application needs to hardware offers. In the book, we try to set up a theory by defining parameters to characterize resources and applications. This parameterization is then used to develop models to predict if a computer architecture is well suited for an application or not. These models can also be used to detect poor application implementations, to redesign computer architectures, to detect resources that should be switched off, to run on the same resource two or more complementary applications that optimally use the different parts, or to simply recognize the best-suited machine for a given application.
Vincent Keller: Finally, we used these models to interact with the DVS-able processors in order to tune the frequency of the processor. Measurements on a Nehalem already show overall energy reductions of up to 30 percent for main memory access-dominated applications.
HPCwire: You make recommendations in several areas. What are your application-oriented recommendations?
Gruber: Together with an efficient monitoring, the parameterization of the applications leads to models that are used to understand how well an application runs on different computers. The models — for instance the one on the complexity — also help to detect an unexpected behavior that can then be corrected.
Keller: We also make a recommendation to the vendors and the main HPC actors to create a new application-oriented REAL500 list, based on the observation that the current TOP500 list is largely used for marketing purposes and does not reflect the real applications anymore. At a certain point, it is counter-productive for making better usage of large-scale architectures.
HPCwire: How about your recommendations for system software?
Keller: System software should be able to easily measure the behavior of an application. Also, it should then be possible to act on the hardware parts during execution, such as switching off unused cores, reducing resource frequencies, or disabling unused main memory.
HPCwire: Sum up your recommendations for reducing energy use.
Keller: Energy reduction can be achieved through improving the efficiency of the application, through frequency reductions — four times more resources running at four times smaller frequency consume four times less energy — and by switching off unused parts, or by choosing a better-suited computer for the application to run on.
HPCwire: You mention that the TOP500 list and the derivative Green500 list are based on the narrow High Performance Linpack benchmark. What do you propose as an alternative to better measure energy efficiency?
Gruber: The parameterization and the models described in the book enable people to predict the behavior of an application on a different hardware platform, if one knows some timings of a few characteristic test applications. Thus, it would be perfect to perform measurements of processor, main memory, and network test cases for which the application-oriented parameters are exactly known.
Keller: Typical test cases are applications such as matrix*matrix-dominated, HPL-like codes, matrix*vector-dominated codes that are iteratively solved, Poisson problems described by sparse matrices, multicast communications dominated CP2K codes, and point-to-point-dominated, SpecuLOOS codes. Then, it would be possible to predict the behavior of your own application on the new hardware.
Keller: As a consequence, the new REAL500 classification would not be based on a single value, as is the case with today’s TOP500, but on several metrics, including pure CPU performance, the ratio of CPU performance to memory bandwidth, multicast communication performance, point-to-point communication performance, and network latency. At this point, knowing the applications ecosystem, it is possible to choose the right machine, or a set of the right machines to fit to the application component needs and achieve the greenest, most performant results.
HPCwire: Worldwide studies by IDC and Avetec showed that 69 percent of HPC datacenters do not actively measure energy efficiency today, and 80 percent have no strong mandate to improve energy efficiency. What will change this situation?
Keller: As a first comment, if 69 percent of the centers do not measure the energy, it is understandable that 80 percent of them have no mandate to improve energy efficiency. By providing them the right tools to show that it is possible to reduce the energy bill for hardware and cooling with no loss of computational performance, we are convinced that their financial departments will consider the question as important and act. The situation is already on a wind of change. It is not uncommon to see a datacenter that would like to extend its computing capacity but cannot because of a power supply limitation. The demand in computing power increases, but energy consumption should not.
HPCwire: John Gustafson of Intel Labs says that by 2018, we’ll have an exaflop computer and the memory bandwidth will consume half of the power. How important is it to create new strategies to minimize data movement?
Gruber: Main memory is already the big issue now. When we reduce the frequency of the processor during execution, for instance on a Nehalem, the main memory consumes most of the energy, and this happens not only in 2018. The major problem is the small parallelism in data access. We should highly increase access parallelism by increasing the number of memory banks as in the old vector machines, and by increasing the bit stream. Then, it will be possible to decrease the frequency and the energy consumption.
HPCwire: Is cloud computing more or less energy-efficient than in-house computing?
Keller: Cloud computing is a buzzword. It is little more than grid computing plus a business model, and the latest strategy of scientists to raise funding for academic research. Grid computing was a big dream and a big failure. Why? Because the question of “who pays?” was never taken into account.
Cloud computing is different in that sense. A provider gives a certain quality of service: “I will provide you 1 gigaflops with a memory bandwidth of 1 GB/second for $1/hour.” Thanks to virtualization, the cloud computing providers, such as Amazon, Salesforce or Google, can offer computing power to their customers at a lower price, with multiple customers on the same hardware. We’ve known since the mainframe era that shared resources are cheaper and more energy-efficient than distributed resources that are left idle part of the time. In that specific sense of re-implementing old concepts, cloud computing could be more energy-efficient than in-house computing.
Last but not least, the data transfer from the customer to the provider and back is not taken into account in the final bill. It is more or less like living in Geneva: Swiss people know that food is less expensive in France than in Switzerland, but they have to take into account the round trip. How much food would make it less expensive, with the transport costs included, to buy in France rather than in Switzerland?
HPCwire: What tips do you have for choosing a new supercomputer that will use energy wisely?
Keller: In a recent publication , we propose a GPU-based supercomputer that uses only a few cores, with the others switched off, and runs these at a four times lower frequency, This would reduce energy consumption by a factor of 16. To compensate for the performance reduction, four times more units must then be purchased. Together with the fact that the amount of main memory per processor can be reduced by a factor of four, the overall energy consumption can be estimated to drop by an overall factor of nine, and this by simply downgrading the resources.
Gruber: We also realized that the overall costs over four years could be cheaper for the downgraded hardware. In addition, decreasing the temperature by about 30° C increases the MTBF by a factor of 8. This is another important issue for exaflop machines. We were told that multiplying the number of functional units by four is unacceptable. We believe that running with one million of cores or with four million of cores is not an issue, but consuming nine times less energy, and increasing MTBF by eight are very important issues. The question we have to ask the hardware companies is clear: Will they agree to downgrade their computers to increase energy efficiency?
 Keller, V. and Gruber R. One Joule per GFlop for BLAS2 Now!, ICNAAM 2010 proceedings, pp. 1321-1324, ISBN: 978-0-7354-0834-0