在新一代的数据中心里,开发人员可以通过一个可编程的数据中心结构来组装各种类型的处理器和资源,组成自己所需要的云计算平台。
数据中心的第一个时代是以CPU为中心的,即只能在一台计算机上运行一个应用程序。由于资源分配是静态的,并且更换服务器可能要花费数周或数月,因此通常需要多台服务器,而且还不能得到充分利用。
数据中心的第二个时代,虚拟化成为了一种标准,每台服务器上可运行多个虚拟机。资源是动态的,VM是按需创建的。当需要更多的CPU、内存或存储时,可以将工作负载迁移到其他服务器上的VM。
处理仍然由CPU执行,GPU或FPGA偶尔会加速特定任务。应用程序开发人员依然是一次只在一台计算机上编写CPU程序。第二代的数据中心仍以CPU为中心。
数据中心新时代
现在,我们进入了数据中心的第三个时代,我们称之为ADI(Accelerated Disaggregated Infrastructure),它基于可组合的基础架构,微服务和特定域处理器。
ADI有以下特点:
加速:不同的处理器可以根据优秀的方案加速不同的工作负载。CPU运行通用的单线程工作负载,GPU运行并行处理工作负载,数据处理单元(DPU)管理数据的处理和低延迟移动,使CPU和GPU更有效地获得所需的数据。例如,CPU可以运行数据库,GPU可以处理人工智能和视频,而DPU可以快速,高效,安全地将正确的数据传递到需要的地方。
使用GPU加速的AI和机器学习现在无处不在:线上购物、5G无线、医学研究、网络安全、软件开发、视频处理乃至数据中心运营。可以通过DPU加快网络、存储访问和保证安全性来使云和容器快速增长。
解耦:将计算、内存、存储和其他资源分成多个池,并以适当的数量动态分配给服务器和应用程序。通常,应用程序本身是由交互微服务构建的,而不是作为一个整体的代码块。这样可以更轻松地以正确的资源比例编写应用程序,并根据需要更改该比例。
使用ADI模型,GPU,DPU和存储可根据需要连接到任何服务器、应用程序或VM。通过使用Nvidia的GPU Direct和Magnum IO等技术,CPU和GPU可以在网络上相互访问和存储,其性能几乎都与同一台服务器上的相同,可以将正确数量和类型的GPU分配给需要它们的工作负载。每台服务器中的DPU可以管理和加速常见的网络、存储、安全性、压缩和深度数据包检查任务,以保持数据的快速和安全移动且不会给CPU或GPU造成负担。
通过ADI,数据中心成为了新的计算单元,并且完全可组合,由GPU和DPU加速。
要对数据中心进行编程,必须对网络进行编程
对于ADI,数据中心是新的计算单元,而网络结构提供了一个灵活、自动化、可编程的框架来动态地组合工作负载资源。这意味着不仅要对CPU、GPU和DPU进行编程,还要对网络结构本身进行编程,将DevOps的优势扩展到网络中,这种方法称为“基础架构即代码”(Infrastructure as Code,IaC)。该结构必须可编程、可伸缩、快速、开放、功能丰富、自动化友好且安全。它可以在CPU,GPU和存储之间提供多种高带宽路径,并能够对流量类别进行优先级排序。
使用ADI,每个应用程序都可以在由CPU,GPU和存储资源组成的虚拟服务器上运行,而DPU可以加快访问和提高安全性。
开放式网络操作系统支持ADI
传统上,交换机被设计为专有的“黑匣子”,其中网络操作系统(NOS)锁定在特定的交换机硬件平台上,要求客户一起购买和部署它们。
以Nvidia为例,其方法是提供优质的开放式端到端解决方案。客户可以采用优秀的交换机ASIC,并根据自己的需要选择最好的NOS:Cumulus Linux、Mellanox Onyx、SONiC等。客户甚至可以选择在Spine Switches上运行SONiC,而在机架式交换机和园区交换机上使用Cumulus Linux。
与专有的封闭式交换机模型不同,开放式网络使客户可以从同类优秀的软件和硬件中进行选择,以获得所需的功能和性能,并提高可管理性。
现在,企业、AI、云和HPC工作负载可以使用包括GPU、CPU、DPU、内存、存储和高速连接在内的优质资源,在整个数据中心的任何部分灵活运行。