Multi-Core Cache Hierarchies