distributed cooperative caching
This paper presents the Distributed Cooperative Caching, a scalable and energy-efficient scheme to manage chip multiprocessor (CMP) cache resources. The proposed configuration is based in the Cooperative Caching framework [3] but it is intended for large scale CMPs. Both centralized and distributed configurations have the advantage of combining the benefits of private and shared caches. In our proposal, the Coherence Engine has been redesigned to allow its partitioning and thus, eliminate the size constraints imposed by the duplication of all tags. At the same time, a global replacement mechanism has been added to improve the usage of cache space. Our framework uses several Distributed Coherence Engines spread across all the nodes to improve scalability. The distribution permits a better balance of the network traffic over the entire chip avoiding bottlenecks and increasing performance for a 32-core CMP by 21\% over a traditional shared memory configuration and by 57\% over the Cooperative Caching scheme. Furthermore, we have reduced the power consumption of the entire system by using a different tag allocation method and by reducing the number of tags compared on each request. For a 32-core CMP the Distributed Cooperative Caching framework provides an average improvement of the power/performance relation (MIPS 3 /W) of 3.66x over a traditional shared memory configuration and 4.30x over Cooperative Caching.
distributed cooperative caching distributed cooperation cache cache paper scalability scheme management chip multiprocessors resource configurability centrality tag tag combinational shared cache coherence engine partition size constraint timing global space network traffic performance shared memory power consumption power systems allocation method relation  framework  large-scale tags memory hierarchy core caches energy efficiency