Menu Close

京东云

京东云:以“京刚”智能网卡和软硬一体虚拟化构建DPU级云基础设施

京东云

京东云(JD Cloud)是京东集团面向企业、政府和开发者提供云计算、人工智能大数据、存储、网络和产业数字化服务的技术平台,目前属于京东科技体系的重要组成部分。

大禹智芯Kalray这类以DPU芯片或DPU板卡作为核心产品的企业不同,京东云首先是一家大型云计算服务商。

它研发智能网卡和DPU级数据处理技术,主要目的是服务自己的云服务器、裸金属服务器、容器、存储和网络基础设施。

京东科技目前仍将京东云作为集团向产业客户输出云计算和数字技术能力的重要品牌。

京东云为什么需要DPU

现代云服务器中的CPU不仅要运行客户的程序,还要处理虚拟机管理、虚拟网络、云硬盘、安全策略以及大量网络数据包。

如果这些基础设施工作全部由服务器CPU完成,就会占用本来可以出售给客户的CPU核心,同时增加性能波动。

DPU的核心思想,就是把网络、存储、虚拟化和管理任务从服务器CPU卸载到独立的处理器或者智能网卡中。

这样主CPU可以更多地运行客户应用,而云平台自己的基础设施任务则由专用硬件完成。

京东云很早就在裸金属云服务器中采用这种思路。

其公开技术资料显示,网络数据面可以把VXLAN、Flow Table、ACL以及Connection Tracking等处理下沉到智能网卡,存储数据面则通过SPDK等技术连接云硬盘后端。

这样能够缩短网络处理路径,同时减少服务器CPU和内存开销。

从今天DPU产业的定义来看,这些功能已经非常接近典型DPU的核心职责。

“京刚”是京东云DPU路线的核心

京东云自研数据处理基础设施最有代表性的品牌叫做“京刚”。

2021年,京东云正式发布软硬一体虚拟化架构“京刚”。

它并不是单独的一块普通网卡,而是由智能芯片、智能网卡以及计算、网络、存储和虚拟化软件共同组成的一整套云计算基础设施架构。

京东云公开资料将其定位为面向云主机、裸金属云主机和原生容器的统一虚拟化平台。

京刚最重要的思想是:

把原来运行在服务器CPU上的基础设施软件,迁移到专用硬件上执行。

其中包括网络转发、存储I/O、虚拟化设备以及部分管理控制功能。

这种设计实际上与今天NVIDIA BlueField、AMD Pensando以及其他DPU平台的基本思想非常接近。

因此,从产业分类角度看,可以把京刚理解为京东云自己的DPU / SmartNIC基础设施平台。

智能网卡是什么

SmartNIC中文通常叫“智能网卡”。

普通NIC,也就是Network Interface Card,主要负责把服务器连接到网络。

传统网卡最基本的工作是收发Ethernet数据包,而SmartNIC除了拥有网络接口之外,还可以加入CPU、FPGA、ASIC、内存以及可编程加速器,在网卡上直接执行复杂的数据处理任务。

这些任务可能包括:

网络数据包转发、虚拟交换、安全过滤、存储协议、加密、压缩、RDMA以及虚拟化。

当SmartNIC进一步拥有较完整的计算资源和独立软件运行环境,并承担服务器基础设施控制任务之后,它与DPU之间的界限就开始变得模糊。

因此DPU可以理解为智能网卡进一步发展的结果。

京东云的京刚正属于这种演进路线。

FPGA是京刚的重要技术基础

京东云早期京刚架构大量使用FPGA。

FPGA是Field Programmable Gate Array的缩写,中文叫“现场可编程门阵列”。

普通CPU运行一条条软件指令,而FPGA允许工程师直接配置芯片内部的数字逻辑电路。

对于网络数据包转发、协议解析和存储I/O等重复性非常强的数据处理任务,FPGA可以建立专门的并行硬件数据通路,因此通常拥有很低的延迟。

京东云公开资料显示,京刚智能芯片采用可编程FPGA实现硬件加速,把网络转发、存储I/O以及部分管理任务从CPU卸载到硬件中,同时可以通过重新编程升级硬件功能。

Intel公开案例资料还显示,京东云曾基于Intel C5000X-PL平台研发自己的智能网卡,并结合Intel FPGA和Xeon处理器技术用于裸金属和云计算基础设施。

网络卸载

Network Offload,也就是“网络卸载”,是DPU最重要的功能之一。

传统虚拟机发送一个网络数据包时,数据可能需要经过虚拟网卡、Hypervisor、虚拟交换机、Linux内核以及物理网卡,整个过程会消耗CPU资源。

