1. A processing device, comprising: a plurality of clusters, wherein each of the plurality of clusters comprises a plurality of cores and a plurality of cache slices co-located within the plurality of cores; and a virtual shared cache comprising the plurality of clusters wherein cache data in the plurality of cache slices is shared among the plurality of clusters.