Event-Driven Simultaneous Compilation

46
Опубликовано 7 сентября 2016, 16:29
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.
автотехномузыкадетское