本期发布术语热词:分离式内存(disaggregated memory)。
开篇导语:
分离式内存系统旨在提供一种动态调整节点内存资源的机制。其期望在中小集群上(100 块CPU以内)提供一种延迟介于访问NUMA远端内存和访问最新NVMe SSD的之间的内存访问手段。
从应用角度来看,分离式内存可以有两种表现形式:1)表现为一种比换出SSD延迟更好的虚拟内存后端,提升整机的虚拟内存性能; 2)表现为一种比本地 DRAM 稍慢的异质内存,应用可以将冷数据显式地保存到分离式内存中,而不是保存在储存设备中,提升再次访问的性能。
现有的分离式内存系统需要区别于分布式共享内存系统,后者由于强调线程间共享,需要维护多节点之间的一致性(Coherence)问题,而分离式内存系统通常为了缩短延迟和提高吞吐量主动放弃一致性的保证。不过放弃一致性带来了更灵活的配置能力,可以更好的满足不同集群的计算能力和内存需求。
分离式内存可以实现内存资源解耦合,能够有效的提升数据中心资源的灵活性。与此同时,现有的分离式内存实现在提高系统内存利用率、提升任务总吞吐量、减小系统能耗等方面都有可观的提升。
分离式内存系统(disaggregated memory system)
作者:董佳霖 宫晓利(南开大学)
InfoBox:
中文名:分离式内存
外文名:disaggregated memory
背景与动机:
虚拟化和云计算等技术极大地推动了计算机相关产业的发展。资源池化是云计算的核 心支撑技术之一。虚拟化技术可以实现在一个物理主机上创建多个虚拟主机或容器,并通过资源池化的技术实现可用资源的灵活分配。这些技术使得计算任务的资源管理与物理主机的运维相互独立,从而降低了开发成本,提高了运转效率。特别是计算与存储资源的分离式管理,实现了软件定义存储(SDS),软件定义数据中心 (SDDC) 等技术方案,为大规模、高扩展的软件设计提供了便利。
然而物理内存作为昂贵(占据数据中心价值的50%以上[1])且重要的资源,其池化管 理依然存在挑战:(1)为单体服务器扩展内存通常非常浪费且昂贵,由于配置内存时必须按照严格顺序对称地扩展内存,且物理内存容量以指数单位增长,通常扩展内存会带来更大的 内存浪费;(2)CPU与内存紧密耦合,CPU仅能使用与安装在同一台物理主机上的内存资源。Azure数据中心的服务器在CPU有 85%租借给虚拟机后,平均有10%以上的内存闲置,无法被任何CPU利用[2];(3)新型内存技术无法兼容原有的CPU和主板。例如,Intel Optane非易失性内存需要配合 Xeon 金牌以上的处理器才可以工作。存内计算的 (Process In Memory, PIM) 也需要 CPU 提供新的指令支持。
众多云服务提供商以及研究者希望CPU和DRAM资源可以像储存设备一样,实现低开销的池化管理。分离式内存技术(Disaggregated memory)就是其中一种内存池化的可行路线。分离式内存给予主机像访问本地DRAM一样,访问其他主机的空闲内存(或内存池) 的能力。新型高带宽低延时网络硬件、协议(如 RDMA 网卡[7])的发展,已经可以提供100Gbps带宽、纳秒级延迟的网络互联,这使得集群尺度下分离式内存池,对比SSD等承 载虚拟内存的介质,在访存延迟(<1μs | >10μs )和带宽(>100Gbps | <5Gbps)上都有了明显优势。
分离式内存可以实现内存资源解耦合,能够有效的提升数据中心资源的灵活性。在这个大前提下,现有的工作通常围绕以下三个思路进行:1)通过使用分离式内存,使用微弱的性能下降换取更大的任务负载带宽或者较大的能耗下降,单位时间完成任务总量更多。此类研究有 fastswap[3]、zombieland[4]等;2)通过使用分离式内存,以微弱性能下降换取更高的资源利用率(尤其是 DRAM 资源)、减小资源利用率不均衡等问题。此类研究有 infiniswap[5]等;3)提供与本地DRAM 访问拥有接近时延的分离式内存服务,为应用提供“额外”内存来提高应用性能的。此类研究有 AIFM[6]等。
研究概况:
在Clio中计算节点(CN)直接使用以太网网卡连接到机柜交换机中,同时将内存节点(MN)直接连接到交换机上,在计算节点中运行的程序可以通过用户态库CLib使用内存节点的资源。
内存节点实现为一个异构设备,包括:1)快速路径:负责处理数据获取的ASIC硬件电路(FPGA 实现原型);2)慢速路径:ARM处理器,用来执行软件和处理元数据以及复杂的控制逻辑 ;3)扩展路径:一块 FPGA,可供计算节点转移一部分数据处理任务到内存节点使用。输入的请求首先进入ASIC电路进行路径判断,决定使用哪条通路完成请求响应。如果是快速路径则有硬件实现的虚拟内存系统完成地址转换、权限检测、页错误等。再由内存控制器完成存取后通过硬件实现的网络栈返回请求。
Clio同样不提供多个进程的内存共享,它采用一个基于哈希表的单层页表以加速页面地址翻译过程,且该哈希表被所有进程共享,表的物理地址固定以方便硬件电路查找。为了减小由于哈希冲突造成的影响,Clio在页面分配时(慢速路径)会通过反复查找确保返回的页面都不存在哈希冲突。更好的远程内存响应速度也带来了Clio的一个缺陷:无法支持 mmap这种连续的内存映射,只能通过计算节点的本地内存使用这类映射。
参考文献
[1] CXL And Gen-Z Iron Out A Coherent Interconnect Strategy. https://www.nextplatform.com/2020/04/03/cxl-and-gen-z-iron-out-a-coherentinterconnect-strategy/, 2020.
[2] First-generation Memory Disaggregation for Cloud Platforms. Huaicheng Li, Daniel S. Berger, Stanko Novakovic, Lisa Hsu (arxiv 2022.03) .
[3] Emmanuel Amaro, Christopher Branner-Augmon, Zhihong Luo, Amy Ousterhout, Marcos K. Aguilera, Aurojit Panda, Sylvia Ratnasamy, and Scott Shenker. 2020. Can far memory improve job throughput? In Proceedings of the Fifteenth European Conference on Computer Systems (EuroSys '20) .
[4] Vlad Nitu, Boris Teabe, Alain Tchana, Canturk Isci, and Daniel Hagimont. 2018. Welcome to zombieland: practical and energy-efficient memory disaggregation in a datacenter. In Proceedings of the Thirteenth EuroSys Conference (EuroSys '18).
[5] J. Gu, Y. Lee, Y. Zhang, M. Chowdhury, and K. G. Shin. Efficient Memory Disaggregation with Infiniswap. In NSDI, 2017.
[6] Zhenyuan Ruan,, Malte Schwarzkopf, Marcos K. Aguilera, Adam Belay. AIFM: HighPerformance,Application-Integrated Far Memory. In OSDI, 2020.
[7] Chuanxiong Guo, Haitao Wu, Zhong Deng, Gaurav Soni, Jianxi Ye, Jitu Padhye, and Marina Lipshteyn. “RDMA over Commodity Ethernet at Scale”. In: ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communi cations (SIGCOMM). 2016.
[8] Guo, Zhiyuan & Shan, Yizhou & Luo, Xuhao & Huang, Yutong & Zhang, Yiying. (2021). Clio: A Hardware-Software Co-Designed Disaggregated Memory System.
[9] ABOUT CXL | Compute Express Link https://www.computeexpresslink.org/about-cx.
术语工委及术语平台介绍:
计算机术语审定委员会(Committee on Terminology)主要职能为收集、翻译、释义、审定和推荐计算机新词,并在CCF平台上宣传推广。这对厘清学科体系,开展科学研究,并将科学和知识在全社会广泛传播,都具有十分重要的意义。
术语众包平台CCFpedia的建设和持续优化,可以有效推进中国计算机术语的收集、审定、规范和传播工作,同时又能起到各领域规范化标准定制的推广作用。
新版的CCFpedia计算机术语平台(http://term.ccf.org.cn)将术语的编辑运营与浏览使用进行了整合,摒弃老版中跨平台操作的繁琐步骤,在界面可观性上进行了升级,让用户能够简单方便地查阅术语信息。同时,新版平台中引入知识图谱的方式对所有术语数据进行组织,通过图谱多层关联的形式升级了术语浏览的应用形态。
计算机术语审定工作委员会
主任:
刘挺(哈尔滨工业大学)
副主任:
王昊奋(同济大学)
李国良(清华大学)
主任助理:
李一斌(上海海乂知信息科技有限公司)
执行委员:
丁军(上海海乂知信息科技有限公司)
林俊宇(中国科学院信息工程研究所)
兰艳艳(清华大学)
张伟男(哈尔滨工业大学)
点击“阅读原文”,加入CCF。