Quantifying Wasted Write Energy in the Memory Hierarchy
Wasted writes occur when modied cache lines are evicted and written back to main memory even though the data contained in those lines is no longer needed by the program or does not change the existing memory contents. Wasted writes include values in retreating stacks and values in heap objects that have been deallocated. They also occur as a result of unmodied data values being written back as part of a modied cache line. Wasted writes consume energy, consume execution time as memory bandwidth and consume component lifetime of limited write-cycle technologies such as ash memory or phase-change memory (PCM). This paper characterizes the number and type of wasted writes through the memory hierarchy and quanties the amount of potential energy savings that can be obtained from eliminating wasted writes. If all of the wasted writes could be eliminated from our benchmarks, 15.5% of the total memory subsystem energy could be saved.