North Carolina State University
In bus-based CMPs with private caches, Capacity Sharing is applied by spilling victim cache blocks from over-utilized caches to under-utilized ones. If a spilled block is needed, it can be retrieved by posting a miss on the bus. Prior work in this domain focused on Capacity Sharing design and put little emphasis on improving its distance locality since all cores are equally distanced. In future tiled-CMPs with directory-based protocols, Capacity Sharing can be applied in a similar fashion, however, a spilled block is located by contacting its home node directory which forwards the request to the cache hosting the block which will then supply the block to the requester (3-way block forwarding).