Event-Driven Simultaneous Compilation

  • Dean Tullsen | University of California, San Diego

The coming wave of multi-core, multithreaded processors will create a parallelism crisis. That is, the performance potential of these processors will only be realized when we can find sufficient thread-level parallelism to keep them busy. This will require advances not only in traditional approaches to parallelism, but also require non-traditional approaches to parallel speedup (i.e., approaches that can achieve speedup by using multiple threads, even when the code is inherently serial). This talk will present Event-Driven Simultaneous Compilation. In this framework, optimization threads run in parallel with the executing thread, constantly improving the code. It is called event-driven compilation, because optimization threads are spawned when the hardware identifies an interesting behavior or pattern, the thread adapts the code to optimize for that behavior, then exits. I will discuss three optimizations that use this framework – dynamic value specialization, inline prefetching, and helper thread based prefetching.

Speaker Details

Dean Tullsen is a professor in the computer science and engineering department at UCSD. He received his PhD from the University of Washington in 1996, where he introduced the concept of simultaneous multithreading (hyper-threading). He has continued to work in the area of computer architecture and back-end compilation, where with various co-authors he has introduced many new ideas to the research community, including threaded multipath execution, symbiotic job scheduling for multithreaded processors, dynamic critical path prediction, speculative precomputation, heterogeneous multi-core architectures, conjoined core architectures, and event-driven simultaneous code optimization.

    • Portrait of Jeff Running

      Jeff Running