中文 英语

提高内存效率和性能

CXL和OMI将促进内存共享和池化,但它们的效果如何以及在哪里工作得最好仍有争议。

受欢迎程度

这是CXL vs. OMI两部分中的第二部分。第一部分可以找到在这里

作为优化现有资源以处理不断增长的数据量的方式,内存池和共享越来越受欢迎。使用这些方法,许多不同的机器或处理元素可以根据需要访问内存。

CXL和OMI这两个协议被用来简化这些过程,从片上/近片内存到存储(一种“可组合”的内存)。其基本思想是,通过提高抽象级别,可以为任何特定作业提供所需的内存,然后在该作业完成时将内存分配给另一个作业。理论上,这应该会提高业绩和效率。但是,目前还不完全清楚哪种协议对哪种应用程序或体系结构性价比最高。

“在内存池应用程序中,SoC或控制器可以分配给CPU的内存的任何部分都由一种被称为fabric manager的东西管理,这是一种由CXL定义的标准软件实体,”Mark Orthodoxou指出Rambus.“它管理物理内存区域的分配,因此,对于CPU来说,它看起来就像有一个动态增长和收缩的内存池。”


图1:CXL允许多个主机访问内存池。来源:Rambus

内存池与不同使用者之间的内存共享相关,但又不同。“内存池和内存共享之间的区别在于,使用池,任何给定的CPU只能访问其分配的内存区域,”Orthodoxou说。“内存共享更多地适用于大型机器学习训练集和工作负载,比如你有500 GB、1 TB、3 TB的训练集。如果你想在多个cpu上进行计算,现在你需要移动数据。那么,我们如何减少数据移动并减少数据中心中每个CPU的内存占用呢?你应用内存共享。”

内存共享需要一致性。但这不同于处理器的一致性,比如多核处理器所需要的一致性。CXL解决了应用程序的一致性,它处理了可能在同一问题上协作的不同使用者之间的更高级别的一致性。相比之下,OMI没有一致性功能,而是依赖处理器的缓存一致性基础设施来处理。

“到目前为止,我们已经有了单片缓存架构上的单片内存,”校验IP的产品经理Gordon Allan说西门子EDA.“当我们引入多个处理元素时,一致性就成为了一个要求。这促使我们从不同的角度来考虑内存,而是考虑应用程序需要的数据和不同类型的内存。这是分解过程的一部分,我们能够以更细粒度的方式描述我们的存储需求,而不会在不需要的一致性属性上花费过多。所以不同类型的数据可以有不同程度的复制或一致性。这些属性都由CXL这样的结构支持,其中处理元素可以在一个内存范围的基础上指示一致性应该如何工作。”

CXL 3.0将在这方面提供完全的一致性,但目前尚未公开。因此,这将如何发生的细节不得而知。

在处理器之间传递工作负载
CXL还允许将内存“传递”给不同的节点进行处理。在这些情况下来回传递的不是实际数据,而是类似于指针的东西,地址转换将物理地址映射到每个消费者的单独内存映射。

“面料经理负责安排一切,”Orthodoxou说。“它会跟踪谁发出了请求,他们正在请求什么地址,以及这些地址如何映射到控制器后面的内存物理表示。”

对于用户来说,这在很大程度上是隐藏的。Allan指出:“为了保持指向数据的指针的假象,细节涉及大量来回的事务。”

但这并不是唯一隐藏的东西。对于各种应用程序,哪种协议更快还不清楚,因为CXL的延迟影响与OMI的测量方法不同。OMI谈到了在现有延迟上增加的延迟量,CXL只谈到了往返互连速度。40ns的延迟意味着在每个方向上有20ns的传输。

Richard Solomon,技术营销经理,CXL在Synopsys对此他说:“从出现在发送端的数据包的第一个比特到出现在接收端的数据包的第一个比特。”

请注意,另一个内存抽象的努力,Gen Z,已经被折叠到CXL中。艾伦说:“Z世代承认CXL是主流和关键群体,所以他们在合作中贡献了自己的特色。”

可能重叠
然而,对于CXL是否也可以处理近内存,似乎存在分歧或不确定性。许多行业发言人倾向于为CXL或OMI或其他技术说话,不确定“其他”是如何工作的。特别是当涉及到计算延迟时,并不是每个人都清楚它的确切含义。

CXL有CXL。Mem配置文件,据说是用于近内存。它仍然使用PCIe作为互连,而不是使用OMI或DDR总线。因此,在为CXL构建的处理近内存的系统中,将有PCIe插槽承载内存卡,而不是DIMM插槽。

