Rcmp: Reconstructing RDMA-Based Memory Disaggregation via CXL——论文阅读

TACO 2024 Paper CXL论文阅读笔记整理

背景

RDMA:RDMA是一系列协议,允许一台机器通过网络直接访问远程机器中的数据。RDMA协议通常固定在RDMA NIC(RNIC)上,具有高带宽(>10 GB/s)和微秒级延迟(~2μs),这些协议得到了InfiniBand、RoCE和OmniPath等公司的广泛支持[20, 47, 62]。RDMA基于两种类型的操作原语提供数据传输服务:单侧动词,包括RDMA READ、WRITE、ATOMIC(例如FAA、CAS);双侧动词,包括RDMA SEND、RECV。RDMA通信是通过队列对(QP)和完成队列(CQ)的消息队列模型来实现的。QP由发送队列(SQ)和接收队列(RQ)组成。发送方将请求发布到SQ(单侧或双侧动词),RQ用于在双侧动词中排队RDMA RECV请求,CQ与指定的QP相关联。同一个SQ中的请求按顺序执行,通过门铃批处理[47,64],可以将多个RDMA操作合并到一个请求中。这些请求随后由RNIC读取,异步地从远程存储器写入或读取数据。当发送器的请求完成时,RNIC将完成条目写入CQ,以便发送器可以通过轮询CQ来知道它。

CXL:CXL是一种基于PCIe的开放式行业标准,用于处理器、加速器和内存之间的高速通信,采用load/store语义的缓存方式。CXL包含三个独立的协议,包括:CXL.io、CXL.cache和CXL.mem。CXL.mem允许CPU直接通过PCIe总线(FlexBus)访问底层内存,而不涉及页故障或DMA。因此,CXL可以提供字节可寻址内存(CXL内存),并允许透明的内存分配。目前大多数论文中使用的CXL原型的访问延迟约为170至250 ns[30,32,49]。

问题

内存分解是现代数据中心的一种很有前途的架构,它将计算和内存资源分离成由超快网络连接的独立池,提高内存利用率,降低成本,并实现计算和内存的弹性扩展,如图1。

现有的基于远程直接内存访问(RDMA)的内存分解方案存在高延迟和额外开销。高延迟体现为,RDMA可以提供1.5∼3 μs的延迟,但DRAM延迟为80∼140 ns。额外开销包括页错误和代码重构,RDMA需要侵入性的代码修改和中断开销,基于RDMA的内存分解包括基于页和基于对象的方法,基于页的方法涉及页错误处理和读/写放大的额外开销[10,41],而基于对象的方法需要接口更改和源代码级别的修改,这会牺牲透明度[17,56]。

新兴的缓存一致互连(如CXL)提供了重建高性能内存分解的机会,CXL支持内存语义,并具有类似的多套接字NUMA访问延迟(约170~250 ns[21,45])。但是,现有的基于CXL的方法有物理距离限制,不能跨机架部署。

挑战

因为CXL和RDMA各自的限制,一种新的思路是在机架中构建基于CXL的小型存储器池,并使用RDMA来连接机架形成更大的内存池。但面临以下挑战:

  • 粒度不匹配:基于CXL的方法支持缓存行粒度的缓存一致性,基于RDMA的方法的访问粒度是页面或对象,需要重新设计混合体系结构的内存管理和访问机制。

  • 通信不匹配:RDMA通信依赖于RNIC和消息队列,而CXL则基于高速链路和缓存一致性协议。需要实现机架间和机架内通信的统一和高效的抽象。

  • 性能不匹配:RDMA的延迟远大于CXL(约10倍),将导致不一致的访问模式(类似于NUMA架构)。访问本地机架中的内存比访问远程机架快得多,机架之间的RDMA通信成为主要的性能瓶颈。

本文方法

本文提出了基于RDMA和CXL的低延迟、高可扩展的内存池Rcmp,通过CXL提高了基于RDMA的系统的性能,并利用RDMA克服了CXL的距离限制。

  • 提供了基于全局页面的内存空间管理,并实现了细粒度的数据访问,将数据移动大小(缓存行粒度)与内存分配大小(页粒度)解耦,避免IO放大。

  • 设计了高效的机架内和机架间通信机制,以避免通信阻塞问题。

  • 提出了热页识别和交换策略,以及具有同步机制的CXL内存缓存策略,以减少跨机架RDMA通信。

  • 设计了RDMA感知的RPC框架来加速跨机架RDMA传输。

