The EUREKA ITEA 2 software Cluster ParMA project has developed advanced technologies to exploit multicore architectures in semiconductor chips and so deliver substantial performance improvements for high-performance computing (HPC). ParMA technology has established new goals in modelling and simulation and enabled the development of innovative computer-intensive applications to accelerate research in many domains. It offers substantial improvements in applications such as virtual prototyping to reduce costs and accelerate design of new products. The results are already being exploited in applications such as: the Bullx HPC platform, one of the world’s best supercomputer; the UNITE development tool package which includes a full set of interoperable tools for advanced debugging and analysis; and RECOM simulation software for an automatic 3D simulator.
Efficient computational power is a key differentiator for both research and industry. It is instrumental in modelling, simulation and engineering design. Until relatively recently, it had long been possible to increase the power of processors by boosting the clock frequency. However, ever smaller device sizes combined with ever greater processing needs has meant that physical constraints such as heat dissipation, power consumption and leakages required an alternative approach. Manufacturers tackled this by putting several processors working in parallel onto the same die – the basic silicon chip – and developed what is known as multicore architecture.
“Getting or maintaining advanced technology in this domain is key for these actors and crucial to Europe as well for improving its competitiveness and independence."
Jean-Marc Morel, Bull, France
As a result, software developers have been forced to parallelise their code, otherwise only one core would be used to run a sequential program, and it would execute more slowly since the clock frequency has been reduced. Moreover, simply parallelising the code is not enough; it is necessary to balance the charge on each core, and to make the program scalable so that it automatically adapts to the number of cores available. Such parallel programming is key to taking full advantage of multicore architectures.
Combining complementary interests
The EUREKA project arose out of presentations on complementary targets in HPC by major French computer manufacturer Bull and the High Performance Computing Centre Stuttgart (HLRS) at the University of Stuttgart in Germany during the ITEA project outline days in spring 2006. The two organisations decided on a common project involving other partners from France, Germany, United Kingdom and Spain.
A major problem was that existing parallel programming methods and tools were not able to cope with a high number of tasks or thread. The techniques available were diverse, could not be easily combined and only applied to main parallel programming techniques and on a limited number of platforms. Moreover, HPC applications developers had little experience of parallelisation in terms of how to restructure code and organise the data. And embedded software developers knew very little about multicore architectures.
“The role of each partner was crystal clear from the beginning,” explains Jean-Marc Morel of project leader Bull – and ITEA founding company. “Getting or maintaining advanced technology in this domain is key for these actors and crucial to Europe as well for improving its competitiveness and independence. Indeed, a comprehensive, innovative, integrated and validated set of programming methods and tools to harness multi-core architecture is critical for European research as well as European industry – helping computing-intensive application developers to provide advanced modelling and simulation capabilities.”
“Protection mechanisms must be present in all system layers from basic hardware, to the basic input/output system (BIOS) and including the operating system.”
Improved tools and performance
Key results included the development of mature debugging and performance analysis tools and their integration in a single package that is freely available. ParMA also dramatically improved the performances of more than 12 industrial HPC applications. And the project resulted in superior HPC platforms.
Other benefits included
· The HPC research laboratories worked closely together and unified their tools in a single package that has been presented in major HPC conferences – and they are continuing to co-operate in several new projects, guaranteeing continued support and evolution for tools users;
· The applications developers have learned how to restructure and optimise code for multicore use and have obtained new contracts because of superior performance with their applications. These applications have also become much more versatile, running efficiently in different environments rather than demanding variants per environment;
· Platform developers have been able to maintain their market competitiveness; and
· Research laboratories have gained industrial experience which they will put to work in various ways.
Fast exploitation of results
A major outcome has been fast exploitation of results with the impact on the business of the partners already observed. The main one is customer satisfaction with the simulation software editors. An important contract has been signed for instance by RECOM because the optimisation realised with ParMA enables it to use a generic algorithm for an automatic 3D-combustion optimisation in a plant involving several billion possible combinations of parameters. A typical result has been to reduce the fuel consumption on one plant, saving some €125,000 a year and cutting annual CO2 emissions by 16,000 tonnes.
Other simulation software editor partners – such as GNS for metal forming and crashworthiness and MAGMA for casting process simulation – have also been able to provide their customers with better capabilities in terms of performance ce, more refined simulations and more accurate models, and automatic automation. And the improved competitiveness possible with the Bullx HPC platform has enabled Bull to increase revenue substantially.