We present MaxMem, a tiered main memory management system that aims to maximize Big Data application colocation and performance. MaxMem uses an application-agnostic and lightweight memory occupancy control mechanism based on fast memory miss ratios to provide application QoS under increasing colocation. By relying on memory access sampling and binning to quickly identify per-process memory heat gradients, MaxMem maximizes performance for many applications sharing tiered main memory simultaneously. MaxMem is designed as a user-space memory manager to be easily modifiable and extensible, without complex kernel code development. On a system with tiered main memory consisting of DRAM and Intel Optane persistent memory modules, our evaluation confirms that MaxMem provides 11% and 38% better throughput and up to 80% and an order of magnitude lower 99th percentile latency than HeMem and Linux AutoNUMA, respectively, with a Big Data key-value store in dynamic colocation scenarios.
翻译:摘要:我们提出MaxMem,一种分层主内存管理系统,旨在最大化大数据应用的共存与性能。该系统基于快速内存缺失率,采用一种与应用无关的轻量级内存占用控制机制,在共存度增加时保障应用服务质量。通过内存访问采样与分箱技术快速识别各进程的内存热度梯度,MaxMem能够最大化多个应用同时共享分层主内存时的性能。该系统设计为用户空间内存管理器,便于修改和扩展,无需复杂的内核代码开发。在包含DRAM与英特尔傲腾持久化内存模块的分层主内存系统上,我们的评估证实:与HeMem和Linux AutoNUMA相比,MaxMem在动态共存场景下的大数据键值存储应用中,吞吐量分别提升11%和38%,第99百分位延迟分别降低80%和一个数量级。