Tom Jablin will present his research seminar/general exam on Thursday May 15 at 1PM in Room 402. The members of his committee are: David August (advisor), Doug Clark, and J.P. Singh. Everyone is invited to attend his talk and those faculty wishing to remain for the oral exam following are welcome to do so. His abstract and reading list follow below. -------------------------------- Pattern Driven Specialization Overcomes Static Limitations on Automatic Parallelization The multi-core revolution has arrived. Unfortunately, single-threaded applications do not benefit from multiple cores, and the benefit for multi-threaded applications is limited by Amdahl's law. A recent study shows that 32-cores worth of TLP (thread-level parallelism) can be automatically extracted from sequential codes with minor annotation using static profiling, analysis, and state-of-the-art transformations.[1] To achieve the next order of magnitude of TLP, the limits of static profiling must be addressed. Many important applications, interpreters being one example, suffer severely from these limits. In the case of interpretors, it is impossible to characterize the execution patterns without the interpreted code. However, runtime observations can discover regions in the interpreter that, due to predictable patterns in the interpreted program manifesting in the interpretor, are amenable to automatic parallelization. Run-time optimization can exploit this opportunity, eliminating the need to write parallelizers for interpreted languages. In this talk, I show that even if there is little TLP in a static program, there is often considerable parallelism in the program considered with its input set. Programmers and compilers cannot exploit this potential parallelism, but the dynamic system I will propose can. Citation: [1] Revisiting the Sequential Programming Model for the Multicore Era Matthew J. Bridges, Neil Vachharajani, Yun Zhang, Thomas Jablin, and David I. August Proceedings of the 40th IEEE/ACM International Symposium on Microarchitecture (MICRO), December 2007. Reading List Compilers: Principles, Techniques, and Tools by Aho and Ullman Modern Compiler Implementation in ML by Andrew W. Appel Experiments in Program Compilation by Interpreter Specialization by Thibault et al. Identifying Hierarchical Structure in Sequences: A linear-time algorithm by G. G. Nevill-Manning and I. H. Witten Analysis of control flow patterns in the execution of SPEC CPU2000 benchmark programs by Joseph, P. J. and Mattew Jacob, T. Revisiting the Sequential Programming Model for the Multicore Era by Bridges et al. Speculative Decoupled Software Pipelining by Vachharajani et al. Decoupled Software Pipelining with the Synchronization Array by Ottoni et al. Automatic Thread Extraction with Decoupled Software Pipelining by Ottoni et al. A General Approach for Run-Time Specialization and its Application to C by Dynamic Native Optimization of Interpreters by Gregory T. Sullivan, Derek L. Bruening, Iris Baron, Timothy Garnett A Tour of Tempo: A Program Specializer for the C Language by Charles Consel, Julia L. Lawall, Anne-Françoise Le Meur