如果把这些工作交给DPU或者智能网卡,就可以建立一条更加直接的硬件数据路径。

京东云早期裸金属架构已经支持VXLAN、Flow Table、ACL Table以及Connection Tracking等网络功能的硬件卸载。

VXLAN是一种虚拟网络技术。它允许云数据中心在传统IP网络之上建立大量彼此隔离的虚拟网络。

ACL是Access Control List的缩写,中文叫“访问控制列表”,它决定哪些网络流量允许通过,哪些应该被阻止。

Connection Tracking则叫“连接跟踪”,系统会记录一个网络连接目前处于什么状态,例如TCP连接是否已经建立。

这些操作在大型云平台中每天可能需要执行数十亿甚至更多次,因此非常适合由专用硬件处理。

存储卸载

DPU不仅处理网络,也越来越多地承担存储任务。

京东云的京刚平台把存储I/O处理也下沉到专用硬件,通过虚拟化设备向云服务器提供云硬盘能力。

I/O是Input/Output的缩写,也就是“输入/输出”。服务器从SSD读取数据或者向云硬盘写入文件,都属于I/O操作。

如果这些请求全部由服务器CPU处理,会占用大量CPU时间。

京刚智能芯片可以承担部分存储数据路径和控制任务,让CPU更专注于客户应用。

京东云官方资料明确表示,京刚会把网络、存储和管控面功能下沉到智能芯片中。

SPDK是什么

京东云早期裸金属存储系统还使用了SPDK。

SPDK是Storage Performance Development Kit的缩写,可以翻译成“存储性能开发套件”。

传统Linux存储I/O需要经过操作系统内核中的多个软件层。

SPDK通过用户态驱动、轮询以及其他高性能技术减少软件路径开销,因此特别适合NVMe SSD和高速云存储系统。

京东云公开架构资料显示,其裸金属存储数据面使用SPDK模拟存储控制器,再连接后端云硬盘资源池。

这也是DPU产业非常典型的一种技术组合:

DPU + SPDK + 高速SSD + 网络存储。

Virtio-Net与Virtio-Blk

京刚还支持两个非常重要的虚拟化标准:

Virtio-Net和Virtio-Blk。

Virtio是一套用于虚拟机I/O设备的标准接口。

Virtio-Net代表虚拟网络设备,Virtio-Blk代表虚拟块存储设备。

操作系统看到的是一个标准虚拟网卡或者虚拟磁盘,但是底层真正的数据处理可以由智能网卡、FPGA或者DPU完成。

这种设计非常重要,因为用户的Linux虚拟机不需要知道底层到底使用哪一种DPU。

只要继续使用标准Virtio驱动,就可以运行。

京东云公开的京刚技术资料把Virtio-Net和Virtio-Blk列为京刚智能芯片的重要能力。

SR-IOV是什么

京刚还支持SR-IOV。

SR-IOV是Single Root I/O Virtualization的缩写,中文通常叫“单根I/O虚拟化”。

它允许一块真实的PCIe设备,例如高速网卡,在硬件层面创建多个Virtual Function,也就是虚拟功能。

不同虚拟机可以直接使用自己的Virtual Function,而不用让所有网络数据都经过Hypervisor软件转发。

这样能够显著降低延迟和CPU开销。

SR-IOV已经成为高性能云计算、DPU和SmartNIC中非常常见的技术。

京东云公开资料明确将SR-IOV支持列为京刚智能芯片的重要虚拟化能力之一。

vDPA与虚拟机热迁移

京刚还支持vDPA标准。

vDPA是vHost Data Path Acceleration的缩写,可以理解为“虚拟机数据通路硬件加速框架”。

它的重要作用之一,是让虚拟机仍然使用标准Virtio接口,同时底层数据处理由硬件加速设备完成。

这样既保留了Virtio的软件兼容性,又能够获得接近硬件直通的性能。

京东云在京刚架构中还把vDPA与虚拟机热迁移结合起来。

所谓热迁移,就是在虚拟机仍然运行的情况下,把它从一台物理服务器移动到另外一台服务器。

对于大型云平台来说,这非常重要,因为数据中心需要进行服务器维护、故障处理和资源调度,而用户最好感觉不到虚拟机已经换了一台物理服务器。

京刚与裸金属云服务器

DPU最经典的应用之一就是Bare Metal,也就是裸金属服务器。

传统虚拟机具有很好的弹性,但是Hypervisor会带来一定性能开销。