所罗门说:“例如,我们看到人们正在构建简单的DDR接口。“它有一个桥接芯片,一侧有CXL,另一侧有一些DDR通道。内在是计算能力。”

从芯片面积的角度来看,OMI和PCIe都使用串行方法,因此它们都比当前的并行方案使用更少的引脚。“今天,你将会有一些PCIe通道从CPU上脱落——比方说64个PCIe Gen 5通道被分解成16个通道堆栈,”Orthodoxou说。“然后这些堆栈可以分成2、4、8或16个。按照目前的cpu设计方式,每一个处理器栈都可以在CXL模式或PCIe模式下运行。从面积和周长效率的角度来看,它与OMI没有什么区别,因为它们都是具有一定数量通道的串行接口。在这方面,我认为CXL和OMI之间的唯一区别是,对于OMI,在这些ddimm中实现非常具体。所以你的形状因素是非常具体的。就CXL而言,大多数人都在谈论通过驱动器形式因素或添加卡来实现内存扩展。”

OMI更加独立,因为它不依赖于任何特定的PCIe生成。他说:“OMI的运行速度等级与PCIe电气设备没有紧密耦合。OMI与数据结构和处理器的耦合更加紧密,这使得延迟比传统实现的CXL更低。CXL子系统与PCIe总线所在的处理器耦合,因此会有轻微的延迟。”

这是否可行,在某种程度上取决于更大的整体情况。“老实说,CXL不会有太大的不同——可能在往返5或6纳秒的顺序上,”Orthodoxou说。“这可能是噪音造成的。”

另一些人则指出了更大的延迟。这就是事情变得复杂的地方,不同的意见给出了不同的信心。一般来说,因为CXL倾向于只引用互连延迟,而OMI引用完全访问延迟(或delta),所以这是一个苹果和橘子的比较。一些详细说明如何得出这些数字的文件尚未向公众公开。

对于近距离记忆,似乎有两个阵营。一边是那些看到一个简单的定位- OMI是近内存,CXL是远内存。即使您可以将CXL用于近内存,也没有人会这样做。

艾伦说:“CXL当然是在处理中间和远处的记忆。”“这并不直接适用于近期。”

那么OMI在这幅图中处于什么位置呢?OpenCAPI联盟的技术总监和董事会顾问Allan Cantle说:“OMI完全是CXL的补充,因此CXL联盟应该采用OMI,如果没有其他的话,可以避免他们在行业中引起的所有混乱。”

另一个阵营认为CXL拥有最强的生态系统,因此OMI不会在IBM的生态系统之外使用。

“除了POWER组合和一些针对HPC风格应用的衍生产品,OMI还没有被广泛采用,”Orthodoxou说。“每个CPU供应商和GPU供应商都有一个与CXL交叉的路线图。这不是一种协议比另一种协议在内存连接方面更好的问题。这真的是一个普遍采用的问题。”

IP集团产品营销组总监Marc Greenberg担任了一个额外的职位节奏.“我不认为OMI和CXL的讨论是‘近与远’,”他说。“我认为这是‘版本N vs版本N+1’。“CXL。mem是最新的迭代,为服务器类型的系统提供了高带宽和容量的DRAM解决方案。”

目前还没有CXL用于近内存的商业实例,但OMI也处于早期阶段。所以在这一点上,所有阵营都有猜想。

不用担心
但这并不会降低CXL或OMI的价值。这些抽象技术将允许软件开发人员、芯片设计人员、系统构建人员和系统集成商减少对内存细节的担忧。

SoC设计人员将能够构建到近端和远端内存的“通用”接口,并使SoC在各种可能的系统配置中工作。系统建造者和集成商将在分配内存和处理器方面拥有更大的灵活性,以便更多的系统可以用于更多的工作负载。随着数据流量的减少,执行所需的能量也会减少。软件开发人员可以创建在更广泛的系统上工作的程序。

至于OMI和CXL之间的差异,市场最终会解决。CXL正被广泛采用,尽管并不一定适用于近内存。近内存最终可能是CXL或OMI -,或者如果这两种抽象标准都没有被采用,那么仍然是DDR或HBM。

Orthodoxou认为这将给数据中心带来根本性的变化。“对更大的内存带宽、更大的内存容量和更少的滞留内存(或这三者的某种组合)的需求将改变数据中心内存互连的本质。”



留下回复


(注:此名称将公开显示)

Baidu