Annual Report


Previous Up

3.4  Software engineering

3.4.1  Management and Support (M. Montagnac, J.-F. Boussuge, S. Champagneux)

CERFACS industrial partners require not only performance, reliability and robustness of softwares but also high turnaround time response in the software development process. Furthermore, CERFACS researchers also ask for code simplicity and clearness as well as for a highly-tunable and scalable code. As a consequence, software management and code engineering are topics of the primary importance both in a research and an industrial working environment.

Therefore, the aerodynamics group takes in charge a lot of such activities mainly in the ONERA elsA software. This software is jointly developed by ONERA and CERFACS but is deployed in many european research and industrial partners. It comes along with procedures to enhance productivity in a multi-user and multi-platform environment: cvs management tools, software quality program, documentation, unitary test cases, non regression and validation databases, training sessions.

Common works include checkings of new version compliance with the non regression and validation databases, integration of new developments in the cvs repository, contributions to debugging and to quality reviews and the writing of user's and developer's guides and theoretical manuals.

Portability tests, optimization and benchmarking actions are also frequent activities to ensure the reliability and the efficiency of the code on many different computer platforms, and to enable smooth transitions whenever industrial partners renew their computing facilities.

Finally, the installation at CERFACS by the team members of the industrial environment delivered by Airbus leads to a real synergy between the two partners.

3.4.2  Code performance (J. Tournier, M. Montagnac)

The performance improvement of the elsA software has been an important objective. In the current project, a reorganization of the memory management on the entire code was carried out. The results are exposed on Fig. 3.21. This figure presents the evolution of the CPU time (Y-coordinate) and the number of cells per direction (X-coordinate) for the study of isotropic blocks.



Figure 3.21: Evolutions of CPU time.



This modification of the code completely removes the peaks of CPU time for the two computers with the Dec Alpha processor and the Opteron processor. On the other hand, the behavior is different away from the peaks. With the Dec Alpha processor, a CPU time increase of 20% is noted between the elsA reference version (NO SWAP) and the elsa modified version (SWAP). With the Opteron processor, an improvement of 5% to 30% is obtained.

This difference comes from the better memory management of DEC Alpha compiler in version NOSWAP than in version SWAP. For example, vectorization cannot be carried out in version SWAP. This remark does not apply to the pgi compiler on the Opteron machine.

A second test-case was studied on the S3Ch configuration (wing+pylon+nacelle). On this case, the DEC Alpha processors provide an improvement of the performance by 5%. An improvement of 17% with the Opteron processors is obtained.

These results are very dependent on the architecture of the computing platform. The positive point is the removal of CPU time peaks, which remains desirable, but others techniques such as padding are possible. In conclusion, it appears difficult to state definitively on the need for applying this memory reorganization in the elsA software.

3.4.3  Software architecture (M. Montagnac, J.-P. Boin, J.-F. Boussuge, S. Champagneux)

As co-developer of the elsA software, CERFACS maintains a constant effort to ensure its improvement and evolution. Indeed, many specific actions have been conducted through projects to enhance, upgrade and provide new numerical features and methods. These activities are described all along section 3.3.

In an industrial context, the aerodynamic numerical simulation tool is only a component in a whole multidisciplinary design and data process that includes many different tools as post-processing, visualization, mesh generator, mesh deformation... Airbus has defined a proprietary common software architecture for its numerical simulation needs. This flow simulation system should fulfill many requirements as performing fully parallel simulations and scenarios in a reliable and efficient way with a high-level of automation. With this approach, it would also enable to couple solvers to perform multi-physics simulations. A common data manager implemented in langage Python will held all information concerning the simulation and will dispatch them to third-party tools.

In this topic, CERFACS cooperates with ONERA to write specifications in order to adapt the elsA software to this new flow simulation architecture. With these specifications, the common data manager could provide the fluid solver with the correct information needed by the elsA interface.

CERFACS is also involved in a project that aims at building a component-oriented version of the elsA software. Indeed, many numerical functionalities coded in this solver are independent of the Navier-Stokes solver itself. By example, some grid deformation algorithms are implemented but they could be used by other solvers if they were available through a public interface. Other examples include computation of connectivity coefficients in chimera method or for non abutting adjacent zonal boundaries and distance calculation. The major work consists then in analyzing the different parts of the software that can be gathered and redesign the elsA architecture to form coherent and independent components usable by other solvers or tools.

The previous task was partly begun through an ONERA-DLR collaboration in which CERFACS was invited to participate. The goal was to introduce a common shared view between the elsA software and the TAU code.

Lastly, the increasing availability of massively parallel processing systems with relatively small memory for each processor leads CERFACS to be particularly involved in the reduction of the elsa software memory requirement. Indeed, this software handles really memory intensive applications and must run on a broad range of computer systems. Therefore, refactoring work has been initiated to decrease memory storage in the software.

3.4.4  Parallelism (M. Montagnac)

On multi-processor computer architectures with shared memory (SMP), two main parallel programming models are available to increase the parallel performance of a code: OpenMP and MPI.

OpenMP provides a simple and flexible interface for developing parallel applications. In collaboration with the CERFACS "Parallel Algorithms" team, a strategy has been elaborated to parallelize elsA efficiently with OpenMP. It has been implemented on some of the most CPU-time consuming functions of the elsA software, especially the implicit time integration method. Even if performances obtained could not reach a perfect speedup, this approach is still worth considering since it could avoid an extensive mesh splitting that could degrade convergence and robustness of computations.

Using the MPI message passing library needs a deeper knowledge of the code than with OpenMP but it is also often more efficient. To adapt the code to run on massively parallel processing systems, CERFACS has proposed to ONERA some technical solutions that need to be implemented in order to increase the scalability of the elsA software. Consequently, some design refactorings are under investigations in order to reduce the number of synchronous communications and the size of messages to decrease significantly the data traffic over the communication network. The use of asynchronous communications and the reduction of collective parallel operations should also be promising to avoid processor idle time.

These high performance computing activities are carried out with the CERFACS internal computing facilities but also with external computing resources as supercomputers from the French national centers CINES and CCRT.


   Return to TOP
webmaster@cerfacs.fr
Last Updated: Apr 9, 2008
Copyright   © 2002-2007 CERFACS   
All rights reserved.