数据中心已经从物理服务器发展到虚拟化系统,现在发展到可组合的基础设施,而在这些基础设施中,诸如存储和持久性内存之类的资源已从服务器中分离出来。与此同时,数据处理已经从仅在CPU上运行演变为在GPU、DPU或FPGA上运行,以进行数据处理和联网任务的加速计算。同样,软件开发模型已经从单台计算机上运行的程序演变为在数据中心上运行的分布式代码,这些代码已实现为云原生的、容器化的微服务。
在这个新世界中,开发人员需要一个可编程的数据中心结构来组合各种处理器类型和资源,以构建组织完成任务所需的平台。
数据中心的第一个时代是以CPU为中心和静态的数据中心,通常是在一台计算机上运行一个应用程序。软件在CPU上运行,程序员开发的代码只能在一台计算机上运行。由于资源分配是静态的,因此服务器通常配置过多且未充分利用。
在数据中心的第二个时代,虚拟化成为常态,每台服务器上都在运行许多虚拟机。其资源是动态的,虚拟机是按需创建的。当需要更多CPU、内存或存储时,可以将工作负载迁移到不同服务器上的虚拟机。
其计算处理仍然主要由CPU执行,仅偶尔使用GPU或FPGA来加速特定任务。几乎所有内容都在软件中运行,并且应用程序开发人员仍然大部分时间只能在一台计算机上进行编程。第二个时代的数据中心仍然以CPU为中心,只是偶尔会加速运行。
数据中心就是计算机
如今,正在进入数据中心的第三个时代,人们称之为加速分解基础设施(ADI),它建立在可组合基础设施、微服务和特定领域处理器的基础上。
以下分别讨论这些重要元素:
·加速:根据最佳选择,不同的处理器可以加速不同的工作负载。CPU运行通用的单线程工作负载,GPU并行处理工作负载,数据处理单元(DPU)管理数据的处理和低延迟移动,以使CPU和GPU高效地获得所需的数据。例如,CPU可以运行数据库,GPU可以进行人工智能(AI)和视频处理,而DPU可以快速、高效、安全地将正确的数据交付到需要的地方。
GPU加速的人工智能和机器学习现在被广泛使用:用于改善网上购物、5G无线、医疗研究、安全、软件开发、视频处理,甚至数据中心运营。云计算、容器以及合规性问题的快速增长要求DPU加快网络、存储访问和安全性。
·分解:将计算、内存、存储和其他资源分成多个池,并以适当的数量动态分配给服务器和应用程序。应用程序本身通常是由交互微服务构建的,而不是作为一个整体的代码块构建的。这样可以更轻松地以正确的资源比例编写应用程序,并根据需要更改该比例。
使用加速分解基础设施(ADI)模型,GPU、DPU和存储可根据需要连接到任何服务器、应用程序或虚拟机。使用Nvidia公司的GPUDirect和Magnum IO等技术,可使CPU和GPU在网络上相互访问和存储,其性能几乎都与同一台服务器相同。可以将正确数量和类型的GPU分配给需要它们的工作负载。每台服务器中的DPU管理和加速常见的网络、存储、安全性、压缩以及深度数据包检查任务,以保持数据的快速和安全移动,而不会给CPU或GPU造成负担。
采用加速分解基础设施(ADI),数据中心是计算的新单元——由GPU和DPU完全可组合和加速。
要对数据中心进行编程,必须对网络进行编程
采用加速分解基础设施(ADI),数据中心是计算的新单元,而网络结构提供了一个灵活、自动化的编程框架,可以动态地组成工作负载资源。这意味着不仅要对CPU、GPU和DPU进行编程,还要对网络结构本身进行编程——将DevOps的优势扩展到网络中,这种方法称为“基础设施即代码”。
该结构必须可编程、可扩展、快速、开放、功能丰富、自动化友好和安全。它必须在CPU、GPU和存储之间提供多条高带宽路径,并具有对流量类别进行优先级排序的能力。借助在Spectrum交换机上运行的Cumulus Linux和SONiC以及基于BlueField的DPU,Nvidia公司提供了一流的端到端光纤解决方案,可以在整个数据中心堆栈上进行优化的编程。这些解决方案(当然还有许多由Nvidia GPU支持的平台和软件框架)可为客户提供出色水平的数据中心性能、灵活性、可组合性、可编程性,从而支持Nvidia公司联合创始人兼首席执行官黄仁勋的发展愿景。数据中心是计算的新单元,在Nvidia公司完成对Mellanox Technologies的收购并计划收购Cumulus Networks的过程中,对此进行了详细讨论。
使用加速分解基础设施(ADI),每个应用程序都可以在由CPU、GPU和存储资源构建的虚拟服务器上运行,并且DPU可以加快访问和安全性。
开放式网络操作系统支持分解基础设施
传统上,交换机被设计为专有的“黑盒”,其中网络操作系统(NOS)锁定在特定的交换机硬件平台上,要求客户购买并将其部署在一起。