Avires : Simulating Tiered Memory Architectures Using Dynamic Binary Instrumentation