开源代码:GitHub - PDS-Lab/Rcmp: Rcmp: Reconstructing RDMA-based Memory Disaggregation via CXL

实现了Rcmp的原型,并通过使用微基准测试和YCSB来评估其性能。结果表明,与基于RDMA的系统相比,Rcmp可以降低5.2倍的延迟、提升3.8倍的吞吐量。还证明了Rcmp可以很好地随着节点数量的增加而扩展,而不会影响性能。

整体架构

全局内存管理:Rcmp通过基于页面的方法实现全局内存管理。页面管理方法易于采用,并且对所有用户应用程序都是透明的;与基于对象的方法相比,基于页面的方法更适合CXL的字节访问特性。为了进行细粒度管理,每个页面都被划分为许多块,并使用集中式元数据服务器(MS)来管理内存地址的分配和映射。Rcmp以缓存行粒度访问和移动数据,与内存页面大小解耦。由于CXL支持内存语义,Rcmp自然可以在机架内以缓存线粒度进行访问。对于远程机架访问,Rcmp通过使用直接访问模式(direct-I/O)而不是由页面故障触发的页面交换来避免性能下降。

高效通信机制:如图4所示,混合架构有三种可选的远程机架通信方法。在方法(a)中,每个CN通过其RNIC访问远程机架中的存储器池。但有一下确定:RNIC设备过多导致高成本;每个CN都有CXL链路和RDMA接口,导致高一致性维护开销;与有限的RNIC存储器的高争用导致频繁的缓存失效和更高的通信延迟[17,63]。在方法(b)中,在每个机架上使用一个守护程序服务器(配备RNIC)来管理对远程机架的访问请求。守护程序可以降低成本和一致性开销,但单个守护程序将导致RDMA带宽有限。在方法(c)中,使用哈希对CN进行分组,每个组对应于一个守护程序,以避免守护程序成为性能瓶颈。所有守护进程都构建在同一个CXL内存上,并且很容易保证一致性。Rcmp支持后两种方法,在小规模节点下默认采用方法(b)。

Rcmp使用无锁环形缓冲器来实现高效的机架内和机架间通信。CN需要与Daemon通信,以确定是本地访问还是远程访问,但这两种情况的访问延迟存在显著差异。为了防止通信阻塞,如本地访问排在远程访问之后导致阻塞,Rcmp为不同的访问场景使用了两个环形缓冲区结构,如图10所示。对于本地访问,使用普通环形缓冲区进行通信,图中的绿色缓冲区。由于所有访问都是超低延迟的(通过CXL),即使在高度冲突的情况下也不会发生阻塞。并基于Flock的方法[36],环缓冲区(和RDMA QP)在线程(一个CN)之间共享,以实现高并发性。对于远程访问,使用双层环形缓冲区。第一环形缓冲器(轮询缓冲器)存储消息元数据(例如,类型、大小)和指向存储消息数据的第二缓冲器(数据缓冲器)的指针。轮询缓冲区中的数据长度固定,而数据缓冲区中消息的长度可变。当数据缓冲区中的消息完成时,将请求添加到轮询缓冲区。守护线程轮询轮询缓冲区以处理当前指针指向的消息。例如,在图10中,首先填充数据缓冲区中的后一个Msg2,然后首先将请求添加到轮询缓冲区。因此,Msg2将首先被处理而不被阻塞。在实现中,使用无锁KFIFO队列[50]作为轮询缓冲区,数据缓冲区是正常的环形缓冲区。

远程机架访问优化:减少远程机架访问,Rcmp提出了一种基于页的热页识别和用户级热页交换方案,以将频繁访问的页迁移到本地机架,从而实现较少的远程机架访问。为了进一步利用时间和空间局部性,Rcmp将远程机架的细粒度访问缓存在CXL内存中,并将写入请求批处理到远程机架。加速RDMA通信,提出了一种具有混合传输模式和其他优化(例如,门铃批处理)的高性能RDMA RPC(RRPC)框架,以充分利用RDMA网络的高带宽。

实验

