您订阅的产品有更新,请实时查阅
查看详情
颁布功夫:2023-07-20
CXL(Compute Express Link),是一种全新的设备互联技术尺度,已成为业界突破内存瓶颈的存储新技术。不仅用于内存容量/带宽扩大,还用于异构互联,数据中心资源池解耦。在数据中心,CXL技术能够将分歧的推算和存储资源进行互联,用更高的系统机能和效能来解决数据中心内存问题。
云推算、大数据分析、人为智能、机械进建蹬爪用的急剧发展带来数据中心存储和处置数据需要的爆炸性增长。传统DDR内存接口存在总带宽、每主题均匀带宽和容量可扩大性受限等问题。尤其在数据中心,受限于大量内存问题,新的内存接口技术CXL出现。
在数据中心,CPU内存是紧耦合关系,每代CPU都选取新的内存技术实现更高的容量和带宽。自2012年以来,主题数量迅速增长,但每个内核的内存带宽和容量并未相应增长,反而降落。这种趋向将在未来持续,内存容量增长速度也快于内存带宽,这对系统机能影响巨大。
此表,直连DRAM和SSD在延长和成本方面的巨大差距,使得昂贵的内存资源往往利用率很低,谬误的推算和内存比例很容易造成内存闲置(Stranded)租不出去的景象。数据中心业务作为全球本钱最密集的行业之一,低利用率是一个很大的职守。微软暗示,50%的服务器总成正本自DRAM。只管DRAM成本很高,但25%的DRAM内存还是浪费了。下图来自Meta内部的统计数据也显示类似景象。内存成本占系统总成本的比例现实上在不休上升,系统的重要成本已经造成是内存而不是CPU自身,使用CXL内存资源池能够有效改善这一问题,通过给系统动态分配内存资源能够优化推算和内存比例关系优化TCO。

分歧内存技术的延长概况

内存带宽/容量随功夫推移增长
分歧代内存在机架TCO/功耗占比

Microsoft Azure内存闲置
基于传统内存问题,业界一向在追求选取新的内存接口技术和系统架构。
在内存接口技术方面,PCI-Express(peripheral component interconnect express)成为首选。PCIe是串行总线,使用PCIe从机能和软件的角度来看分歧设备之间通讯的开销相对较高,但好新闻是,PCIe将依照打算在2023年底实现7.0版的核准,提供高达256GB/s 的速度;这距离16 GT/s速度的4.0版PCIe问世还不到两年。加快PCIe发展蓝图的重要推手是云端运算需要;而PCIe以往是每3~4年,甚至是7年会将数据传输速度提升一倍。

PCIe vs DDR 带宽对比
系统架构则是历经几代进化更迭。最初为实现多个服务器共享资源池的尝试,通常使用RDMA技术在通用以太网或InfiniBand上面实现,这些通讯步骤通常时延更高(本地内存几十纳秒vsRDMA几个微秒)和更低的带宽,并且也无法提供内存一致性等关键职能。

在40Gbps链路带宽网络可实现的往返延长(总计)
以及导致往返延长增长的组件(使用100Gbps可将数据传送削减0.5us)
2010年,CCIX成为潜在的行业尺度。它的驱动成分是必要比当前可用技术更快的互连,并且必要缓存一致性,以便在异构多处置器系统中更快地接见内存。CCIX规范的最大优势是它成立在PCI Express规范的基础之上,但它因不足关键行业支持,从未真正腾飞。
而CXL依附现有的PCIe5.0的物理层和电气层尺度及生态系统,为内存加载/存储(load/Store)事务增长缓存一致性和低时延个性。由于成立了行业中大无数重要参加者都支持的行业尺度和谈,CXL使向异构推算的过渡成为可能并获得宽泛的业界支持。AMD的Genoa和Intel的SapphireRapids将在2022岁暮/2023岁首支持CXL1.1。至此,CXL成为业界和学术界最有前途解决这一问题的技术之一。
CXL构建在PCIe物理层上,具备现有PCIe物理及电气接口个性,提供高带宽,高可扩大性特点。另表CXL与传统的PCIExpress(PCIe)互连相比拥有更低的时延,并且还提供一组怪异的新职能使CPU可能以拥有加载/存储(load/store)语义的高速缓存一致(Cache-Coherent)方式与表围设备(内存扩大和加快器及其衔接的存储器)通讯。该技术维持CPU内存空间和附加设备上内存的一致性,允许资源共享,从而获得更高机能,降低软件栈复杂性。与内存有关的设备扩大是CXL重要指标场景之一。

CXL依附现有PCIe物理及电气接口个性

