# DDC:A Vision for a Disaggregated Datacenter TL;DR:新的互联协议CXL出现,作者畅想了数据中心的新形态

数据中心低CPU利用率,高内存利用率
应用程序分配的内存足以满足其最坏情况的使用。因此,由于没有足够的内存可用,CPU 资源可能会过多
解决利用率不足问题的一个自然解决方案是完全避免资源耦合。
CPU和内存分配解耦
这种资源分解将数据中心从以服务器为中心转变为以资源为中心的模型,其中每种类型的资源独立于其他资源在逻辑上汇集在一起​​。
本文采用自上而下的方法,利用传统计算机体系结构的类比。它系统地解决了内存分解的所有相关方面,提出了一个全面的模型,并提出了一个研究平台,以促进不同方法之间的定量比较

STATE OF THE ART

image.png
Split architecture:服务器资源被分割,其中资源的一部分严格由所属服务器在本地使用,而剩余的资源则被通告以供数据中心中的其他节点使用。大多数遵循此架构的实现都是基于软件、虚拟机管理程序或操作系统的

Pool architecture:资源通过池化在一起而更加分散。通常,这种架构的集群将具有专用的内存节点和计算节点。计算节点仍然包含一定量的内存,充当远程内存的缓存形式。该架构的实现可以是软件、管理程序、操作系统,甚至是基于硬件的。
缺陷

  • reasoning,意思是选择什么样的架构是个人选择,没有进行严格的推理比较
  • Ease of design and adoption:先前研究的一个共同趋势是注重设计的简易性而牺牲了采用性。就是说之前的采用基于软件的方法,实际上基于硬件的更好
  • 延迟:软件延迟和fabric延迟(网络协议、拓扑、基础设施)
  • 数据共享:允许数据共享是非常有效的

INSIGHT:REUSE THE WHEEL

作者认为现在的数据中心和传统计算机架构很像

数据中心中的计算节点可以被认为是数据中心的处理器,而远程存储器可以类似于任何计算机可用的本地DRAM。在这种情况下,数据中心网络充当处理器互连(例如,类似于片上总线)。从这个角度来看,分类数据中心与传统的多核计算机类似,因此也可以利用相同的计算机设计理念来构建分类数据中心。例如,在计算节点和内存节点之间引入缓存以及利用类似于当今微处理器中的缓存一致性协议等可能是有用的。

当然需要满足以下需求

  • 易用性:数据中心能够运行多种应用,将单机应用移植不需要额外成本,基于线程的共享内存模型成为首选的编程模型。
  • 性能要求:低延迟高带宽
  • 可扩展性:第一个是水平可扩展性,可以通过在数据中心继续运行时向/从数据中心添加或删除计算组件或内存组件来实现。二种类型的可扩展性是垂直可扩展性,这是传统数据中心不存在的功能。垂直可扩展性是通过添加或删除内存层次结构的层(例如额外的缓存级别)来实现的,以满足数据中心的需求,这可以通过重新定义网络互连来动态实现。
  • 容错性

COMPUTE NODES

计算节点仅由其处理器、本地 DDR 存储器和高速网络互连(例如 CXL 接口)组成,以使用远程存储器扩展节点,但不再包含其他外围设备。在这种情况下,本地 DDR 内存并不充当主内存,而是充当基于 DRAM 的大型缓存级别。因此,当今已知服务器架构的所有根本性变化都将围绕 DDR 内存进行。例如,内存控制器必须修改为还可以充当缓存控制器,处理替换、逐出等。内存/缓存控制器还将利用网络接口连接到下一级缓存(如果有),或者远程存储器。

CACHING

在数据中心架构中额外加一层缓存,即计算节点的DDR
缓存设计存在很大困难

MEMORY NODES

存节点是哑组件,仅包含一个或多个 DDR 或 HBM 内存控制器,

VIRTUAL MEMORY

当用额外的级别扩展内存层次结构时,自然的倾向是简单地也用额外的级别扩展虚拟内存基础设施(例如,TL​​B)。然而,这可能被证明是低效的。

INTERCONNECTS AND NETWORKING

互连可以说是分类数据中心最重要的组件。它们不仅影响计算、缓存和内存刀片的设计选择,而且互连也是分解规模(即分解数据中心的大小)的决定因素。

STORAGE

提出统一的内存/存储寻址空间

image.png