Full-system After-cache Memory Tracing for Multi-core Systems using a Distributed Cache Simulator