Publications > CSCnews > 2009 > CSC News 4/2009 > Optimizing is continued within PRACE
 
Tehdyt toimenpiteet

Optimizing is continued within PRACE

Code optimization is being continued within the pan-European PRACE (Partnership for Advanced Computing in Europe) project funded by the EU. The PRACE project is preparing a state-of-the-art pan-European HP infrastructure. It consists of several pan-European supercomputers for top-level computational science. These high-capacity machines supplement the capacity offering of national supercomputing centers.

The PRACE project is divided into eight different work packages. One of these concentrates on determining what kind of software requirements are set by the petaflop/s level supercomputers. This work package has the tasks of exploring the programming environments and tools in HP computers, translating programs for use on these platforms, and improving their performance. Another important task is to develop a performance analysis and benchmark selection consisting of selected scientific programs and synthetic performance tests.

Six prototypes have been constructed under the project, each representing different HP architectures. These prototypes serve as the environment where programs are studied and improved. One of these prototypes is CSC’s Loviatar, which is part of the Louhi supercomputer. Therefore, benefits attained from the improved programs will be available for the users of Louhi as well. Researchers can use the prototypes to test the performance capabilities of their own codes.

“Eighteen computing centers participate in the PRACE project as a whole. Finland is represented by CSC, with a particularly strong input in software development,” says Application Specialist Sebastian von Alfthan from CSC. He is heading a working group responsible for code optimization.

“Like the FinHPC project, PRACE also proceeds with tasks phase by phase. As first, we determined the programs for optimization. There were more codes offered than we could accept. Now the list contains 20 codes, representing very different fields of science and different algorithms. In particular, we tried to select codes that were easily scalable, ones that are representative of the future load in production computers,” von Alfthan explains.

alftan














“CSC’s input in PRACE is particularly strong in software development”, says Sebastian von Alfthan from CSC. Image © Jyrki Hokkanen

Great number of processors bringing additional challenges

“At the next phase we analyzed the codes to be optimized, and performance analyses were conducted to identify possible bottlenecks that hamper their performance. A special challenge is the totally new scale of the supercomputers. For example, in FinHPC it was enough to have the program scaled for hundreds or thousands of processor cores. In PRACE the target of scaling is tens of thousands, even hundreds of thousands of cores. Modern programs have not been designed for such massive clusters of processor cores. It is possible that the entire software architecture will have to be re-written,” says von Alfthan. He thinks that new types of programming models will be needed.

“One alternative is “hybrid programming”, where parallelization is established at two levels: multi-core processors utilizing shared memory of parallel processors based on, for example, OpenMP (Open Multi-Processing) technology, and parallelization based on MPI (Message Passing Interface). Hybrid programming will become even more attractive, when the current four-core processors are replaced by as many as ten-core processors,” continues von Alfthan.

Another field important for optimization is the input/output (I/O) communication. Its significance will increase with the processing of greater amounts of data in the future. I/O is often a bottleneck for the system, because insufficient attention has been paid to scalability.

Aiming at the petaflop/s level

In addition to optimization, PRACE conducts research on software libraries and programming models. The aim of this research is to determine the likely impact on the peta-scale computing environments and to investigate the applicability of the new programming models.

The work in the optimization working group is organized by application. Each software code has a dedicated person responsible for the performance analyses, scalability testing, and optimizing procedures of that code. Finnish specialists are responsible for CROMACS, GPAW, and CP2K software. In addition to this, CSC’s specialists have provided assistance in the optimization of the I/O functions in the ECHAM5 code.

“The experiences attained from the FinHPC project have been of great importance for PRACE. We are now dealing with the same things, although at the peta-scale”, says von Alfthan. “During both projects we have learned new technologies that can be applied to improving our customers’ codes. This type of skills development is considered an important goal also at CSC.”

“The development of scientific software is often carried out at universities by post-doctoral students. Code efficiency is not usually the primary target. Furthermore, many of the codes are old and they have been improved several times, possibly using different techniques and methods,” continues Alfthan explaining the challenges in optimization. “CSC can take this challenge by offering its expertise, now when the codes are being transferred to the ever larger computer systems.”

Paavo Ahonen


Additional information on the prototypes