联手体系结构专业委员会:“分离式内存”术语发布 | CCF术语快线

2022 年 3 月 25 日 中国计算机学会

 



本期发布术语热词:分离式内存(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]等。 


研究概况:

普渡大学(Purdue University)的单(Yizhou Shan)等人于 2018 年提出了一种分离式 内核(splitkernel)实现LegoOS。区别于现有的运行于单体服务器上的操作系统,LegoOS将传统操作系统的任务拆分,将系统的任务转化为松耦合的数种资源监视器;并用此种方式实现了动态地添加、移除各类硬件资源,且不影响系统剩余部分的功能。全局角度来看,分离式内核(splitkernel)只负责两种任务:管理资源的跨部件分配;处理部件失效。LegoOS的最核心贡献在于提出了一种新的计算节点和内存节点的工作模式,其硬件功能抽象如下图: 


上图介绍了两类节点,计算节点(pComponent)和内存节点(mComponent)。内存节点(mComp)负责全部的物理内存相关操作(如TLB和页表)并负责向计算节点(pComp)提供虚拟内存分配、访问服务。内存节点可以选择自己的物理-虚拟地址转化方式和物理内存分配技术,只需向计算节点提供同样的接口协议即可。而计算节点(pComp)将只会看到虚拟地址,它使用虚拟地址来索引ExCache和 L1-L3 Cache,并使用(进程)地址空间标记来解决虚拟Cache的同义性问题;同时放弃提供进程间内存共享来规避虚拟Cache的同步问题。其中 ExCache 一般为少量 DRAM 内存(大约 4GB)用来减小内存访问开销。节点之间使用10GB/s的RDMA连接,保证了可接受的内存拷贝时延(小于 10μs)。不足的是,LegoOS在x86架构上实现其原型,硬件在TLBmiss 后直接进行页表遍历,导致计算节点只能通过 page fault访问ExCache,致使ExCache 的行大小不能比 4KB 更小,限制了系统性能。 

加州大学圣地亚哥分校的郭(Zhiyuan Guo)等人于2022年提出了一种软硬件协同设计分布式内存系统Clio[8],他们的设计的硬件内存节点可以达到100Gbps带宽以及3μs的网络时延。在Clio中他们实现了软硬件协同设计并设计了新的软件栈和虚拟内存系统。Clio的整体接口架构如下图: 


在Clio中计算节点(CN)直接使用以太网网卡连接到机柜交换机中,同时将内存节点(MN)直接连接到交换机上,在计算节点中运行的程序可以通过用户态库CLib使用内存节点的资源。 


内存节点实现为一个异构设备,包括:1)快速路径:负责处理数据获取的ASIC硬件电路(FPGA 实现原型);2)慢速路径:ARM处理器,用来执行软件和处理元数据以及复杂的控制逻辑 ;3)扩展路径:一块 FPGA,可供计算节点转移一部分数据处理任务到内存节点使用。输入的请求首先进入ASIC电路进行路径判断,决定使用哪条通路完成请求响应。如果是快速路径则有硬件实现的虚拟内存系统完成地址转换、权限检测、页错误等。再由内存控制器完成存取后通过硬件实现的网络栈返回请求。

 

Clio同样不提供多个进程的内存共享,它采用一个基于哈希表的单层页表以加速页面地址翻译过程,且该哈希表被所有进程共享,表的物理地址固定以方便硬件电路查找。为了减小由于哈希冲突造成的影响,Clio在页面分配时(慢速路径)会通过反复查找确保返回的页面都不存在哈希冲突。更好的远程内存响应速度也带来了Clio的一个缺陷:无法支持 mmap这种连续的内存映射,只能通过计算节点的本地内存使用这类映射。 


未来展望:
目前分离式内存系统多处于原型状态,还没有其他云服务提供商提出可以投入生产环境的分离式内存系统。且现有的实现都或多或少存在难以接受的缺陷:例如 1)系统级/VM 管理程序级的实现,需要通过 page fault 来实现内存的访问且需要阻塞地访问远端内存,这类方法通常会带来一定性能损耗;2)运行时和应用级的分离式内存通常需要使用特殊设计的远程访问 API,并且需要 APP 代码编写者对显式远程内存操作的开销有合理的规划,才能达到比 1 更好的性能;3)基于新硬件(FPGA)的方法,没有办法使用商业部件,不利于云服务提供商的部署。 

目前还未出现足以部署在生产环境中的系统实现,但资源的池化、松耦合化可以为数据中心减小硬件成本、设备维护成本、减小硬件失效瘫痪半径,从而为云服务提供商带来巨大的收益。因此分离式内存系统近年来同时在学术界和工业界成为了研究热点。一些新协议的出现为该领域带来了新的机遇,例如CXL网络标准[9]可以提供新型的可按byte地址访存的设备,其有机会让访问间隔数个机柜距离的分离式内存达到接近NUMA远端内存访问的延迟水平,或许其有机会成为比RDMA更适合构建分布式内存的硬件基础。 

参考文献

[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。

登录查看更多
1

相关内容

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易,对真正的物理内存(例如RAM)的使用也更有效率。
高性能计算专家Jack Dongarra获2021年图灵奖
专知会员服务
16+阅读 · 2022年3月30日
CCF发布计算领域高质量科技期刊分级目录
专知会员服务
25+阅读 · 2022年2月21日
专知会员服务
79+阅读 · 2021年7月28日
《人工智能计算中心白皮书》,43页pdf
专知会员服务
147+阅读 · 2021年3月5日
专知会员服务
13+阅读 · 2020年12月12日
专知会员服务
15+阅读 · 2020年11月8日
【北京大学】面向5G的命名数据网络物联网研究综述
专知会员服务
35+阅读 · 2020年4月26日
数据库技术新版图-Serverless数据库 | Q推荐
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
Arxiv
21+阅读 · 2021年12月31日
VIP会员
相关VIP内容
高性能计算专家Jack Dongarra获2021年图灵奖
专知会员服务
16+阅读 · 2022年3月30日
CCF发布计算领域高质量科技期刊分级目录
专知会员服务
25+阅读 · 2022年2月21日
专知会员服务
79+阅读 · 2021年7月28日
《人工智能计算中心白皮书》,43页pdf
专知会员服务
147+阅读 · 2021年3月5日
专知会员服务
13+阅读 · 2020年12月12日
专知会员服务
15+阅读 · 2020年11月8日
【北京大学】面向5G的命名数据网络物联网研究综述
专知会员服务
35+阅读 · 2020年4月26日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
Top
微信扫码咨询专知VIP会员