CXL/PCIe实现内存资源扩大/池
CXL现实上蕴含三种和谈,但并非所有和谈都是延长的灵丹妙药。CXL.io(运行在PCIe总线的物理层上)依然拥有与以往一样类型的延长,但其他两个和谈,CXL.cache和CXL.mem选取了更快的蹊径,削减了延长。大无数CXL内存节造器会增约莫100-200纳秒的延长,额表的沉按时器会增长或破费几十纳秒,具体取决于设备与CPU的距离。

CXL引入时延与NUMA靠近

CXL/PCIe扩大内存系统架构
CXL在PCIePHY层复用分歧的和谈,CXL1.0/1.1规范附带3个和谈支持-CXL.io、CXL.cache和CXL.mem,大无数CXL设备将使用CXL.io、CXL.cache和CXL.mem的组合。CXL.io 使用与 PCIe 一样的事务层数据包 (Transaction Layer Packet, TLP)和数据链路层数据包 (DLLP)。TLP/DLLP覆盖在CXL flit的有效负载部门上。CXL界说了跨分歧和谈栈提供所需服务质量(QoS)的战术。PHY级此外和谈复用可确保CXL.cache和CXL.memory等延长敏感和谈拥有与本机CPU到CPU对称一致性链路一样的低延长。CXL为这些延长敏感和谈界说了引脚到引脚响应功夫的上限,以确保平台机能不会因实现一致性和内存语义的分歧设备之间的延长差距较大而受到不利影响。
由于安全使用其本地副本,CXL.cache允许CXL设备连贯地接见缓和存主机CPU的内存,能够把这设想成一个GPU直接从CPU的内存中缓存数据。
允许主机CPU连贯地接见设备的内存,将此视为CPU使用专用存储级内存设备或使用GPU/加快器设备上的内存。

从左向右顺次是CXLType1、CXLType3、CXLType2
CXL 2.0增长了对内存池和CXL互换的支持,允许多多主机和设备全数链接并相互通讯,从而使衔接在CXL网络上的设备数量显着增长。多台主机能够衔接到互换机,而后将互换机衔接到各类设备,若是该CXL设备是多头的并衔接到多个主机的根端口,则也能够在没有互换机的情况下实现。SLD(单个逻辑设备)是单个主机别离使用分歧内存池,MLD(多个逻辑设备)旨在耦合多个主机以分享统一物理内存池。
散布式内存资源网络将由结构治理器(FabricManager)掌管分配内存及设备编排,它相当于节造平面或协调器,位于单独的芯片上或互换机中,通常不必要高机能,由于不接触数据面。结构治理器(FabricManager)提供用于节造和治理该系统的尺度API,能够实现细粒度的资源分配、热插拔和动态扩容允许硬件在各个主机之间动态分配和转移,无需任何沉启。将所有这些结合在一路,微软汇报显示选取CXL方式实现内存资源池整体可削减10%内存需要,进而降低5%的总服务器成本的潜力。


CXL 2.0内存资源池(Switch vs Directconnect模式)
CXL发展势头强劲,三星、SK海力士、Marvell、Rambus、三星、AMD等大厂们的布局也在不休加快。公有云供给商在内的所有超大规模企业都起头尝试依赖CXL衔接内存池来改善内存闲置,动态矫捷增长带宽和容量的问题。但当前没有太多用于APP使用本地/表部混合伙源池的多级内存调度治理监控技术,因而云服务商若是刻意大规模使用基于CXL技术的资源池系统,要么自己建,要么得寻找相宜的系统软硬件供给商。这方面微软、Meta等重要云服务商已经走到前面。
微软的Pond规划使用机械进建判断分析虚机是否是时延敏感以及不被使用的额(untouched)内存大幼,并由此来判断调度VM在相宜的本地或CXL远端内存地位,共同机能监控系统不休调整迁徙。

微软Pond规划节造平面工作流程
(A) 的VM 调度法式使用基于 ML 的预测来鉴别延长敏感的虚构机及其可能未触及的内存量决定虚构机的搁置
(B) 监控若是服务质量 (QoS) 不满足,调度迁徙节造治理器(Mitigation Manager)会沉新配置虚构机
作为智算中心网络建设者,iSlot官方网站网络致力于为客户提供创新的产品规划和服务,推动行业发展和创新,让客户与未来更缜密地衔接。iSlot官方网站网络将持续创新,引领智算时期的网络发展潮水。
TPP: Transparent Page Placement for CXL-Enabled Tiered-Memory
Pond: CXL-Based Memory Pooling Systems for Cloud Platforms
Demystifying CXL Memory with Genuine CXL-Ready Systems and Devices
Compute Express Link™ Specification 3.0 whitepaper
Design and Analysis of CXL Performance Models for Tightly-Coupled Heterogeneous Computing
Memory Disaggregation: Advances and Open Challenges
Network Requirements for Resource Disaggregation
A Case for CXL-Centric Server Processors
