Compiler optimization of scalar value communication between speculative threads

Antonia Zhai, Christopher B. Colohan, J. Gregory Steffan, Todd C. Mowry

Research output: Chapter in Book/Report/Conference proceedingConference contribution

60 Scopus citations

Abstract

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.

Original languageEnglish (US)
Title of host publicationOperating Systems Review (ACM)
Pages171-183
Number of pages13
DOIs
StatePublished - 2002
EventTenth International Conference on Architectural Support for Programming Languages and Operating Systems - San Jose, CA, United States
Duration: Oct 5 2002Oct 9 2002

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Other

OtherTenth International Conference on Architectural Support for Programming Languages and Operating Systems
CountryUnited States
CitySan Jose, CA
Period10/5/0210/9/02

Fingerprint Dive into the research topics of 'Compiler optimization of scalar value communication between speculative threads'. Together they form a unique fingerprint.

Cite this