前文介绍了智算与云网融合的关系,那么智算与算力网络、算网融合的关系又是什么?让我们先来复习一下智算的概念。
AI智算的概念
智算即人工智能计算,主要面向人工智能应用,提供人工智能算法模型训练与模型运行服务的计算机系统能力,代表了人工智能领域的飞速发展。它主要用于处理复杂、高维、动态、非结构化的数据和问题。智能计算融合了计算机科学、数学、物理、统计学等多学科知识,并广泛应用于大数据分析、智能机器人、自动驾驶、智能家居、智能城市、智能医疗、金融科技等多个领域。智算不仅提升了计算能力,还为各行各业带来了智慧的变革,成为推动科技进步的重要引擎。
算力网络的概念
算力网络是实现泛在算力的手段。算力即计算能力(Computing Power),它集成了信息计算力、网络运载力和数据存储力,是数据中心的服务器通过对数据进行处理后实现结果输出的一种能力。而这种能力向边缘的扩展和延伸需要与网络结合,催生了算力网络。算力网络是以算为中心、网为根基,提供一体化服务的新型信息基础设施,可以理解为计算设施和网络设施共同建设的一张传输网络。我们可以利用算力网络实现云、边、端计算存储资源的灵活调度与分配。
算网融合的概念
算网融合是指算力与网络深度融合,这种融合可以发生在多个层面,包括硬件、软件、平台和应用等,有助于实现算网服务的极简一体化转变。算网融合通过深度整合这计算和网络资源做到算力的智能编排和灵活使用,进而加快算力传递提高系统的整体性能和效率。算网融合逐步推动算力成为与水电一样,可“一点接入、即取即用”的社会级服务,达成“网络无所不达、算力无所不在、智能无所不及”的愿景。
尽管算网融合听起来与算力网络十分相近,二者仍有区别。算力网络强调网络在算力资源管理和调度中的核心作用,是一种基础建设一张传输网络;而算网融合强调计算资源和网络资源的深度融合,更偏向于一种技术概念一种服务。可以理解为建设算力网络的目标是实现算网融合。
三者的关系是什么
通过上文对智算概念的描述,我们可以将智算翻译为“数据 算力 算法”,如图4所示。智算涉及丰富的计算场景,需要用到大模型计算,处理海量数据。基于智算的这种特性,算力需求激增。通用算力将增长10倍到3.3ZFLOPS 、人工智能算力将增长500倍超过100ZFLOPS,相当于一百万个中国超级计算机神威“太湖之光”的算力总和。云数据中心无法承载如此巨大的数据和算力,那么传统的云计算方式就无法满足海量数据的处理要求。除此之外,传统云计算是先将所有数据资源上传至云计算中心,设备端提出访问请求后再将计算结果返回,这其中会产生较长的响应时间而无法满足实时数据的处理要求。此时需要网络对算力进行调度,使得云、边、端都能得到灵活的资源分配,便催生出了算力网络。而算力网络整合了强大的计算能力和高效的网络资源,为智算提供坚实的基础设施。
建设算力网络的目标是实现“算力泛在、算网共生、智能编排、一体服务”,那么算网融合的概念自然而然地被提出。算力与网络在形态和协议方面深度融合,推动算力和网络由网随算动到融为一体,最终打破网络和算力基础设施的边界。网络从支持连接算力,演进为感知算力、承载算力,实现网在算中、算在网中。网络根据业务需求,按需进行算力网络编程,灵活调度泛在的算力资源,协同全网的算力和网络资源,实现算力路由。通过灵活部署的在网计算,对数据进行就近加速处理,降低应用响应时延,提升系统处理效率,实现算网发展互促互进,共生共赢。
总的来说,智算对算力激增的需求催生出算力网络,算力网络又提出了算网融合的目标。算力网络和算网融合为智算提供了强大的技术支撑,而智算的发展推动了算网融合和算力网络的进步,他们三者是相互促进的关系。
智算时代如何打造算力网络
在智算时代下,如何打造算力网络,做到算网融合呢?我们需要从其特点出发进行技术匹配。
算力网络的特点
- 灵活敏捷:根据业务需求,算力网络需要具备敏捷接入的能力来快速获取算力,并灵活动态地在云、边、端之间按需分配和灵活调度算力资源,进而实现资源的最大化利用,并应对各种突发情况。
- 无损安全:据测算,即使是0.1%的丢包率也可能导致高达50%的算力损失。这种损失对于依赖大规模计算资源的应用来说是不可接受的。因为在算力网络中,每一个数据包的丢失都可能对算力计算产生负面影响。无损传输能够保证数据在传输过程中不丢失、不损坏,从而确保数据的完整性和准确性。
- 感知可视:算力网络需要实时感知算力资源与网络资源的状态,结合不同业务的SLA要求、网络整体负载、可用算力资源池分布等因素,智能、动态地进行资源调度和计算协同策略。并构建可视网络数字地图,实时监控网络的状态和性能,优化网络拓扑和布局,提高网络运维的效率和准确性。
Kubernetes容器化技术
利用Kubernetes可以实现大模型算力的灵活调度,高效合理地分配管理资源。
Kubernetes(又称K8s)是一个开源的容器编排和管理平台。它采用了容器化的思想,将应用程序打包成容器并在集群中运行。Kubernetes中的调度器组件Scheduler可以把用户提交的Pod(最小调度单元,是一组容器的抽象)放到 Kubernetes 管理集群的某一节点Node上。具体位置依据它对 CPU、对 memory 请求大小后确定。这个过程就是一次调度工作,可用于大模型算力调度。
除此之外,Kubernetes 有业务负载检查的能力,可以实现资源合理分配、高效利用。它会监测业务上所承担的负载,如果这个业务本身的 CPU 利用率过高或响应时间过长,它可以对这个业务进行一次扩容。这种水平扩张是由Kubernetes 中的 Controller 来完成的,Controller控制器用于完成对集群状态的管理。
K8s的这些功能主要得益于其自身架构。Kubernetes 架构是一个相对典型的server-client架构。Master作为中央管控节点与Node进行连接,而所有user侧的组件,只会和Master进行连接,把希望的状态或者想执行的命令下发给 Master,再由Master把这些命令或状态下发给相应节点Node,完成最终执行。节点 Node是真正运行业务负载的,每个业务负载会以Pod的形式运行。Node中运行这些Pod的组件是 kubelet,它通过APIServer接收到所需要Pod的运行状态,然后提交到Container Runtime组件中,由Container Runtime负责创建、运行、停止和销毁容器。
DCB协议
利用DCB协议可以优化网络性能、提高网络可靠性,实现算力网络的无损运输。
DCB(Data Center Bridging)协议是一组由IEEE 802.1工作组定义的以太网扩展协议,用于构建无丢包以太网,满足网络无损传输的需求。主要包括以下技术:
- PFC(Priority-based Flow Control)优先级流量控制技术,允许交换机基于数据帧的优先级标签来暂停或恢复数据流的发送。如图8所示,DeviceA发送接口分成了8个优先级队列,DeviceB接收接口有8个接收缓存,两者一一对应。当DeviceB的接口上某个接收缓存产生拥塞时,发送一个反压信号“STOP”到DeviceA,DeviceA停止发送对应优先级队列的报文。
- ETS(Enhanced Transmission Selection)增强型传输选择技术,允许网络管理员根据流量的优先级或类别来分配带宽。ETS提供两级调度,分别基于优先级组PG(Priority Group)和优先级队列,如图9所示。接口首先对优先级组进行第一级调度,然后对优先级组的优先级队列进行第二级调度。
- DCBX(Data Center Bridging Exchange Protocol)数据中心桥接交换协议,用于在支持DCB的设备之间自动协商和配置DCB参数,减少人为错误的可能性。DCBX能够交换的配置参数包括ETS的优先级组信息和PFC,以PFC参数为例,DCBX将其封装入链路层发现协议LLDP中的TLV中,由LLDP来进行链路两端设备的DCB配置交换。
INT技术
利用INT技术可以实现算力网络的精准感知和监控分析,帮助管理者提高运维效率。
在网络规模不断扩大,网络设备和链路数量急剧增加的情况下,传统的网络监控手段如SNMP、NetFlow、sFlow等,存在监控精度低、数据收集不全面、响应速度慢等问题,已无法跟上时代的步伐,满足不了数据中心的网络运维需求。网络的感知与监控应该具备实时性、准确性和全面性。
INT(In-band Network Telemetry)带内网络遥测技术提供了更实时、全面、精细的运维模式。它可以通过数据平面收集和报告网络状态,并且不需要控制平面再从数据平面收集和传送状态时进行干预和工作,大大缩短响应时间。在INT体系结构中,交换设备转发和处理携带遥测指令的数据包。当遥测数据包通过设备时,遥测指令指示INT设备收集和插入网络信息。INT数据包的转发需要经过三个过程:INT源交换机创建INT报头并插入到发送的数据包中;INT中转交换机根据INT报头中的指令收集数据平面中的元数据;INT汇聚交换机提取INT报头,并决定将收集的信息发送给监控系统。
我们可以看出INT技术采用主动推送模式,主动将网络的即时性能、状态、参数等信息收集并记录下来并发送给分析系统。这种方式确保了信息的实时性,有助于运维人员快速响应网络问题。除此以外,INT技术能够收集到网络各个层面的状态信息,能够实现纳秒级的时间戳采集,可以确保网络感知监控的全面性和精细性。如果结合图形化界面工具可以实现网络的可视化展示。