Abstract:This talk will introduce a new programming/architectural execution model for parallel threads. Unlike threads in conventional programming models, data-triggered threads (DTT) are initiated on a change to a memory location. This enables increased parallelism and the elimination of redundant, unnecessary computation. This talk will focus primarily on the latter. We'll show that 78% of all loads fetch redundant data, leading to a high incidence of redundant computation. By expressing computation through data-triggered threads, that computation is executed once when the data changes, and is skipped whenever the data does not change. The set of C SPEC benchmarks show performance speedup of up to 5.9X, and averaging 46%; other benchmarks even higher. We'll examine hardware-supported DTT, a software-only implementation, and compiler-generated DTTs with no input from the programmer.

Bio: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 worked on 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, event-driven simultaneous code optimization, and data triggered threads. He is a Fellow of the ACM and the IEEE. He has twice won the ACM SIGARCH/IEEE-CS TCCA Influential ISCA Paper Award.