MOCA: Memory Object Classification and Allocation in Heterogeneous Memory Systems Aditya Narayan∗, Tiansheng Zhang∗, Shaizeen Agay, Satish Narayanasamyy and Ayse K. Coskun∗ ∗Boston University, Boston, MA 02215, USA; Email: fadityan, tszhang,
[email protected] yUniversity of Michigan, Ann Arbor, MI 48109, USA; Email: fshaizeen,
[email protected] Abstract—In the era of abundant-data computing, main mem- Traditionally, the main memory (e.g., DRAM) of a com- ory’s latency and power significantly impact overall system puting system is composed of a set of homogeneous memory performance and power. Today’s computing systems are typically modules. The key attributes that determine the efficiency of a composed of homogeneous memory modules, which are optimized to provide either low latency, high bandwidth, or low power. Such memory system are latency, bandwidth, and power. An ideal memory modules do not cater to a wide range of applications with memory system should provide the highest data bandwidth diverse memory access behavior. Thus, heterogeneous memory at the lowest latency with minimum power consumption. systems, which include several memory modules with distinct However, there is no such perfect memory system as a memory performance and power characteristics, are becoming promising module with high performance generally has a high power alternatives. In such a system, allocating applications to their best-fitting memory modules improves system performance and density. Hence, memory modules come in different flavors, energy efficiency. However, such an approach still leaves the optimized to either improve system performance or reduce full potential of heterogeneous memory systems under-utilized power consumption. because not only applications, but also the memory objects within Due to diverse memory access behavior across workloads, a that application differ in their memory access behavior.