Show simple item record

dc.contributor.authorBarik, Rajkishore
Sarkar, Vivek
Zhao, Jisheng
dc.date.accessioned 2017-08-02T22:03:14Z
dc.date.available 2017-08-02T22:03:14Z
dc.date.issued 2013-05-01
dc.identifier.urihttps://hdl.handle.net/1911/96408
dc.description.abstract In this paper, we introduce novel compiler optimization techniques to reduce the number of operations performed in critical sections that occur in explicitly-parallel programs. Specifically, we focus on three code transformations: 1) Partial Strength Reduction (PSR) of critical sections to replace critical sections by non-critical sections on certain control flow paths; 2) Critical Load Elimination (CLE) to replace memory accesses within a critical section by accesses to scalar temporaries that contain values loaded outside the critical section; and 3) Non-critical Code Motion (NCM) to hoist thread-local computations out of critical sections. The effectiveness of the first two transformations is further increased by inter-procedural analysis. The effectiveness of our techniques has been demonstrated for critical section constructs from three different explicitly-parallel programming models — the isolated construct in Habanero Java (HJ), the synchronized construct in standard Java, and transactions in the Java-based Deuce software transactional memory system. We used two SMP platforms (a 16-core Intel Xeon SMP and a 32-Core IBM Power7 SMP) to evaluate our optimizations on 17 explicitly-parallel benchmark programs that span all three models. Our results show that the optimizations introduced in this paper can deliver measurable performance improvements that increase in magnitude when the program is run with a larger number of processor cores. These results underscore the importance of optimizing critical sections, and the fact that the benefits from such optimizations will continue to increase with increasing numbers of cores in future many-core processors.
dc.format.extent 16 pp
dc.language.iso eng
dc.rights You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
dc.title Interprocedural Strength Reduction of Critical Sections in Explicitly-Parallel Programs
dc.type Technical report
dc.date.note May 1, 2013
dc.identifier.digital TR13-05
dc.type.dcmi Text
dc.identifier.citation Barik, Rajkishore, Sarkar, Vivek and Zhao, Jisheng. "Interprocedural Strength Reduction of Critical Sections in Explicitly-Parallel Programs." (2013) https://hdl.handle.net/1911/96408.


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record