description
- Multicore processors are present nowadays in most digital devices, from smartphones to high-performance servers. The increasing computational power of these processors is essential for enabling many important emerging application domains such as big-data, media, medical, or scientific modeling. A fundamental technique to improve performance is speculation, a technique that consists in executing work before it is known if it is actually needed. In hardware, speculation significantly increases energy consumption by performing unnecessary operations, while speculation in software (e.g., compilers) is not the default thus preventing performance optimizations. Since performance in current multicores is limited by their power budget, it is imperative to make multicores as energy-efficient as possible to increase performance even further. In a multicore architecture, the cache coherence protocol is an essential component since its unique but challenging role is to offer a simple and unified view of the memory hierarchy. This project envisions that extending the role of the coherence protocol to simplify other system components will be the key to overcome the performance and energy limitations of current multicores. In particular, ECHO proposes to add simple but effective extensions to the cache coherence protocol in order to (i) reduce and even eliminate misspeculations at the processing cores and synchronization mechanisms and to (ii) enable speculative optimizations at compile time. The goal of this innovative approach is to improve the performance and energy efficiency of future multicore architectures. To accomplish the objectives proposed in this project, I will build on my 14 years expertise in cache coherence, documented in over 40 publications of high impact.