arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2603.03271cs.DBcs.OS
收藏

分层内存辅助的缓冲管理

Virtual-Memory Assisted Buffer Management In Tiered Memory

Purdue University(普渡大学)

Yeasir Rayhan, Walid G. Aref

AI总结:

本文提出vmcache$^n$,一种基于分层内存的缓冲管理方案,通过虚拟内存子系统和系统调用实现跨内存层级的页面迁移,提升查询吞吐量。

摘要:

分层内存架构近年来在数据库社区中获得了显著的关注。在这些架构中,主机处理器的片上DRAM通常被称为本地内存,构成主要层级。此外,字节寻址、缓存一致的内存资源,统称为远程内存(RMem,简称RMem),形成一个或多个次级层级。RMem比本地DRAM慢,但比磁盘快,例如位于远程socket的NUMA内存、芯片附件内存,以及通过高性能互连协议(如RDMA和CXL)连接的内存。在本文中,我们讨论传统双层级(DRAM-磁盘)虚拟内存辅助缓冲管理技术如何推广到n层级设置(DRAM-RMem-磁盘)。我们提出了vmcache$^n$,一个n层级虚拟内存辅助的缓冲池,利用虚拟内存子系统和操作系统调用来在内存层级之间迁移页面。在这种设置中,页面迁移可能会成为瓶颈。为了解决这一限制,我们引入了move_pages2系统调用,为vmcache$^n$提供对页面迁移过程的细粒度控制。实验显示,vmcache$^n$在TPC-C工作负载上可以实现比vmcache高4倍的查询吞吐量。

英文摘要:

Tiered memory architectures have gained significant traction in the database community in recent years. In these architectures, the on-chip DRAM of the host processor is typically referred to as local memory, and forms the primary tier. Additional byte-addressable, cache-coherent memory resources, collectively referred to as remote memory (RMem, for short), form one or more secondary tiers. RMem is slower than local DRAM but faster than disk, e.g., NUMA memory located on a remote socket, chiplet-attached memory, and memory attached via high-performance interconnect protocols, e.g., RDMA and CXL. In this paper, we discuss how traditional two-tier (DRAM-Disk) virtual-memory assisted Buffer Management techniques generalize to an $n$-tier setting (DRAM-RMem-Disk). We present vmcache$^n$, an $n$-tier virtual-memory-assisted buffer pool that leverages the virtual memory subsystem and operating system calls to migrate pages across memory tiers. In this setup, page migration can become a bottleneck. To address this limitation, we introduce the move_pages2 system call that provides vmcache$^n$ with fine-grained control over the page migration process. Experiments show that vmcache$^n$ can achieve up to 4$\times$ higher query throughput over vmcache for TPC-C workloads.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