TY - GEN
T1 - Compiler optimization of scalar value communication between speculative threads
AU - Zhai, Antonia
AU - Colohan, Christopher B.
AU - Steffan, J. Gregory
AU - Mowry, Todd C.
PY - 2002
Y1 - 2002
N2 - While there have been many recent proposals for hardware that supports Thread-Level Speculation (TLS), there has been relatively little work on compiler optimizations to fully exploit this potential for parallelizing programs optimistically. In this paper, we focus on one important limitation of program performance under TLS, which is stalls due to forwarding scalar values between threads that would otherwise cause frequent data dependences. We present and evaluate dataflow algorithms for three increasingly-aggressive instruction scheduling techniques that reduce the critical forwarding path introduced by the synchronization associated with this data forwarding. In addition, we contrast our compiler techniques with related hardware-only approaches. With our most aggressive compiler and hardware techniques, we improve performance under TLS by 6.2-28.5% for 6 of 14 applications, and by at least 2.7% for half of the other applications.
AB - While there have been many recent proposals for hardware that supports Thread-Level Speculation (TLS), there has been relatively little work on compiler optimizations to fully exploit this potential for parallelizing programs optimistically. In this paper, we focus on one important limitation of program performance under TLS, which is stalls due to forwarding scalar values between threads that would otherwise cause frequent data dependences. We present and evaluate dataflow algorithms for three increasingly-aggressive instruction scheduling techniques that reduce the critical forwarding path introduced by the synchronization associated with this data forwarding. In addition, we contrast our compiler techniques with related hardware-only approaches. With our most aggressive compiler and hardware techniques, we improve performance under TLS by 6.2-28.5% for 6 of 14 applications, and by at least 2.7% for half of the other applications.
UR - http://www.scopus.com/inward/record.url?scp=33845422860&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33845422860&partnerID=8YFLogxK
U2 - 10.1145/605397.605416
DO - 10.1145/605397.605416
M3 - Conference contribution
AN - SCOPUS:33845422860
SN - 1581135742
SN - 9781581135749
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 171
EP - 183
BT - Operating Systems Review (ACM)
T2 - Tenth International Conference on Architectural Support for Programming Languages and Operating Systems
Y2 - 5 October 2002 through 9 October 2002
ER -