Fair Cache Sharing and Partitioning in a Chip Multiprocessor Architecture | Synapse