传统物理服务器性能很好,但是不像云服务器那样容易快速创建、销毁和管理。

裸金属云希望把两者结合起来:

用户拥有完整物理服务器性能,但是仍然可以使用VPC、云硬盘、安全组以及自动化管理等云计算能力。

要做到这一点,就需要把云计算基础设施放到服务器CPU之外。

DPU或者智能网卡正好解决这个问题。

京东云的裸金属云主机就是京刚架构的重要应用之一。其公开资料显示,网络、存储和控制平面可以下沉到智能网卡,因此主机CPU能够更多地交付给用户。

京东云目前仍然提供裸金属云物理服务器以及相关CVM裸金属实例。

为什么要把虚拟化从CPU搬走

假设一台服务器拥有64个CPU核心。

如果云计算基础设施自己需要占用其中4个或者8个核心来运行网络、存储和虚拟化软件,那么这些CPU资源就无法出售给客户。

对于一台服务器来说,损失似乎不算巨大。

但是大型云厂商拥有几十万甚至更多服务器。

如果每台服务器都能释放几个CPU核心,总体节约的服务器数量、电力和数据中心空间就会非常可观。

因此AWS、Microsoft Azure、Google Cloud、阿里云腾讯云以及其他大型云厂商都在发展各种形式的DPU、SmartNIC或者基础设施处理器。

京东云的京刚也属于同样的技术趋势。

硬件隔离提高安全性

DPU还有一个很容易被忽视的优势,就是安全隔离。

传统云服务器中,客户应用和云平台管理软件可能运行在同一个物理CPU环境中。

虽然Hypervisor和操作系统已经建立了隔离,但是攻击者仍然可能尝试利用软件漏洞攻击Host系统。

如果把云平台的网络、存储和管理系统迁移到独立的DPU或者智能网卡中,就形成了一层物理硬件隔离。

京东云在京刚架构中也强调这一点:虚拟化软件下沉到智能网卡以后,可以与用户计算资源分离。

这也是现代DPU经常强调“Infrastructure Isolation”,也就是“基础设施隔离”的原因。

京刚2.0

在第一代京刚基础上,京东云随后推出京刚2.0。

公开资料显示,京刚2.0继续采用软硬件一体的虚拟化架构,并进一步提高网络包转发和存储IOPS性能,同时扩大不同CPU平台的兼容能力。

相关产业资料将京刚智能网卡的核心描述为基于FPGA的DPU级数据处理芯片

IOPS是Input/Output Operations Per Second的缩写,表示存储系统每秒能够完成多少次读写操作。

对于数据库、云硬盘和AI训练来说,IOPS通常是衡量存储系统性能的重要指标。

需要注意的是,京东云不像NVIDIA那样把DPU芯片作为独立商品大规模公开销售,因此外界能够获得的京刚芯片晶体管数量、处理器核心数量、制造工艺等详细硬件参数比较有限。

京刚更像京东云内部云基础设施的一部分。

京刚3.0

京东云后来又公布了京刚3.0。

2023年京东云介绍大模型基础设施时,已经把“京刚3.0”与云舰3.0、云海2.0一起列为支撑大模型研发的基础设施技术。

其中:

京刚主要负责计算虚拟化和硬件卸载;

云海主要负责分布式存储;

云舰主要负责混合多云和计算资源管理。

三者共同组成京东云底层基础设施体系。

不过,与很多公开销售的DPU芯片不同,京东云并没有持续公开京刚3.0内部芯片的详细微架构,因此介绍这类产品时,应该重点讨论它的基础设施作用,而不是猜测芯片核心数量或者制造工艺。

京刚与AI计算

人工智能的发展让DPU的重要性进一步提高。

训练大型语言模型通常需要数百甚至数千颗GPU

GPU计算速度非常快,但是训练数据必须不断从存储系统送入GPU,同时不同GPU之间也需要大量交换数据。

如果网络和存储速度不够快,昂贵的GPU就会等待数据。

因此现代AI服务器已经逐渐形成三种处理器分工:

CPU负责操作系统、应用控制和通用计算;

GPU负责人工智能矩阵计算;

DPU负责网络、存储、虚拟化以及大量数据移动。

京东云也已经把京刚智能网卡应用到GPU云主机和裸金属计算基础设施中。

公开资料显示,其GPU和裸金属服务器曾搭载自研京刚智能网卡,以减少虚拟化开销并提高计算、网络和存储效率。

RDMA与高性能计算

京东云当前云主机产品体系中还提供高性能计算实例以及RDMA网络配置能力。

