CERN Accelerating science

Article
Title Using a source-to-source transformation to introduce multi-threading into the AliRoot framework for a parallel event reconstruction
Author(s) Lohn, Stefan B (CERN) ; Dong, Xin (Northeastern U.) ; Carminati, Federico (CERN)
Publication 2012
Imprint 2012
Number of pages 11
In: J. Phys.: Conf. Ser. 396 (2012) pp.052049
In: Computing in High Energy and Nuclear Physics 2012, New York, NY, USA, 21 - 25 May 2012, pp.052049
DOI 10.1088/1742-6596/396/5/052049
Subject category Computing and Computers
Abstract Chip-Multiprocessors are going to support massive parallelism by many additional physical and logical cores. Improving performance can no longer be obtained by increasing clock-frequency because the technical limits are almost reached. Instead, parallel execution must be used to gain performance. Resources like main memory, the cache hierarchy, bandwidth of the memory bus or links between cores and sockets are not going to be improved as fast. Hence, parallelism can only result into performance gains if the memory usage is optimized and the communication between threads is minimized. Besides concurrent programming has become a domain for experts. Implementing multi-threading is error prone and labor-intensive. A full reimplementation of the whole AliRoot source-code is unaffordable. This paper describes the effort to evaluate the adaption of AliRoot to the needs of multi-threading and to provide the capability of parallel processing by using a semi-automatic source-to-source transformation to address the problems as described before and to provide a straight-forward way of parallelization with almost no interference between threads. This makes the approach simple and reduces the required manual changes in the code. In a first step, unconditional thread-safety will be introduced to bring the original sequential and thread unaware source-code into the position of utilizing multi-threading. Afterwards further investigations have to be performed to point out candidates of classes that are useful to share amongst threads. Then in a second step, the transformation has to change the code to share these classes and finally to verify if there are anymore invalid interferences between threads.
Copyright/License publication: (License: CC-BY)

Corresponding record in: Inspire


 Registro creado el 2013-02-13, última modificación el 2022-08-17