Skip to Main content Skip to Navigation
Journal articles

Towards Automatic Binary Runtime Loop De-Parallelization using On-Stack Replacement

Abstract : Runtime compilation has opportunities to parallelize code which are generally not available using static parallelization approaches. However, the parallelized code can possibly slowdown the performance due to unforeseen parallel overheads such as synchronization and speculation support pertaining to the chosen parallelization strategy and the underlying parallel platform. Moreover, with the wide usage of heterogeneous architectures, such choice options become more pronounced. In this paper, we consider an adaptive form of the parallelization operation, for the first time. We propose a method for performing on-stack de-parallelization for a parallelized binary loop at runtime, thereby allowing for rapid loop replacement with a more optimized one. For this paper, we consider a loop parallelization strategy and propose a corresponding de-parallelization method. The method relies on stopping the execution at safe points, gathering threads' states, producing a corresponding serial code, and continuing execution serially. The decision to de-parallelize or not is taken based on the anticipated speedup. To assess the extent of our approach, we have conducted an initial study on a small set of programs with various parallelization overheads. Results show up to 4x performance improvement for a synchronization intense program on a 4-core Intel processor.
Document type :
Journal articles
Complete list of metadata

Cited literature [13 references]  Display  Hide  Download
Contributor : Erven Rohou Connect in order to contact the contributor
Submitted on : Thursday, January 31, 2019 - 9:26:14 PM
Last modification on : Wednesday, November 3, 2021 - 8:09:44 AM
Long-term archiving on: : Wednesday, May 1, 2019 - 8:04:19 PM


Files produced by the author(s)



Marwa Yusuf, Ahmed El-Mahdy, Erven Rohou. Towards Automatic Binary Runtime Loop De-Parallelization using On-Stack Replacement. Information Processing Letters, Elsevier, 2019, 145, pp.53-57. ⟨10.1016/j.ipl.2019.01.009⟩. ⟨hal-02002812⟩



Les métriques sont temporairement indisponibles