实验环境:五台服务器,每台服务器配备两个socket Intel Xeon Gold 5218R CPU@2.10 Ghz、128 GB DRAM、一个100 Gbps Mellanox ConnectX-5 RNIC。操作系统是Ubuntu 20.04和Linux 5.4.0-144-generic。NUMA节点0和节点1的互连延迟分别为138.5ns和141.1ns,节点内访问延迟分别为93ns和89.7ns。使用NUMA架构模拟CXL。

数据集:微基准测试、YCSB

实验对比:读写延迟、吞吐量

实验参数:数据大小、客户端数量、机架数量、消融实验

总结

针对RDMA和CXL结合的内存分解。本文提出基于RDMA和CXL的内存池Rcmp,通过CXL提高了基于RDMA的系统的性能,并利用RDMA克服了CXL的距离限制。包括4个创新点:(1)基于全局页面的内存空间管理,支持细粒度的数据访问,避免IO放大。(2)使用不同缓存区结构避免通信阻塞,机架内访问使用环形缓存区,机架间访问使用双层缓冲区,第一级存储已完成的访问避免阻塞,第二级使用环形缓存区,执行完时将请求添加到第一级缓冲区。(3)使用热页识别和交换策略,以及具有同步机制的CXL内存缓冲区,以减少跨机架RDMA通信。(4)设计了RDMA感知的RPC框架来加速跨机架RDMA传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算 | (八)基本云架构

文章目录 📚负载分布架构🐇负载分布架构🐇单机系统🐇应用、数据库分离🐇应用服务集群🐇微服务🐇负载均衡分类🐇Nginx🐇负载均衡算法⭐️轮询法⭐️随机法⭐️源地址哈希法⭐️加权轮询法⭐️加权随机法⭐️键值范围法📚资源池架构📚动态可扩展架构📚弹…

Vatee万腾平台:智能科技的领航者

随着科技的飞速发展,数字化转型已成为企业、行业乃至整个社会不可逆转的趋势。在这个变革的浪潮中,Vatee万腾平台凭借其卓越的技术实力、前瞻的战略眼光和卓越的服务品质,成为了智能科技的领航者。 Vatee万腾平台致力于为企业提供全方位的数字…

java:spring actuator扩展原有info endpoint的功能

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89437506 # 项目代码 【pom.xml】 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId&…

客户端输入网址后发生的全过程解析(协议交互、缓存、渲染)

目录 1. 输入 URL 并按下回车键2. DNS 解析3. TCP 连接4. 发送 HTTP 请求5. 服务器处理请求6. 发送 HTTP 响应7. 浏览器接收响应8. 渲染网页9. 执行脚本10. 处理其他资源11. TLS/SSL 加密&#xff08;如果使用 HTTPS&#xff09;握手过程 12. 协议协商和优化 总结 1. 输入 URL …

Ubuntu下FastDDS的源码编译和简单测试

FastDDS是eprosima公司开发的DDS&#xff08;Data Distribution Service&#xff09;库&#xff0c;使用的语言是C&#xff0c;自称是"The Most Complete Open Source DDS Middleware"&#xff0c;其官网是https://eprosima.com/&#xff0c;FastDDS源码在https://gi…

【TB作品】MSP430G2553,单片机,口袋板,流量积算仪设计

题9 流量积算仪设计 某型流量计精度为0.1%, 满刻度值为4L/s&#xff0c;流量计输出为4—20 mA。 设计基于MSP430及VFC32的流量积算仪。 具体要求 (1) 积算仪满刻度10000 L&#xff0c;精度0.1 L; 计满10000 L&#xff0c;自动归零并通过串口&#xff08;RS232&#xff09;向上位…

【Cloudscapes V2】Blender商城10周年免费领取礼物超逼真的Vdb云和爆炸合集烟雾体积云字体符号轨迹火焰粒子

6月19号的限时免费领取插件挺牛的&#xff0c;可以在blender里渲染体积云、爆炸特效、火焰、烟雾等效果&#xff0c;非常逼真。 Blender商城10周年免费领取礼物&#xff1a;https://blendermarket.com/birthday Cloudscapes V2 - 超逼真的 Vdb 云和爆炸合集 CloudScapes 是 …

优思学院|怎么选择精益生产培训才不会被坑?

在选择精益生产培训公司时&#xff0c;我们需要从多个角度去思考。企业若只是盲目地跟风&#xff0c;这样的做法无异于缘木求鱼。精益生产的核心在于发现和消除那些不增值的活动&#xff0c;从而提升产品的质量和生产效率&#xff0c;但要知道的是&#xff0c;发现和改进的人就…

