Compiler
Optimization of Scalar Value Communication Between Speculative Threads
Tuesday September 17, 2002
Hamerschlag Hall D-210
4:00 p.m.
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.
|