With increasing memory demands for datacenter applications and the emergence of coherent interfaces like CXL that enable main memory expansion, we are about to observe a wide adoption of tiered-memory subsystems in hyperscalers. In such systems, main memory can constitute different memory technologies with varied performance characteristics. In this paper, we characterize the memory usage of a wide range of datacenter applications across the server fleet of a hyperscaler (Meta) to get insights into an application's memory access patterns and performance on a tiered memory system. Our characterizations show that datacenter applications can benefit from tiered memory systems as there exist opportunities for offloading colder pages to slower memory tiers. Without efficient memory management, however, such systems can significantly degrade performance. We propose a novel OS-level application-transparent page placement mechanism (TPP) for efficient memory management. TPP employs a lightweight mechanism to identify and place hot and cold pages to appropriate memory tiers. It enables page allocation to work independently from page reclamation logic that is, otherwise, tightly coupled in today's Linux kernel. As a result, the local memory tier has memory headroom for new allocations. At the same time, TPP can promptly promote performance-critical hot pages trapped in the slow memory tiers to the fast tier node. Both promotion and demotion mechanisms work transparently without any prior knowledge of an application's memory access behavior. We evaluate TPP with diverse workloads that consume significant portions of DRAM on Meta's server fleet and are sensitive to memory subsystem performance. TPP's efficient page placement improves Linux's performance by up to 18%. TPP outperforms NUMA balancing and AutoTiering, state-of-the-art solutions for tiered memory, by 10-17%.
翻译:随着对数据中心应用的记忆需求不断增长,以及像CXL这样的CXL等一致界面的出现,使得主要记忆扩展成为了主要的记忆扩展,我们即将看到大量采用分层的模拟子系统。在这样的系统中,主要记忆可以构成不同记忆技术,具有不同的性能特点。在本文中,我们描述超标(Meta)服务器机队中一系列广泛的数据中心应用的记忆使用,以洞察应用程序的内存访问模式和分级记忆系统中的性能。我们的特征显示,由于存在将冷页下载到较慢的记忆层的机会,因此,数据中心应用可以受益于分级的内存系统。但是,如果没有高效的记忆管理,这些系统可以大大降低性能。我们提议了一个全新的OS级应用程序透明页面设置机制(TPP),用于识别和放置10级记忆层的热和冷页。它使得页面的配置可以独立于当前Linux内核内存敏感度的逻辑,因此,升级的内存系统可以从更紧密地连接到更慢的内存层的内存层的内存。作为结果的内存层内存层内存的内存分层内存系统可快速的内存分层内存系统,在新的内存系统内存的内存的内存系统内存系统内存的内存系统内存的内存系统内存的内存的内存取。