Optimizing Heap Memory Object Placement in the Hybrid Memory System with Energy Constraints
Main memory significantly impacts the power and energy utilization of the overall server system. Non-Volatile Memory (NVM) devices, are suitable candidates for the main memory to reduce static energy consumption. But unlike DRAM, the access latencies and the dynamic energy consumption of write operation of the NVM devices are higher. Thus, Hybrid Main Memory Systems (HMMS) employing DRAM and NVM have been proposed to reduce the overall energy depletion of main memory while optimizing the
... ance of application. However, memory object placement is crucial for optimal performance and energy efficiency in HMMS due to high write latency and energy consumption of NVM devices. This paper proposes eMap, an optimal heap memory object placement planner for HMMS. eMap takes into account the object-level access patterns and energy consumption to provide an ideal placement policy for objects to mitigate performance and energy consumption. In particular, eMap is equipped with two modules, eMPlan and eMDyn. eMPlan is a static placement planner which provides one-time placement policies for memory objects to meet the energy budget. eMDyn is a runtime model to consider the requests of changes in the energy constraint during the application execution. Both modules are based in Integer Linear Programming(ILP) and consider three major constraints, namely decision, capacity and energy constraints to optimally placing the memory objects in HMMS. We evaluate the proposed solution with two scientific application benchmarks, NAS Parallel Benchmark (NPB) and Problem-based Benchmark Suit (PBBS), on two testbeds by emulating the NVM using QUARTZ  . Our extensive experiments in comparison with Memory Object Classification and Allocation (MOCA) framework showed that our solution is 4.17× less costly in terms of the memory object profiling and reduce the energy consumption up to 14% with the same performance. On the other hand, eMDyn module also meets the performance and energy requirement during the application execution by considering the migration cost in terms of time and energy. INDEX TERMS Hybrid main memory system (HMMS), memory object placement, energy consumption.