Link to CALCM Home  

Compiler Optimization of Scalar Value Communication Between Speculative Threads

Tuesday September 17, 2002
Hamerschlag Hall D-210
4:00 p.m.

Antonia Zhai
Antonia Zhai

Carnegie Mellon University

Compiler and architecture researchers have striven to improve the performance of a wide spectrum of applications on microprocessors by automatically exploiting parallelism. However, the desired performance is elusive for a large number of general-purpose programs, mainly due to their complicated control flow and ambiguous data dependences. Thread-Level Speculation (TLS) opens up new opportunities for automatic parallelization by allowing possibly dependent threads to execute speculatively in parallel. Although there have been many recent proposals for hardware that supports TLS, relatively little has been done on compiler optimization to fully exploit this potential. In this talk, I will introduce our compiler techniques which remove an important limitation to program performance caused by stalls that are necessary for forwarding scalar values between threads in TLS execution. I will present dataflow algorithms for three increasingly aggressive instruction-scheduling techniques that reduce the critical forwarding path introduced by these stalls. The effectiveness of these techniques will be demonstrated by contrasting with related hardware-only approaches.

Antonia Zhai is a Ph.D. candidate in the Department of Computer Science at Carnegie Mellon University. She received her B.A.Sc. and M.A.Sc. in Computer Engineering from the University of Toronto in 1996 and 1998 respectively. Currently, she is a member of the STAMPede project led by Todd Mowry. Her research focuses on developing advanced compiler technology to exploit the potential of thread-level speculation for general-purpose applications.



Department of Electrical and Computer EngineeringCarnegie Mellon UniversitySchool of Computer Science