disaggregated memory

START
Basic

Memory disaggregation: why now and what are the challenges

过往比较成功的分离式内存的特点:解决紧迫的问题 技术上是可行的

为什么分离式内存是紧迫的问题:

首先,随着大数据转移到内存以便在内存数据库、数据分析、流分析和机器学习等各种系统和应用程序中进行更快的处理,对内存的需求正在激增。其次,由于内存 DIMM 密度和可连接到处理器的 DIMM 数量的物理限制,单个服务器的内存容量受到限制。第三,随着时间的推移,应用程序需要更多内存,但由于服务器 [1] 严格的内存填充规则,升级内存非常具有挑战性 - 例如,所有内存控制器应具有相同数量和大小的 DIMM,并且所有内存通道都应具有相同的容量。不遵守这些规则会导致内存带宽变差。第四,由于智能汽车、5G 手机、游戏机和数据中心等新用例的激增,内存成本不断增加。与此同时,供应仍然受到仅有三个存储器公司(三星、SK 海力士、美光)的寡头垄断的限制。因此,内存在系统成本中占据主导地位。事实上,云运营商报告称,内存占服务器成本的 50% [20] 和总拥有成本的 37% [23]。

技术的可行性
RDMA CXL

分离式内存的挑战:

  • 内存分配
  • 调度:如何在多个host之间调度任务
  • 寻址:虚拟地址和物理地址的映射,问题是谁来维护这些映射,如何正确共享指向共享缓存区的指针
  • 操作系统
  • 文件系统
  • 外部通信
  • 失败 容错
  • 安全
    Back: you have read it !
    Tags: “disaggregated memory” END

START
Basic

Memory Disaggregation: Advances and Open Challenges

disaggregated memory主要作用

  • 低成本拓展内存
  • 池化减少内存搁浅
  • 共享内存

分离式内存的架构

  • 物理分离:计算节点和存储节点分离
  • 逻辑分离:不需要修改现有的硬件架构,只需要将服务器通过网络连接
  • 混合方法:像CXL这种缓存一致性互联提供了构建可组合以后服务器内存系统的机会

image.png

分离式内存接口

  • 应用透明:分解虚拟文件系统 (VFS) 和用于远程内存分页的分解虚拟内存管理器 (VMM) ,这两种情况数据都是以小块或者页面(4KB)形式进行通信
  • 不透明:自定义API直接访问远程内存

image.png

分离式内存挑战

  • 性能问题:延迟高
  • 如果不做性能隔离,多个host会竞争服务器内部的资源
  • 异构内存的分配策略问题
  • 故障恢复能力
  • 拓展性和效率的tradeoff:分离式内存本质上是分布式的,当规模增大,其复杂性也增加,开销也增加了
  • 安全问题

PCIe5.0的CXL带宽类似跨socket访问,访问延迟也类似
image.png

image.png

CXL的延迟比RDMA要低得多
尽管比服务器内 CXL 延迟更高,但具有 CXL 交换机 (CXL 2.0) 的机架级 CXL 系统的延迟将比基于 RDMA 的内存分解低得多。通过 CXL 3.0 设置中的少量跳跃,延迟最终将达到几微秒,类似于当今基于 RDMA 的分解内存系统中的延迟。

CXL-disaggregated memory challenges

  • 内存访问粒度:传统RDMA是页粒度的,而CXL是缓存行粒度,页粒度会导致脏数据放大和带宽过度使用,细粒度会导致较高的元数据管理开销。如何调整访存粒度是当前挑战。
  • 内存QOS
  • 内存地址空间管理:多个host如何管理device的全局地址空间
  • Unified Runtime for Compute Disaggregation:可能是讲type2设备从CXL获益的事情,以及用DSA一类的近存计算来增大吞吐量
    Back: you have read it !
    Tags: “disaggregated memory” END

Disaggregated Memory in the Datacenter: A Survey

分离式内存典型应用

  • 数据库
  • 图应用
  • 机器学习
  • 虚拟环境

基于PCIE的CXL是分离式内存良好的候选者,但是受限于短距离,不能拓展到单个机架之外
RDMA也适合分离式内存,因为它避免了操作系统堆栈以及目标上的CPU

基于RDMA的分离式内存

硬件基础:

CCF关于分离式内存的定义

联手体系结构专业委员会:“分离式内存”术语发布 | CCF术语快线-中国计算机学会

现有的分离式内存系统需要区别于分布式共享内存系统,后者由于强调线程间共享,需要维护多节点之间的一致性(Coherence)问题,而分离式内存系统通常为了缩短延迟和提高吞吐量主动放弃一致性的保证。不过放弃一致性带来了更灵活的配置能力,可以更好的满足不同集群的计算能力和内存需求。

我的问题是:为什么分离式内存区别于分布式共享内存系统

分布式共享内存

分布式共享存储处理机_全球百科 (vibaike.com)

image.png

image.png

image.png

Excavating the Potential of Graph Workload on RDMA-based Far Memory Architecture

TL;DR:分离式内存单机图处理系统

image.png

实验

  • gridgraph
  • fastswap
  • fargraph
  • oracle

有两种类型的 far memory架构

  • fabric-based :例如CXL和NVLink
  • NIC-based far memory architecture.

“and external memory devices can be accessed directly as alternative memory space of local memory [4,24]. They can achieve almost doubled bandwidth compared to RDMA-based far memory [6,28,9].” (Wang 等, 2023, p. 146) 🔤外部存储设备可以作为本地存储器的替代存储空间直接访问[4,24]。与基于 RDMA 的远存储器相比,它们可以实现几乎两倍的带宽 [6,28,9]。🔤