Multi-terabyte large memory systems are emerging. They are often characterized with more than two memory tiers for large memory capacity and high performance. Those tiers include slow and fast memories with different latencies and bandwidths. Making effective, transparent use of the multi-tiered large memory system requires a page management system, based on which the application can make the best use of fast memories for high performance and slow memories for large capacity. However, applying existing solutions to multi-tiered large memory systems has a fundamental limitation because of non-scalable, low-quality memory profiling mechanisms and unawareness of rich memory tiers in page migration policies. We develop HM-Keeper, an application-transparent page management system that supports the efficient use of multi-tiered large memory. HM-Keeper is based on two design principles: (1) The memory profiling mechanism must be adaptive based on spatial and temporal variation of memory access patterns. (2) The page migration must employ a holistic design principle, such that any slow memory tier has equal opportunities to directly use the fastest memory. We evaluate HM-Keeper using common big-data applications with large working sets (hundreds of GB to one TB). HM-Keeper largely outperforms seven existing solutions by 15%-78%
翻译:多TB级大内存系统正在兴起,这类系统通常包含超过两个内存层级以兼顾大容量与高性能,涵盖不同延迟和带宽的慢速与快速内存。有效且透明地利用多层大内存系统需要页面管理机制,使应用程序能够最佳利用快速内存实现高性能,同时借助慢速内存实现大容量。然而,现有方案因内存特征分析机制的可扩展性差、质量低下,以及页面迁移策略未充分感知多层内存层级结构,在多层大内存系统中存在根本性局限。我们提出HM-Keeper——一种支持高效利用多层大内存的应用程序透明页面管理系统。该系统基于两大设计原则:(1)内存特征分析机制需根据内存访问模式的时空变化自适应调整;(2)页面迁移需采用全局设计原则,使得任意慢速内存层级均能直接使用最快内存。通过使用工作集规模达数百GB至1TB的通用大数据应用进行评估,HM-Keeper相比现有七种方案性能提升15%-78%。