揭秘与应对:一打开移动硬盘就提示格式化的深度解析

在日常的数据存储与交换中&#xff0c;移动硬盘因其便携性和大容量而备受青睐。然而&#xff0c;有时我们可能会遇到一种令人困扰的现象&#xff1a;当试图打开移动硬盘时&#xff0c;系统会弹出一个警告窗口&#xff0c;提示“磁盘未被格式化&#xff0c;是否现在格式化&#…

Llama 3 大型语言模型到底是如何炼成的?

Meta 在今年 4 月开源了 Llama 3 大型语言模型&#xff0c;这是 Meta&#xff0c;也是整个行业迄今为止功能最强大的开源 LLM。 那么 Meta 是如何训练 Llama 3 大型语言模型的&#xff0c;又在训练过程中遇到了什么问题&#xff0c;提出了什么新的解决方案呢&#xff1f;近日&…

计算机行业的现状与未来之2024

年年都说编程好&#xff0c;编程工资涨不了。 人家骑车送外卖&#xff0c;月入两万好不好。 一、计算机专业的背景与现状 在过去几十年里&#xff0c;计算机科学相关专业一直是高考考生的热门选择。无论是计算机科学与技术、软件工程&#xff0c;还是人工智能与大数据&#xff…

防止员工离职导致数据泄露,员工离职后把文件带出公司

中科数安的电脑文件资料透明加密防泄密系统确实能够在一定程度上防止员工离职导致的数据泄露。以下是具体的分析&#xff1a; www.weaem.com 访问控制与权限管理&#xff1a;系统实施了严格的权限管理制度&#xff0c;对核心文件和数据资源进行细致的访问权限划分。这意味着&am…

《无与伦比》Centos7 扩容到已有逻辑卷

命令可以查找硬盘和分区情况 fdisk -l lsblk

掌握市场脉动,Anzo Capital深度解析随机指标的超买超卖秘密

随机指标&#xff0c;作为市场分析的利器&#xff0c;主要用于判断资产价格的相对位置&#xff0c;是揭示市场超买与超卖状态的关键工具&#xff0c;也是大多数交易平台的标准配置。它以独特的视角&#xff0c;帮助交易者捕捉市场的微妙变化。下面跟随Anzo Capital视角&#xf…

leetcode (top100)接雨水

题目&#xff1a; 题解&#xff1a; 可以把每个宽度看作一个桶&#xff0c;每个桶能接的水等于这个桶左右两个方向最高桶的最小高度再减去这个桶本身的高度。把每个桶能接的水相加即可。 难点在于如何快速找到当前桶的左右两个方向的最高桶的高度&#xff0c;可以先遍历一遍…

数据库物理计划执行指南

一、背景介绍 伴随信息技术地迅猛发展和应用范围地逐步扩大&#xff0c;数据库已成为企业存储与管理数据的重要工具。但数据量激增以及用户访问需求的与日剧增&#xff0c;数据库性能也将面临巨大挑战。 好在数据库物理计划执行是解决数据库性能问题的重要手段之一&#xff0…

【技巧】Leetcode 201. 数字范围按位与【中等】

数字范围按位与 给你两个整数 left 和 right &#xff0c;表示区间 [left, right] &#xff0c;返回此区间内所有数字 按位与 的结果&#xff08;包含 left 、right 端点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;left 5, right 7 输出&#xff1a;4 解题思路 …

服务器数据恢复—KVM虚拟机被误删除如何恢复虚拟磁盘文件?

服务器数据恢复环境&故障&#xff1a; 1台服务器&#xff0c;Linux操作系统EXT4文件系统&#xff0c;部署了数台KVM虚拟机&#xff0c;每台虚拟机包含一个qcow2格式的磁盘文件&#xff0c;和一个raw格式的磁盘文件。 工作人员操作失误删除了3台服务器上的KVM虚拟机&#xf…

13.4 内存管理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【课程系列04】某客时间AI大模型应用开发实战营

网盘链接 https://pan.baidu.com/s/1blR1eIMDIIp6AbxU4YaK9w 课程收获 "AI大模型应用开发实战营"是一个为期八周的在线课程&#xff0c;旨在教授学员如何开发和应用AI大模型。课程内容从基础理论到实际应用&#xff0c;逐步深入&#xff0c;覆盖了以下要点&#x…