RDMA是Remote Direct Memory Access的缩写,中文叫“远程直接内存访问”。

普通服务器之间传输数据时,CPU需要多次参与数据复制和协议处理。

RDMA则允许一台服务器通过高速网络更加直接地访问另一台服务器的内存,从而降低CPU占用和网络延迟。

在大规模GPU集群中,这项技术非常重要,因为GPU服务器之间每天需要交换巨量数据。

因此DPU、SmartNIC和RDMA通常会同时出现在现代AI数据中心架构中。

京刚与云海

京东云另外一个重要基础设施平台叫“云海”。

云海是一套分布式存储系统。

所谓Distributed Storage,也就是“分布式存储”,就是把数据分散保存在大量服务器和SSD中,对用户表现为一个统一的大型存储系统。

京东云2024年的公开资料显示,云海采用存算分离架构,并与京刚、云舰等基础设施共同升级,用于降低整体云计算基础设施成本。

存算分离就是把“计算服务器”和“存储服务器”分开。

这种架构可以更加灵活地增加CPUGPU或者存储容量,但是缺点是计算节点和存储节点之间会产生非常大的网络流量。

因此高速网络、RDMA和DPU就变得更加重要。

从这个角度来看,京刚和云海实际上是互补的:

云海负责保存数据;

京刚负责高效率地移动和处理数据。

京东云与独立DPU公司的区别

京东云与Kalray大禹智芯云豹智能等DPU企业最大的区别,在于商业模式不同。

独立DPU企业通常设计一颗DPU芯片,然后销售芯片、PCIe板卡或者相关软件。

客户可以购买DPU安装到自己的服务器中。

京东云则主要把DPU能力隐藏在自己的云基础设施内部。

用户购买京东云CVM、裸金属或者其他云计算服务时,可能已经间接使用京刚提供的硬件卸载技术,但是通常不需要自己购买一块“京刚DPU卡”。

这种商业模式更接近AWS Nitro、Google基础设施处理器以及大型云厂商自己的SmartNIC系统。

京东云在DPU产业中的位置

京东云的DPU路线有一个非常明显的特点:

它不是从“我要设计一颗DPU芯片”开始,而是从解决真实的大规模云计算问题开始。

京东每年的618和11.11会产生巨大的瞬时流量。

这种极端场景要求服务器同时具备非常高的网络吞吐量、存储性能和稳定性。

京刚架构已经被京东用于11.11以及其他高并发生产环境。京东云官方资料曾表示,其京刚架构经历了618、11.11等大型业务场景验证。

这类真实的大规模业务场景,也是大型互联网公司发展自研基础设施芯片的重要原因。

当服务器数量达到很大规模之后,即使只提高几个百分点的资源利用率,也可能产生非常大的经济价值。

京东云算不算DPU企业

严格来说:京东云不是一家纯DPU芯片公司。

但是:京东云拥有明显属于DPU技术范畴的自研智能网卡、硬件卸载和软硬一体虚拟化技术。

其京刚平台能够处理:

网络卸载;

存储卸载;

虚拟化;

硬件隔离;

云主机管理;

裸金属基础设施;

Virtio设备;

SR-IOV;

vDPA;

以及云计算数据通路加速。

这些正是现代DPU最核心的功能。

总结

京东云是京东集团重要的云计算和产业数字化技术平台,也是中国较早把智能网卡和硬件虚拟化大规模应用到公有云基础设施中的厂商之一。

其代表性技术是“京刚”软硬一体虚拟化架构。

京刚通过智能芯片和智能网卡,把传统服务器CPU承担的网络、存储、虚拟化以及部分管理任务下沉到专用硬件执行,并支持Virtio-Net、Virtio-Blk、SR-IOV和vDPA等虚拟化技术。

第一代京刚大量采用FPGA实现可编程硬件加速,并已经应用于京东云主机、裸金属和容器基础设施。

随后京东云继续发展京刚2.0和京刚3.0,并把京刚与云海分布式存储、云舰混合多云平台以及GPU计算基础设施结合,逐渐形成完整的数据中心软硬件协同体系。

从处理器分工来看,京刚代表了现代数据中心正在发生的一次重要变化:

CPU负责运行应用,GPU负责人工智能计算,而DPU负责网络、存储、虚拟化和数据移动。

对于京东云这样的超大规模互联网和云计算平台来说,DPU的价值并不一定体现在“卖出多少颗芯片”,而是体现在让成千上万台服务器释放更多CPU资源、提高网络和存储性能、增强安全隔离,并降低整个数据中心的运营成本。

 

Entires个相关