Some-hardware-knowledge

本文最后更新于:1 个月前

导引

2025-03-26/ 看了一些内存技术,初步的加一些东西,后期有空再补


为什么会想着写一篇关于硬件(SSD)的博文呢,在之前的一篇ZeRO-Infinity的论文中,讲到了利用NVMe来用作GPU,CPU内存的扩充,而对NVMe这个东西从未耳闻,因此看了一些资料来查缺补漏,便有了本文关于SSD这一硬件的简单讲解.其中主要涉及到的内容是PCIe的协议栈以及NVMe协议的讲解

内存技术

这里简要写一下,DDR,GDDR,HBM一类的技术.在谈及这些技术前我们要知道带宽怎么计算: 带宽 = 频率 * 位宽,这是之前一向的计算方法,计算出来的是bit,然后频率可能是MHz一类的,自行转换到GB/s,但实际上是:带宽 = 频率 * 倍增系数 * 单通道位宽 * 通道数,而这个倍增系数跟内存技术相关.

一般来说,买内存条说的是标称频率而非物理频率,可能说是DDR4 3200,这个3200是标称频率,对于DDR4它的预读数是16bit(相当于倍增系数是16),而它实际上的物理频率是200MHz,由此增大了带宽.同时,通道数的增加也可以增加带宽,相当于位宽变大了

DDR(Double Data Rate SDRAM),相较于传统的SDRAM,它在脉冲信号上升沿和下降沿均对数据采样,因此一个时钟信号可以传2个数据,是SDRAM的2倍,故得名DDR;

DDR2-DDR4都是通过增加预读(也有叫预取)来相较前者增加倍增系数,DDR相当于预读2bit,DDR2则是4bit,DDR3则是预读8bit,DDR4则是预读16bit;

除了预读还可以通过多总线技术来实现倍增系数的增长好像GDDR用的多?

而SDRAM到DDR它的位宽都是64bit,是通过多通道来实现位宽的增长;

HBM通过TSV(through silicon via)的技术实现堆叠,增加的是位宽感觉像磁盘啊

注意:上面说的频率都是存储单元核心频率,正因为核心频率有瓶颈,所以DDR通过预测2bit+上下沿传输(一个沿传1个bit,1个cycle刚好传完,核心频率==IO频率)实现带宽增加,而DDR2的时候,预取4bit,需要2个cycle才可以传出去(1个cycle就是一个上下沿,传2bit数据),那么IO频率就要是存储单元核心的2倍,而实现的有效传输频率就是原先存储单元核心的4倍

参考资料: DDR协议

后面的所谓多总线感觉是QDR(Quad Data Rate),对数据总线进行升级,单数据通道变双数据通道,半双工升级全双工

数据链路

PCI Express

PCIExpress这种链路传输,一般有个编码方式,比如8b/10b,128b/130b,然后传的速率是MT/s,需要通过编码方式进行转换,得到后是单个lane的传输,即x1,而xCnt的Cnt表示的是lane的数目

不同代系传输速率不一样,编码方式不一样,得出单lane的传输能力也不一样.

SSD

物理接口

常用的物理接口有PCIe接口,SATA接口,M.2接口

前两个接口是根据通道而起的名字

M.2接口则可以跑PCIe或SATA通道,具体要看主板或硬盘的支持情况,主流的用于接入SSD的接口

通道

在谈及PCIe前,

bus%20development

PCIe

协议

NVMe

NVMe(Non-Volatile Memory Express),非易失性内存主机控制器接口规范

PCIe Switch

HBM2

个人感觉是一个升级版的PCIe,双工双路信道

NVLink Development

NVSwitch

内部整合了多个NVLink

NVSwitch Development

DGX

DGX(Data Gpu eXtend,知乎捡回来的解释,NVIDIA也没有解释)系列产品(另还有HGX,EGX,分别对应HPC,Edge等领域):

  • DGX Station

    可自行DIY或购买的DGX工作站

  • DGX-1(卖点是P100和NVLink)

    采用的是可以搭载8块GPU的SXM插槽,最初是P100(Pascal架构的,16GB),后面换成了V100(Volta架构,32GB)

    DGX-1 Pascal架构的内部连接对AllGather优化没做好,但应该在DGX-1 Volta架构中增加了更多的NVLink通道解决了这个问题,P100有4个NVLink通道,V100有6个NVLink通道

    以上参考:李沐关于DGX-1的描述

    关于下方注释中的SXM的解释参考自wiki-SXM

    SXM(Server pci eXpress Module),是一种高带宽的插槽,用于连接NVIDIA计算加速器到系统的一种解决方案,自P100以来,每一代的Nvidia Tesla,DGX计算系列,HGX板子都配有SXM插槽,可为匹配的GPU实现高带宽等功能

    在DGX系列中,SXM用于Pascal架构的GPU,SXM2,SXM3用于Volta架构,SXM4用于Ampere架构,SXM5用于Hopper架构的GPU

    这些插槽是对应于特定的加速器型号

  • DGX-2(卖点是V100和NVSwitch)

  • DGX A100

  • DGX H100

    • 8个H100GPU,总显存高达640GB
  • DGX BasePOD

  • DGX SuperPOD

参考文件: