Many multithreaded commercial, scientific, and data mining workloads exhibit fine-grain (both temporal and spatial) data sharing patterns due to data communication and synchronization. In addition, multiprogrammed and single-threaded applications, while exhibiting limited sharing behavior, may have working sets that well exceed the on-chip cache capacity. On-chip caches must therefore adapt to these varying needs in order to reduce L1 miss penalties and both on-chip and off-chip bandwidth needs for all application domains.
In this dissertation, we propose and evaluate cache coherence protocols that (1) exploit the low-latency on-chip interconnect to solve the directory-based indirection problem by using prediction to directly access the most up-to-date copy of the data, (2) support fine-grain sharing by localizing communication between the closest sharing nodes, (3) reduce access latency by bringing both data and metadata as close to the accessor as possible, and (4) increase effective cache capacity by reducing the number of copies of data in the caches and using access pattern aware adaptive replacement policies. We show that our techniques are effective at improving cache utilization and at reducing both on- and off-chip traffic and energy consumption. These properties are essential to ensure the continued scaling of future multi-core platforms.