HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation
Conference papers

Parallel Locality and Parallelization Quality

Bernard Goossens 1, 2 David Parello 1, 2 Katarzyna Porada 1, 2 Djallal Rahmoune 1, 2
1 DALI - Digits, Architectures et Logiciels Informatiques
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier, UPVD - Université de Perpignan Via Domitia
Abstract : This paper presents a new distributed computation model adapted to manycore processors. In this model, the run is spread on the available cores by fork machine instructions produced by the compiler , for example at function calls and loops iterations. This approach is to be opposed to the actual model of computation based on cache and predictor. Cache efficiency relies on data locality and predictor efficiency relies on the reproducibility of the control. Data locality and control reproducibility are less effective when the execution is distributed. The computation model proposed is based on a new core hardware. Its main features are described in this paper. This new core is the building block of a manycore design. The processor automatically parallelizes an execution. It keeps the computation deterministic by constructing a totally ordered trace of the machine instructions run. References are renamed, including memory , which fixes the communications and synchronizations needs. When a data is referenced, its producer is found in the trace and the reader is synchronized with the writer. This paper shows how a consumer can be located in the same core as its producer, improving parallel locality and parallelization quality. Our determin-istic and fine grain distribution of a run on a manycore processor is compared with OS primitives and API based parallelization (e.g. pthread, OpenMP or MPI) and to compiler automatic paralleliza-tion of loops. The former implies (i) a high OS overhead meaning that only coarse grain parallelization is cost-effective and (ii) a non deterministic behaviour meaning that appropriate synchronization to eliminate wrong results is a challenge. The latter is unable to fully parallelize general purpose programs due to structures like functions, complex loops and branches.
Complete list of metadata

Cited literature [16 references]  Display  Hide  Download

Contributor : David Parello Connect in order to contact the contributor
Submitted on : Thursday, January 7, 2016 - 10:12:31 AM
Last modification on : Wednesday, November 3, 2021 - 7:45:33 AM
Long-term archiving on: : Friday, April 8, 2016 - 1:13:15 PM


Files produced by the author(s)


Distributed under a Creative Commons Attribution - NoDerivatives 4.0 International License




Bernard Goossens, David Parello, Katarzyna Porada, Djallal Rahmoune. Parallel Locality and Parallelization Quality. PMAM: Programming Models and Applications for Multicores and Manycores, Mar 2016, Barcelona, Spain. pp.59-68, ⟨10.1145/2883404.2883410⟩. ⟨hal-01252007⟩



Record views


Files downloads