Optimization Strategies Oriented to Loop Characteristics in Software Thread Level Speculation Systems

Thread level speculation provides not only a simple parallel programming model, but also an effective mech- anism for thread-level parallelism exploitation. The performance of software speculative parallel models is limited by high global overheads caused by different types of loops. These loops usu...

Full description

Saved in:
Bibliographic Details
Published inJournal of computer science and technology Vol. 31; no. 1; pp. 60 - 76
Main Authors Shen, Li, Xu, Fan, Wang, Zhi-Ying
Format Journal Article
LanguageEnglish
Published New York Springer US 2016
Springer Nature B.V
State Key Laboratory of High Performance Computing, Changsha 410073, China School of Computer, National University of Defense Technology, Changsha 410073, China
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Thread level speculation provides not only a simple parallel programming model, but also an effective mech- anism for thread-level parallelism exploitation. The performance of software speculative parallel models is limited by high global overheads caused by different types of loops. These loops usually have different characteristics of dependencies and different requirements of optimization strategies. In this paper, we propose three comprehensive optimization techniques to reduce different factors of global overheads, aiming at requirements from different types of loops. Inter-thread fetching can reduce the high mis-speculation rate of the loops with frequent dependencies and out-of-order committing can reduce the control overhead of the loops with infrequent dependencies, while enhanced dynamic task granularity resizing can reduce the control overhead and optimize the global overhead of the loops with changing characteristics of dependencies. All these three optimization techniques have been implemented in HEUSPEC~ a software TLS system. Experimental results indicate that they can satisfy tile demands from different groups of benchmarks. The combination of these techniques can improve the performance of all benchmarks and reach a higher average speedup.
Bibliography:Thread level speculation provides not only a simple parallel programming model, but also an effective mech- anism for thread-level parallelism exploitation. The performance of software speculative parallel models is limited by high global overheads caused by different types of loops. These loops usually have different characteristics of dependencies and different requirements of optimization strategies. In this paper, we propose three comprehensive optimization techniques to reduce different factors of global overheads, aiming at requirements from different types of loops. Inter-thread fetching can reduce the high mis-speculation rate of the loops with frequent dependencies and out-of-order committing can reduce the control overhead of the loops with infrequent dependencies, while enhanced dynamic task granularity resizing can reduce the control overhead and optimize the global overhead of the loops with changing characteristics of dependencies. All these three optimization techniques have been implemented in HEUSPEC~ a software TLS system. Experimental results indicate that they can satisfy tile demands from different groups of benchmarks. The combination of these techniques can improve the performance of all benchmarks and reach a higher average speedup.
parallel programming model, optimization, thread level speculation, HEUSPEC, performance
11-2296/TP
ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
ISSN:1000-9000
1860-4749
DOI:10.1007/s11390-016-1612-z