DEDEYUAN.COM演示站

时间:2024-03-15 20:44  编辑:admin

  即使将3.23%的内存分配给CXL福汇mt4美元指数摩登数据核心对内存容量的高需求督促了内存扩展和了解方面的众条更始线,此中一项得回极大合心的管事是基于Compute eXpress Link(CXL)的内存扩展。为了更好地应用CXL,商量职员创修了几个仿真和试验平台来商量其行径和性子。然而,因为缺乏赞成CXL的贸易硬件,公共大概仍不知道其成效的全貌。正在这项管事中,咱们正在最先辈的试验平台上搜索了CXL存储器的功能外征。起初,咱们行使咱们提出的微基准来商量CXL存储器的基天性能特点。基于咱们的寓目结果和与结合到当地和长途NUMA节点的尺度DRAM的对比,咱们还商量了CXL内存对具有差异卸载和交叉战术的端到端行使措施的影响。末了,咱们为将来的措施员供应了极少指南,以充盈阐述CXL内存的潜力。

  正在数据核心存储和统治数据的爆炸性需求、以及古代DDR内存接口的有限带宽和容量可扩展性,条件采用新的内存接口时间和体例架构。此中,Compute eXpress Link(CXL)已成为业界和学术界最有出路的时间之一,不但用于内存容量/带宽扩展,还用于内存了解。

  CXL是由要紧硬件供应商和云供应商于2019年联合拟订的盛开尺度,目前仍正在急迅兴盛。全体来说,与古代的PCIe互连比拟,它供应了一组新成效,使CPU不妨以具有加载/存储语义的高速缓存类似体例与外围开发(及其结合的存储器)通讯。以是,与内存联系的开发扩展是CXL的要紧倾向场景之一。

  举动将来数据核心的究竟尺度,要紧硬件供应商已正在其产物门途图中揭晓赞成CXL。鉴于CXL存储器的受接待水平和前景,它备受合心。然而,因为缺乏赞成CXL的商用硬件(更加是CPU),近来对CXL内存的商量都是基于行使众插槽NUMA体例的仿真,由于CXL内存被公然为NUMA节点。以是,这些商量大概无法凿凿地对实际寰宇中的CXL内存实行修模和外征。

  跟着Intel第4代Xeon可扩展CPU(Sapphire Rapids或SPR)和商用CXL开发的产生,咱们不妨开端知道CXL存储器的实质性子,并定造不妨充盈应用这些性子的软件体例。正在这项管事中,咱们正在由Intel SPR CPU和基于Intel Agilex-I FPGA的CXL存储器(R-Tile中加固的CXL驾御器)构成的测试台上,对具有众个微基准和端到端行使措施的CXL内存实行了通盘剖判。从咱们的微基准符号中,咱们发觉CXL内存的行径与长途NUMA节点中的内存差异,后者平日用于仿真。与基于NUMA的内存比拟,真正的CXL内存具有:(1)更高的延迟,(2)更少的内存通道(导致更低的含糊量),以及(3)正在种种操作下差异的传输效果。

  基于上述寓目,咱们还将CXL内存行使于显露出差异内存拜访行径的三个实质行使措施。咱们发觉它们对CXL内存卸载有差异的敏锐性。全体而言,咱们发觉(1)μs延迟数据库对内存延迟的填补高度敏锐,(2)当数据库正在CXL内存上运转时,具有中央准备层的ms延迟微任职受到的影响较小,(3)内存群集型ML推理对CXL内存供应的随机拜访含糊量敏锐。正在全盘情状下,正在结合CPU的DRAM和CXL内存之间交织内存能够裁汰CXL内存带来的功能耗损。

  接下来,正在剖判了正在行使CXL内存的体例上运转的微基准和行使措施的功能特点后,咱们为用户供应了极少适用的引导宗旨,以优化他们的软件栈房/库以得回最高功能。比如,该当行使正在CXL内存和DRAM之间平均漫衍的带宽来最时势部地升高功能;该当行使高速缓存旁途指令来实行从CXL存储器到CXL存储器的数据挪动;对待单个CXL内存通道,因为几个线程很容易使负载或存储带宽饱和,以是该当限度对CXL内存的写线程数目,以裁汰写作对;而且该当针对以毫秒级延迟运转的读取量大的行使措施,此中较高的CXL内存延迟能够通过中央准备来分摊。

  本文的其余个别机合如下。咱们正在第2章中扼要先容了CXL,并正在第3章中刻画了咱们的试验修树。然后,咱们正在第4章顶用咱们的微基准来剖判CXL影象,正在第5章顶用三个有代外性的行使来先容咱们的发觉。末了,咱们正在第6章中供应了极少有用应用CXL内存的指南。

  PCI Express(PCIe)是高速串行准备机扩展总线的尺度,它庖代了旧的PCI总线年以后,每一代的带宽都翻了一番,截至PCIe Gen 5,带宽已到达32 GT/s(即64 GB/s,带16个通道)。其点对点拓扑组织借帮带宽的拉长,达成了与PCIe结合开发(如图形统治单位(GPU)、搜集接口卡(NIC)和NVMe固态硬盘(SSD))的低延迟、高带宽通讯。

  CXL正在PCIe物理层上构修缓存类似性体例。与尺度PCIe通讯近似,正在尺度PCIe通讯中,数据传输行使工作层数据包(TLP)报头和数据链途层数据包,CXL公约的子集行使预订义的报头和16B块来传输数据。正在CXL 1.1中,依据公约和传输的数据,CXL硬件将依据CXL样板中刻画的一组规矩,将标头和数据打包到68 B flit(64 B CXL数据+2 B CRC+2 B公约ID)中。除非另有诠释,不然正在本文的盈利个别中,CXL指的是CXL 1.1。

  CXL尺度界说了三个独立的公约:CXL.io、CXL.cache和。CXL.io行使尺度PCIe中的TLP和DLLP等成效,要紧用于公约商洽和主机开发初始化。CXL.cache和CXL.mem折柳为开发拜访主机的内存和主机拜访开发的内存行使上述公约头。

  通过将这三种公约相集合,CXL为差异的用例确定了三品种型的开发。Type-1开发行使CXL.io和CXL.cache,它们平日指的是不可使主机约束内存的SmartNIC和加快器。Type-2开发赞成全盘三种公约。这些开发,如GP GPU和FPGA,具有主机CPU能够拜访温柔存的附加内存(DRAM、HBM),而且它们还行使CXL.cache实行开发到主机的内存拜访。Type-3开发赞成CXL.io和CXL.mem,而且这些开发平日被视为对现有体例的内存扩展。正在本文中,咱们将中心先容Type-3开发,并先容CXL.mem的较初级别细节。

  因为CXL.mem公约只探讨主机到开发的内存拜访,以是该公约由两个方便的内存拜访构成:从主机到开发内存的读取和写入。每次拜访都伴跟着来自开发的告竣复兴。从开发内存读取时,应答包括数据,正在写入时仅包括告竣标头。图1显示了这些拜访门途:赞成CXL的榜样体例体例组织(左)和内存工作流

  CXL必要主机CPU端和开发端的赞成。截至目前,除了极少商量原型外,三星、SK海力士、美光和澜起等要紧硬件供应商还计划了众个赞成CXL的存储开发。为了督促更机动的内存成效和近内存准备商量,英特尔还正在其最新的Agilex-I系列FPGA上启用,此中CXL和内存联系的IP核正在小芯片上实行硬编码,以达成高功能。正在主机CPU方面,Intel最新的第4代Xeon可扩展统治器(代号Sapphire Rapids,SPR)是第一款赞成CXL1.1尺度的高功能商用CPU。咱们估计,正在不久的未来,越来越众的硬件供应商的产物将赞成更雄厚的CXL。

  正在这项管事中,咱们行使两个测试台来评估最新的商品CXL硬件,如外1所示。该任职器装备Intel Gold 6414U CPU和128 GB CXL.mem公约以及4800MT/s DDR5 DRAM(漫衍正在8个内存通道中)。正在第4代中,Intel Xeon CPU被达成为四个孤独的小芯片。用户能够定夺行使这4个小芯片举动团结统治器(即共享的末级缓存(LLC)、集成内存驾御器(iMC)和根复合体),或者正在子NUMA集群(SNC)形式下,每个小芯片举动一个小NUMA节点运转。这种机动性首肯用户微调体例以适当其管事负载性子,并对资源共享和断绝实行细粒度驾御。正在咱们的试验中,咱们将搜索SNC和CXL.mem之间的内存交织将怎么影响行使措施的功能。咱们还正在双插槽体例上实行了极少试验,该体例具有两个Intel Platinum 8460H和相通的DDR5 DRAM,以正在基于NUMA的老例内存和CXL.mem之间实行极少对比。

  正在本节中,咱们先容了行使咱们的微基准来评估CXL内存的发觉。咱们信赖,这一剖判深化解读了CXL内存用户怎么依据他们的用例更有用地应用CXL内存。咱们还将这些结果与近来合于CXL内存的极少管事中的假设和模仿实行对比,正在这些管事中,CXL内存是使器具有极少特别延迟的跨NUMA数据拜访来模仿的。

  极度地,MEMO具有以下材干:(1)通过行使NUMA_lalloc_node函数从差异的源分拨内存,蕴涵当地DDR5内存、CXL内存无CPU NUMA节点或长途DDR5,(2)启动指天命目的测试线程,将每个线程固定到一个内核,并可选地启用或禁用内核,以及(3)行使内联汇编说话奉行存储器拜访。基准测试通知差异指令(如加载、存储和非姑且存储)的内存拜访延迟或群集带宽,全盘内存拜访都行使AVX-512指令告竣。另外,MEMO能够正在内存区域上奉行指针跟踪,而且通过调动管事集巨细(WSS),基准能够显示均匀拜访延迟怎么跟着WSS横跨缓存宗旨组织的差异巨细而蜕变。

  正在延迟测试中,MEMO从改进测试所正在的缓存线开端,并立时发出mfence指令。然后,MEMO发出一组nop指令来改进CPU管道。当行使加载指令实行测试时,咱们记载拜访清空的缓存行所花费的时辰;当行使存储指令实行测试时,咱们记载奉行姑且存储所需的时辰,然跋文载缓存线写回(clwb),或者记载非姑且存储的奉行时辰,然后再记载sfence。另外,咱们测试了正在禁用全盘预取的情状下,正在大内存空间中通过指针追赶的均匀拜访延迟。图2显示了四条测试指令的延迟,1GB内存空间下的均匀指针追赶延迟,以及差异管事集巨细下的指针追赶延迟。

  图2:拜访延迟。1GB空间中单AVX512加载(ld)、存储和回写(st+wb)、非姑且存储(nt-st)和次第指针追赶(ptr-chase)的均匀延迟;相联指针追踪延迟与管事集巨细(右)。正在这两种情状下,城市禁用全盘级其余预取

  值得小心的是,只管CXL驾御器和DDR4存储器驾御器正在FPGA芯片上获得了加固,但CXL存储器较长的拜访延迟可个别归因于其FPGA达成。只管咱们估计CXL存储器开发的ASIC达成将导致延迟的改进,但咱们以为它仍将高于老例的跨NUMA拜访,这主如果因为与CXL公约联系的开销。另外,咱们正在第5节中的实质行使措施评测显示,依据行使措施的特定性子,延迟惩处有所裁汰。还该当小心的是,基于FPGA的CXL开发的好处正在于它们不妨正在CXL存储器数据途径上增添(内联)加快逻辑,以及以逼近存储器的体例卸载存储器群集型使命。

  另一方面,CXL内存上具有sfence的非姑且存储指令的延迟光鲜低于姑且存储后的缓存线写回。这两种操作都将数据从CPU中心传输到CXL内存,而延迟分别约为2.6倍。这种延迟分别是因为CXL的MESI缓存类似性公约中的全盘权读取(RFO)行径变成的,正在该公约中,每次存储未掷中城市将缓存线加载到缓存中。这种拜访延迟的分别稍后会转化为带宽分别,这将正在第4.3节中筹议。

  次第拜访反响了内存计划正在特定操作下的最大大概含糊量,结果如图3所示。正在行使DDR5-L8实行测试时间,咱们寓目到负载带宽线性缩放,直到其峰值到达221 GB/s的最大带宽,大约有26个线程。比拟之下,非姑且存储指令到达了170GB/s的最大带宽,这低于加载指令的带宽,但线:次第拜访带宽。试验显示了8通道(a)的当地DDR5、CXL内存(b)和1通道(c)的长途DDR5的最大大概带宽。(b)中的灰色虚线MT/s的表面最大速率

  比拟之下,与DDR5-L8比拟,CXL存储器显露出光鲜的带宽趋向。全体来说,通过加载指令,CXL内存能够正在大约8个线程的情状下到达其最大带宽,但当线个线程以上时,这个值会降至16.8 GB/s。另一方面,非姑且存储仅用2个线程就涌现了令人印象深切的22GB/s的最大带宽,这逼近于测试DRAM的最大表面带宽。然而,当咱们填补线程数时,这个带宽会立时降落,这标明FPGA内存驾御器受到了极少作对。

  除了上述指令外,咱们还测试了一条新的x86指令movdir64B,它是SPR上新供应的指令。该指令将64B数据从源内存所正在挪动到倾向内存所正在,并真切绕过缓存加载源并将其存储到倾向职位。如图4a所示,咱们的结果标明,D2*操作显露出近似的行径,而C2*操作平日显露出较低的含糊量。从这些结果中,咱们能够得出结论,来自CXL内存的较慢负载会导致movdir64B的含糊量较低,正在C2C的情状下更是如斯。

  举动SPR的新产物,Intel Data Streaming Accelerator(Intel DSA)使内存挪动操作不妨从主机统治器上卸载。Intel DSA由管事队伍(WQ)和统治引擎(PE)构成,前者用于存在已卸载的管事刻画符,后者用于从WQ中提取刻画符以实行操作。刻画符能够通过恭候每个已卸载的刻画符告竣后再卸载另一个刻画符来同步发送,也能够通过相联发送刻画符来异步发送,从而使WQ有很众正正在运转的刻画符。通过计划措施以最佳体例异步行使Intel DSA,能够达成更高的含糊量。为了进一步升高含糊量,能够对操作实行批统治以摊销卸载延迟。图4b显示了通过memcpy()或movdir64B正在主机统治器上奉行内存复造操作,并行使差异批统治巨细(如1、16和128)的Intel DSA同步/异步奉行内存复造时寓目到的最大含糊量。固然到Intel DSA的非批统治同步卸载与非批统治内存复造的含糊量相般配,但任何级其余异步或批统治城市带来更正。另外,与仅行使CXL结合的内存比拟,拆分源数据职位和倾向数据职位可形成更高的含糊量,C2D案例通知称,因为DRAM上的写入延迟较低,以是含糊量更高。

  为了评估MEMO对随机块拜访的功能,咱们按次第发表AVX-512拜访的块,但每次都有随机偏移。这种举措使咱们不妨正在数据拜访形式不行预测的实际管事条款下丈量体例的功能。跟着咱们正在测试的线程计数中填补块巨细,内存拜访形式将收敛到次第拜访,此中CPU缓存和内存驾御器都能够升高全部带宽。为了确保块级其余写入次第,咱们正在nt存储的每个块之后发表一个sfence。随机块拜访的结果如图5所示。

  当块巨细较小(1KB)时,咱们正在随机块加载中寓目到近似的形式,全盘三种存储器计划都同样受到随机拜访的影响。然而,当咱们将块巨细填补到16KB时,DDR5-L8和DDR5-R1/CXL内存之间产生了要紧分别。DDR5-L8的带宽随线和CXL内存从更高的线个线程后)中获益较少,这正在CXL内存中更为光鲜。内存通道数起着至合紧要的效率,DDR5-R1和咱们的CXL内存开发唯有一个内存通道,而DDR5-L8总共有八个通道。随机块存储正在线程数方面显露出与负载类似的形式,但填补了带宽勾留随块巨细缩放的趋向。

  近来合于CXL内存的商量平日是通过跨NUMA内存拜访来模仿CXL内存拜访延迟来实行的,即通过对主内存拜访施加特别的延迟来实行。然而,依据咱们的寓目,跨NUMA仿真模子无法准确模仿CXL内存的以下特点:(1)如今CXL开发中有限带宽的影响(除非长途DIMM填充的通道数与CXL内存相通),(2)与跨NUMA拜访比拟,延迟更高的种种CXL内存达成(正在延迟受限的行使措施中,延迟更大的影响变得更要紧),以及(3)差异管事负载下的数据传输效果(即负载和非姑且存储带宽)。

  为了商量CXL内存对功能的影响,咱们通过将行使措施的内存所有或个别绑定到CXL内存来搜索。Linux供应了numactl措施,它首肯用户(1)将措施绑定到特定的内存节点(membind形式),或(2)优先分拨给内存节点,并仅正在指定节点内存耗尽时将内存分拨给其他节点(首选形式),或者将分拨平均地漫衍正在一组节点上(交织形式)。

  Linux内核中近来的一个补丁当今首肯对内存节点之间的页面交织率实行细粒度驾御。这意味着,比如,借使咱们将DRAM:CXL比率修树为4:1,咱们能够将20%的内存分拨给CXL内存。为了商量CXL内存对行使措施功能的影响,咱们针对极少行使措施调节了这个交叉比率。另外,咱们禁用了NUMA平均,以预防页面转移到DRAM。行使这种异构内存计划的这些行使措施的功能该当举动大大都内存分层战术的法则。这是由于与加权轮回分拨战术比拟,所提出的优化起码该当显露得同样好。

  Redis是一种正在业界通行并普及行使的高功能内存键值存储。咱们行使YCSB来测试Redis正在差异内存分拨计划下的功能,举措是将其内存固定到CXL内存、DRAM或漫衍正在两者之间。为了评估体例功能,咱们正在YCSB客户端中奉行了众个管事负载,同时限度每秒查问(QPS)。全体来说,咱们丈量了两个目标:(1)查问中第99个百分点的尾部延迟,以及(2)最大可连接QPS。除了管事负载D除外,全盘管事负载都对要求行使团结的漫衍,从而确保最时势部地填补内存压力。咱们还微调了交叉比(DRAM:CXL),以将肯定量的内存卸载到CXL,正在差异的试验中行使了30:1(3.23%)和9:1(10%)等比例。

  咱们正在图6中的结果标明,当Redis纯粹正在CXL内存上运转时,正在低QPS(20k)下,p99尾部延迟生计明显差异。这一差异正在55k QPS之前依旧相对恒定,此时YCSB客户端无法来到倾向QPS,导致尾部延迟顿然填补。当Redis 50%的内存分拨给CXL内存时,p99尾部延迟介于纯DRAM和纯CXL内存之间。只管50%CXL内存Redis直到65k才使其QPS饱和,但尾部延迟正在55k旁边激增。末了,DRAMMRedis显露出安闲的尾部延迟,其QPS正在80k旁边饱和。

  咱们以为,尾部延迟差异归因于Redis查问的超低相应延迟,使这些μs级相应的延迟对内存拜访延迟高度敏锐。这与咱们正在第4.2节中给出的延迟丈量结果极端联系,此中CXL内存拜访延迟畛域从数百到1000纳秒,比DRAM高2-4倍。然而,中央准备温柔存掷中将延迟分别(就行使措施尾部延迟而言)下降到QPS饱和点之前的约2倍。

  图7:Redis最大QPS。测试具有种种CXL内存摆设的最大可连接Redis QPS。图例透露Redis内存分拨给CXL内存的百分比。YCSB管事负载D默认读取近来插入的元素(lat),但咱们也用Zipfian(zipf)或uniform(uni)漫衍中的读取要求测试了该管事负载,以查看对拜访职位的影响。这里省略了管事负载E,由于它是畛域查问。

  单线程随机拜访带宽受内存拜访延迟的限度,此中单线程内的数据依赖性使CPU中的负载存储队伍难以饱和。另外,图7显示了一种趋向,即分拨给CXL的内存更少(CXL内存百分比下降),正在测试的全盘管事负载中都能供应更高的最大QPS,但这些都无法越过纯粹正在DRAM上运转Redis的功能。正在这种情状下,内存交织无法升高单个行使措施的功能,由于与CXL内存的交织老是会引入更高的拜访延迟。请小心,如今的CXL内存修树是基于FPGA的,其真正好处正在于其机动性。咱们估计基于ASIC的CXL存储器将供应相对较低的拜访延迟,从而升高延迟受限行使措施的功能。

  图8中的结果显示,跟着线程数的填补,正在每个计划上运转DLRM推理都是线性的,而且斜率差异。DDR5-R1和CXL存储器的总体趋向类似,这与第4.3.2节中的寓目结果类似,此中DDR-R1和CXL内生计拜访粒度较小时具有类似的随机加载/存储带宽。内存交织的两个点(CXL内存上的3.23%和50%)如图8所示。跟着咱们将交织到CXL的内存量裁汰,推理含糊量也会填补。然而,咱们再次寓目到,纵使将3.23%的内存分拨给CXL,推理含糊量也无法与纯粹正在DRAM上运转的含糊量相般配。还要小心,纯DRAM推理含糊量呈线性扩展,其线个线程除外。集合这两个寓目结果,咱们能够得出结论,8通道DDR5内存能够正在32个线程除外维护DLRM臆度。

  图8:DLRM嵌入裁汰含糊量。行使8通道DRAM和CXL内存实行测试;含糊量与线个线程时尺度化为DRAM的差异内存计划的含糊量(右)

  为了演示行使措施受内存带宽限度的场景,咱们测试了SNC形式下的推理含糊量。回念一下,英特尔正在SPR中引入了子NUMA集群成效,此中小芯片被拆分为四个孤独的NUMA节点,每个NUMA节点上的内存驾御器独立于其他节点管事。通过正在一个SNC节点上运转推理,咱们有用地将推理限度正在两个DDR5通道上运转,使其具有内存限度。

  图9涌现了正在SNC形式下运转推理的结果,CXL内存以与之前全盘试验相通的体例交织。图中的绿色条显示了SNC上的推理含糊量,它正在24个线个线程中,推理受到两个内存通道的限度,而且将内存交叉到CXL会形成略高的推理含糊量。这种趋向连接生计,正在32个线%的内存放正在CXL上,与SNC情状比拟,推理含糊量填补了11%。将来,咱们估计CXL开发的带宽将与本机RAM相当,这将进一步升高内存带宽绑定行使措施的含糊量。

  图10:DeathStarBench p99延迟和内存细分。管事负载:撰写帖子(左)、读取用户时辰线(左中)、同化管事负载(右中)、按成效划分的内存细分(右)。同化管事负载有60%读取主页时辰线%读取用户时辰线中的结果显示,正在撰写帖子的情状下生计尾部延迟分别,而正在读取用户时辰线和同化管事负载的情状下简直没有分别。请小心,DSB中的尾部延迟为毫秒级,远高于YCSB Redis。

  当咱们剖判撰写帖子和读取用户时辰线的轨迹时,咱们发觉撰写帖子涉及更众的数据库操作,这给CXL内存带来了更大的负载。同时,读取用户时辰线的大个别响合时辰都花正在了nginx前端。这使得较长的CXL内存拜访延迟能够正在准备群集型组件平分摊,从而使尾部延迟对数据库拜访延迟的依赖性大大下降。

  鉴于CXL内存的特别硬件性子,咱们正在充盈应用CXL内存方面供应了以下意睹。

  将数据从CXL内存移出或挪动到CXL内存时,请行使非姑且存储或movdir64B。如第4节所示,差异的x86指令正在拜访CXL内存时显露出明显差异的功能,这是因为CPU中心的微体例组织计划和CXL内存的固有行径变成的。探讨到CXL内存的行使情状(比如,内存分层),短期数据重用的大概性不大,为了达成更高的数据挪动含糊量并避免污染名贵的缓存资源,咱们提议正在相应的软件栈房中优先探讨nt store或movdir64B指令。请小心,因为nt store和movdir64B都是弱排序的,以是必要行使内存围栏来确保数据已被写入。

  限度并发写入CXL内存的线程数。如前所述,CXL内存的功能取决于CPU和开发驾御器。对待并发CXL内存拜访更加如斯,由于争用大概产生正在众个职位。只管CXL存储器驾御器确当前基于FPGA的达成大概会限度内部缓冲区巨细,从而限度动态存储指令的数目,但咱们估计,正在纯基于ASIC的CXL存储器开发上还是生计该题目。最幸好CPU软件端有一个召集的通讯存根来实行数据挪动。咱们提议CXL内存应由操作体例或专用软件保护措施约束,而不是由全盘行使措施约束。

  行使Intel DSA实行从CXL内存到CXL内存的大容量内存挪动。当正在老例DRAM和CXL存储器上传输大方数据时,前两个意睹大概还是亏欠,由于它们泯灭了大方的CPU周期,而且还是具有有限的指令/存储器级并行性。咱们发觉,与前代产物比拟,Intel DSA具有高含糊量、机动性和更少的限度,能够很好地进一步升高此类数据挪动的功能和效果。这正在分层内存体例中更加有效,由于分层内存体例的数据挪动平日以页面粒度(即4KB或2MB)实行。

  行使NUMApolices和其他分层内存举措交织内存,以便正在全盘DRAM和CXL通道上平均分拨内存负载。除了将CXL存储器用作较慢的DRAM或较疾的SSD(比如,存储器分层)除外,CXL存储器还能够与老例存储器通道交叉,以填补总存储器带宽,更加是当CXL存储器开发举动更众的存储器通道(从而更具可比性的存储器带宽)时。细致抉择交织百分比/战术能够正在很洪水平上缓解预期的功能降落。

  避免正在CXL内存上运转具有μs级延迟的行使措施。CXL内存相对较长的拜访延迟大概会成为必要以工致时辰粒度(μs级)实行即时数据拜访的行使措施的要紧瓶颈。Redis便是云云一个例子——因为CXL内存导致的延迟数据拜访将堆集到端到端查问统治的紧要价钱。这品种型的行使措施还是该当探讨将数据固定正在更疾的介质上。

  微任职大概是CXL内存卸载的一个很好的候选者。微任职架构因为其机动、便于开辟、可扩展和生动,已成为当今数据核心互联网和云任职的主流开辟举措。然而,与古代的单片行使措施比拟,它的分层和模块化计划确实带来了更高的运转时开销。云云的外征使其对底层高速缓存/存储器摆设和参数不那么敏锐。咱们对DSB的商量(睹第5.3节)也声明了这一点。咱们念象,很大一个别微任职数据能够卸载到CXL内存,而不会影响其延迟或含糊量功能。

  应用可编程CXL内存开发搜索正在线加快的潜力。鉴于上述意睹,那些适合CXL内存卸载的行使措施大概对数据拜访延迟不太敏锐。这为CXL内存开发内的内联加快逻辑供应了更众的计划空间——只管这种加快大概会给数据拜访填补特别的延迟,但从倾向行使措施的端到端角度来看,这种开销是不行睹的。以是,咱们还是倡议基于FPGA的CXL存储开发,由于它们具有机动性和可编程性。

  从剖判的行使措施中,咱们依据正在CXL内存上运转时的功能确定了两品种型的行使措施:带宽受限和延迟受限。

  内存带宽受限的行使措施平日会经验含糊量的次线性拉长,越过肯定的线程数。只管正在CXL内存上运转Redis和DLRM推理城市形成较低的饱和点,但该当真切分辨两者,唯有DLRM推理是带宽受限的行使措施。单线程Redis受到CXL内存更高延迟的限度,这下降了Redis的统治速率。

  内存延迟受限的行使措施纵使将少量管事集分拨给延迟较高的内存,也会感知到含糊量降落。正在数据库的情状下,当正在CXL内存上运转时,纵使QPS离饱和点很远,它们也大概显示出尾部延迟间隙。Redis和memcached等正在μs级延迟下运转的数据库正在纯CXL内存上运转时受到的惩处最大。比拟之下,具有准备层的毫秒级微任职显示出将内存卸载到CXL内存的优秀用例。

  然而,正在这两种情状下,正在古代的CPU结合的DRAM和CXL内存之间行使交织内存能够裁汰较慢的CXL内生计含糊量(第5.2节)和尾部延迟(第5.1节)方面的耗损。这种轮回战术该当举动分层内存战术的基线.联系商量

  跟着存储器时间的急迅兴盛,除了基于老例DDR的DRAM除外,数据核心还产生了很众新型存储器,每种存储器都有差异的特性和衡量。这些蕴涵但不限于漫长存储器,如Intel Optane DIMM,基于RDMA的长途/了解存储器,以至字节可寻址SSD。只管CXL内存仍然被普及商量和剖判,但举动内存层中的一个新成员,其功能特点和目标仍不真切。

  自2019年观念提出以后,CXL仍然被很众商量职员筹议过。比如,Meta念象行使CXL内存实行内存分层和交流;微软构修了一个用于内存了解搜索的CXL内存原型体例。他们中的大大都人行使NUMA呆板来模仿CXL内存的行径。Gouk等人正在基于FPGA的RISC-V CPU上构修了CXL存储器原型。与之前的商量差异,咱们是第一个正在商品CPU和CXL开发上实行CXL内存商量的,既有微基准测试,也有实质行使。这使咱们的商量愈加实际和通盘。

  CXL仍然成为将来的开发互连尺度,具有雄厚的有效成效,而CXL内存便是此中的一个紧要成效。正在这项管事中,基于最先辈的实质硬件,咱们行使微基准和实质行使措施对CXL内存实行了具体的外征剖判。通过对CXL存储器行径的特别寓目,咱们还为措施员供应了极少行使指南,以更好地应用CXL内存。咱们生气这项管事不妨督促CXL内存生态体例的开辟和采用。

标签: mt5那家公司   mt4手机版