Minimal Multithreading - Exploiting Redundancy in Parallel Systems

117
Опубликовано 17 августа 2016, 1:53
Parallelism and energy efficiency have emerged as critical considerations in future computing systems. We observe that many convenient models for expressing parallelism can lead to significant redundancy in computation and data. Our research explores a set of microarchitectural mechanisms that support these software models while effectively eliminating this redundancy, providing high peformance and energy efficiency. Specifically, we observe that many parallel software models (e.g. data parallelism, Single-Program Multiple Data (SPMD), multi-programming, and high-throughput computing) consist of multiple threads of computation with very similar instructions streams and working sets of data. The trick, however, is to design efficient mechanisms that both exploit this similarity and effectively support the differences. We describe two research thrusts to eliminate redundancy across several application domains. First, content-aware caching techniques that reduce redundant storage of identical data across parallel threads and processes. Second, multi-threaded processor core designs that eliminate redundant instruction fetch and/or execution. Joint work with Fred Chong, Tim Sherwood, Susmit Biswas, Guoping Long, Pablo Ortiz, Jason Oberg, Alan Savage, Ryan Dixon and Dongrui Fan.
автотехномузыкадетское