AdAM: Adaptive Approximation Management for the Non‐Volatile Memory Hierarchies

Mohammad Taghi Teimoori1,a, Muhammad Abdullah Hanif2,c, Alireza Ejlali1,b and Muhammad Shafique2,d
1Computer Engineering Department, Sharif University of Technology, Iran
ateimoori@ce.sharif.edu
bejlali@sharif.edu
2Institute of Computer Engineering, Vienna University of Technology (TU Wien), Austria
cmuhammad.hanif@tuwien.ac.at
dmuhammad.shafique@tuwien.ac.at

ABSTRACT


Existing memory approximation techniques focus on employing approximations at an individual level of the memory hierarchy (e.g., cache, scratchpad, or main memory). However, to exploit the full potential of approximations, there is a need to manage different approximation knobs across the complete memory hierarchy. Towards this, we model a system including STT-RAM scratchpad and PCM main memory with different approximation knobs (e.g., read/write pulse magnitude/duration) in order to synergistically trade data accuracy for both STT‐RAM access delay and PCM lifetime by means of an integer linear programming (ILP) problem at design‐time. Furthermore, a runtime algorithm is proposed to adaptively tune the approximation knobs of both STT-RAM and PCM to obtain high energy savings while keeping error‐per‐second within acceptable ranges across the complete memory hierarchy. We evaluated our proposed technique (i.e., AdAM) in a baseline system consisting of 1‐ 2MB STT‐RAM scratchpad and 0.5‐1GB PCM main memory. The experimental results demonstrate that AdAM improves the execution time and the lifetime of memory by up to 38.7% and 1.6X, respectively.



Full Text (PDF)