January 21, 2014 - by Simone Ulmer
Torsten Hoefler has a PhD in computer science, is 32 years old and has been an Assistant Professor at ETH Zurich for one year now. When he talks about his work, he clearly shows his enthusiasm for his field but also for hardware and research with supercomputers. “I want to be world-class in what I do”, says Hoefler. Many of his colleagues feel that he already holds this position in high-performance computing (HPC). His short, meteoric career took him from Chemnitz Technical University where he graduated, on to a PhD at Indiana University, a position as Adjunct Assistant Professor at the University of Illinois and from there to ETH Zurich. Honours and awards adorn his office and they confirm that his work has earned him considerable recognition and respect in the expert community.
Success through cooperation
In conversation Hoefler shows his awareness of the fact that it is not possible to be as good in all research areas as in one’s own. He comments that because high-performance computing applications and hardware construction are closely linked to his work as a computer scientist, it was essential for him to work hand in hand with computer centres, the scientific users of supercomputers in the most diverse areas of research and hardware manufacturers.
This cooperation, a foregone conclusion for him, was alien to the community for a long time. Computer science differs considerably from high-performance computing where in some cases natural scientists engineers and, to an increasing degree, social scientists are active who are far removed from computer science. The users solve complex problems with hardware and software developed by computer scientists. Hoefler would like to draw together the two worlds through his work and his commitment. His goal is to make both supercomputer hardware and software more efficient through close cooperation.
He did not choose ETH Zurich and Switzerland as the location for his research by chance. He saw the best opportunities here for this kind of high-level cooperation under the best possible conditions. Here there were many important users, for instance, in the area of fluid dynamics, the molecular sciences or climate and earth sciences. In particular with the new supercomputer “Piz Daint” at the CSCS high-performance computing centre, Switzerland was on a par with the USA regarding technology and years ahead of many other computer centres. “Switzerland is really in the Formula 1 race when it comes to high-performance computing” he says with conviction.
Another special feature was that the use of the supercomputer at CSCS was actively promoted here and the users benefited from close support. For instance through High Performance and High Productivity Computing (HP2C) and, more particularly, through its follow-up project “Platform for Advanced Scientific Computing” (PASC). In other countries it was, by contrast, normal for the users to have to work out for themselves how they would get their software up and running on the new architectures. Users from non-computer sciences often lacked the necessary background and hence efforts to adapt the codes and algorithms in an optimum manner to new systems didn’t always succeed. Inefficient codes, however, cost money and above all energy.
Establishing parallel computer operations
This is exactly where Torsten Hoefler’s Scalable Parallel Computing Lab comes in. The team increases computer efficiency through the software that issues the computing commands. The central method for this today is parallelism: as many computing operations as possible should be undertaken in parallel by spreading the work over as many processors as possible.
“Our objective is to establish how we can place high-performance computing applications on highly parallel systems with several million processors”, stresses Hoefler. For physics reasons systems of this kind belonged to the future. Constantly increasing the clock speed of computers was not an efficient solution. This is because a processor’s clock speed is dependent in a linear manner on the voltage applied whereas energy consumption rises quadratically when the voltage increases. “When I halve the clock speed, I can run around four times as many processors on the same level of energy consumption”, explains Hoefler.
Increased efficiency saves millions
To achieve his goal Hoefler and his team are heavily involved in work on the main programming environment for scientific computing, the Message Passing Interface (MPI). One approach involves keeping to a minimum all operations on a processor that do not contribute directly to the solution. This saves time, energy and, by extension and in particular money. Millions can easily be economised in the field of supercomputing by increasing efficiency. With their know-how Hoefler and his team would, therefore, like to ensure that the supercomputer generation that comes after “Piz Daint” will also offer even better performance and even greater efficiency.