DOI:10.19850/j.cnki.2096-4706.2021.08.019
摘 要:数据中心承担着现代社会的信息服务,然而当前基于传统网卡的数据中心面临着严重的性能瓶颈,难以适应高效数据传输处理需求。通过结合以服务器为中心的数据中心网络和多端口智能网卡的优点,提出了基于多端口智能网卡的数据中心网络MPS-DCN架构设计,并以MPS-Cube为例介绍其构造和路由过程。该类网络设计能够充分利用多端口智能网卡的可编程性,实现智能化的网络协议处理和网络功能卸载,从而提升网络吞吐量。
关键词:智能网卡;数据中心网络;可编程性;网络协议
中图分类号:TP308 文献标识码:A 文章编号:2096-4706(2021)08-0064-04
Research on Data Center Network Design Based on Server Multiport Intelligent Network Interface Controller
FENG Pei
(Xian Kedagaoxin University,Xian 710109,China)
Abstract:Data center undertakes the information service of modern society. However,the current data centers based on the traditional network interface controller are facing serious performance bottleneck,which is difficult to meet the needs of efficient data transmission and processing. By combining the advantages of server centered data center network and multiport intelligent network interface controller,the architecture design of data center network MPS-DCN based on multiport intelligent network interface controller is proposed,and its structure and routing process are introduced by taking MPS-Cube as an example. This kind of network design can make full use of the programmability of multiport intelligent network interface controller to realize intelligent network protocol processing and network function unloading,so as to improve the network throughput.
Keywords:intelligent network interface controller;data center network;programmability;network protocol
0 引 言
隨着现代化信息技术的发展,数据中心(Data Center)已成为当前社会信息基础设施的核心组成部分,为公司的生产经营和人们的社会生产生活提供高效和弹性的基础信息服务。数据中心网络(Data Center Network,DCN)通过高速交换机连接大量服务器为海量用户提供高效的即时服务,是数据中心实现其服务功能的物理基础[1-5]。
然而,随着后摩尔时代到来,传统的网卡和交换机越来越难以满足数据中心网络高效的数据传输需求,高性能服务器越来越多地参与到网络的数据传输和处理过程中,这严重浪费了服务器CPU的计算能力,进而导致了数据中心的计算和网络服务性能降低。
随着智能网卡(Smart Network Interface Card,SNIC)技术的发展,其可编程性受到了学界和业界越来越多的关注[6-7]。智能网卡SNIC通过可编程性实现智能化的网络协议处理和网络功能卸载,能够满足数据中心网络高效灵活的数据传输需求。通过在数据中心网络中部署多端口智能网卡不但能够提高网络吞吐量,而且可以根据网络负载和应用层数据流量倾斜调整相应的数据调度策略。基于多端口智能网卡的数据中心网络(Multi-Port SNIC Data Center Network,MPS-DCN)具有良好的网络虚拟化功能,能够为云计算供应商提供更高效的网络弹性以满足不同用户的网络传输服务需求。基于多端口网卡的数据中心网络通过解耦服务器的网络功能,从而使得高性能服务器能够专注于计算密集型的核心功能,进而提高数据中心网络的服务能力。文中以MPS-Cube为例介绍基于服务器多端口智能网卡的数据中心网络构造和路由过程。
1 数据中心网络发展现状
自2008年计算机网络领域的顶级会议SIGCOMM提出FatTree[1]和DCell[2]结构以来,云计算数据中心网络的设计一直是业界和学界研究的热点。根据转发设备的不同,其发展出以交换机为中心的(Switch-Centric)数据中心网络设计和以服务器为中心的(Server-Centric)数据中心网络设计两个并行方向,并且这两个方向在各自领域内都产生了突破性的进展。
1.1 以交换机为中心的数据中心网络
在以交换机为中心的数据中心网络设计中,交换机承担网络数据的路由转发功能,而服务器则作为数据存储和计算的功能节点不参与数据转发任务。
以交换机为中心的数据中心网络典型网络结构FatTree和Elastic Tree[5],这两种网络结构都是通过基于Clos结构部署的交换机来连接服务器。FatTree的特点是部署大量的交换机,交换机网络之间形成大量冗余路径为服务器提供超额网络带宽订购服务;Elastic Tree则从节约能源的角度根据网络应用需求适时调整FatTree中活动交换机的数量,从而达到网络节能的目的。FatTree网络结构如图1所示,其中圆圈表示服务器,矩形框表示交换机。
以交换机为中心的数据中心网络逐步发展出软件定义网络(Software Define Network,SDN)技术和SDN交换机,SDN技术通过将交换机的控制面与数据面进行逻辑分离,从而允许用户通过交换机控制器的可编程接口根据数据传输需求重新定义网络传输调度功能,从而实现对数据中心网络流量的实时智能控制。
1.2 以服务器为中心的数据中心网络
在以服务器为中心的数据中心网络中,服务器不仅需要承担数据的计算和存储功能,还需要承担数据的路由转发功能,这类网络中的交换机一般只作为服务器之间的网络连接部件。
以服务器为中心的数据中心网络典型代表是微软研究院提出的DCell[2]、BCube[3]和CamCube[4]网络,前两类网络采用了普通迷你型交换机,而CamCube网络则仅采用多端口服务器进行网络互联。在DCell网络结构中,最底层通过n台服务器连接一个n端口迷你交换机组成DCell0网络,而高层的DCell网络结构则由低层网络采取完全图互联的方式构成。BCube网络的基本拓扑结构采用了超立方体结构,而CamCube网络采用了3-DTorus結构。BCube网络结构如图2所示,图中的每个服务器均装备有2个端口的网卡。
以服务器为中心的数据中心网络设计逐步发展出智能网卡SNIC和网络功能卸载技术。通过利用智能网卡的可编程性实现灵活的网络协议卸载功能,不但能够解耦服务器CPU的网络处理负荷,而且能够根据应用层需求优化网络调度策略,是解决当前数据中心网络瓶颈问题的关键技术。
2 智能网卡研究发展现状
传统服务器的网卡通常采用固件写入的方式支持固定类型的网络,这类网络通常是标准的以太网或者Infiniband网络。传统网卡能够支持的网络协议在出厂时已写入网卡固件,一般在出厂后不可以进行更改。在网络路由过程中,传统网卡根据已写入的网络协议栈以固定模式执行数据的复制转发功能,其过程需要CPU中断当前操作进行参与,这严重降低了CPU数据处理性能。
智能网卡SNIC的出现解耦了服务器CPU处理网络数据转发任务的功能,从而将CPU从频繁的网络任务处理中解放出来,有效地提升了网络数据处理效率。Mellanox公司给智能网卡SNIC定义是“能够加载CPU通用功能的网络接口卡”,而Netronome公司从功能角度将智能网卡SNIC定义为“能够实现网络数据平面的各类功能,并能够根据应用需要灵活地调整数据平面,能够无缝兼容当前传统网卡链接生态”[7]。
从当前通用智能网卡SNIC配备的核心处理器来看,常见的智能网卡架构设计可分为两种类型,基于可编程门阵列(Field Programmable Gate Array,FPGA)的智能网卡和基于多核处理器(Multi-core Processors,MP)的智能网卡。FPGA智能网卡由微软亚洲研究院的Catapult提出,是为可重构数据中心网络设计的,能够大幅提高规模性网络的数据吞吐量,其在微软数据中心中得到了部署;MP智能网卡则使用片上多核系统(Multi-core System on Chip,SoC)来实现网卡的可编程性,其多核性可兼容通用处理器和网络处理器,具有低造价和高兼容性的特点。
3 基于多端口智能网卡的数据中心网络设计
在本节中,首先阐述基于服务器多端口智能网卡的数据中心网络MPS-DCN设计动机,然后给出MPS-DCN的设计方案,最后对MPS-DCN的其他性能特点进行分析。
3.1 设计动机
基于服务器多端口智能网卡的数据中心网络MPS-DCN的设计动机来源于以服务器为中心的数据中心网络设计和智能网卡在网络功能卸载方面的优异性能。
在当前以服务器为中心的数据中心网络中,服务器承担数据的路由转发功能,但其数据转发需要CPU中断当前任务进行参与,而采用智能网卡进行数据转发则可以将CPU参与的网络功能卸载到智能网卡上,由智能网卡根据应用需求执行数据路由转发处理任务。采用智能网卡进行数据转发不但能够解耦服务器CPU的网络负荷,而且能够提升网络转发效率降低网络传输延迟。因此,通过将智能网卡和以服务器为中心的数据中心网络相结合进行新型数据中心网络设计具有广阔的设计空间和优化网络性能的现实意义。
3.2 设计方案
下面分别从数据中心网络的架构设计和路由设计两个方面描述基于多端口智能网卡的数据中心网络MPS-DCN的方案。
3.2.1 架构设计
基于服务器多端口智能网卡的数据中心网络MPS-DCN设计中,直接采用多端口智能网卡替换基于多端口服务器的数据中心网络中的传统网卡,即可构成基于服务器多端口智能网卡的数据中心网络拓扑结构。
以超立方体数据中心网络CamCube[4]结构为例,原网络中采用6端口的传统网卡,而在MPS-DCN设计中直接使用多端口智能网络接口卡SNIC将传统网卡NIC形成新型数据中心网络体系结构MPS-Cube网络,其网络结构如图3所示。图中省略了下两层服务器和控制器的逻辑联系;服务器的编号表示其逻辑位置,该网络特点是物理位置和逻辑位置一致。相对于CamCube网络结构,MPS-Cube采用多端口智能网卡能够在逻辑上配置软件定义网络控制器(SDN Controller),使用SDN控制器可以根据当前网络的运行状态进行实时高效的数据调度。
在基于多端口智能网卡的数据中心网络设计中,多端口服务器的CPU不再需要承担网络相关功能,数据的路由转发、网络状态探测和数据封装加速等任务均由多端口智能网卡承担。由于多端口智能网卡具有远程直接存储器存取(Remote Direct Memory Access,RDMA)功能,因此可以直接访问服务器存储区中的数据,而不需要服务器CPU中断当前任务进行干预。
3.2.2 路由设计
由于多端口智能网卡能够兼容标准以太网和Infiniband网络,因此基于多端口智能网卡的数据中心网络可以采用原有标准的TCP/IP协议体系完成数据路由过程。基于服务器多端口智能网卡的数据中心网络MPS-DCN可以直接部署传统的开放式最短路径优先(Open Shortest Path First,OSPF)和等价多路径路由(Equal-Cost Multipath Routing,ECMP)等协议,并可兼容基于IPv6的各类组播和广播等数据传输模式。上述传统网络协议主要基于静态路由过程,难以根据当前网络数据流量倾斜状态实时调整网络传输调度策略。
在MPS-Cube网络结构中,服务器的逻辑位置与其物理位置一致,因此服务器之间可以采用基于位置的路由策略。使用src代表数据源服务器,dst代表目的服务器,则可采用逐位变化的方式得出src到dst的路由路径。例如src=000,dst=222,则src到dst之间的路径可表示为path1=(000,002,022,222),path2=(000,002,202,222),path3=(000,020,220,222),path4=(000,020,022,222),path5=(000,200,220,222),path6=(000,200,202,222)。部署多端口智能网卡SNIC的数据中心网络兼容该静态路由策略,并能够根据网络当前的实时负载进行路由调度,以充分发挥多端口智能网卡的优势,满足用户定制化的路由调度需求。
基于多端口智能网卡的MPS-Cube网络能够支持网络的软件定义属性,从而支持网络数据转发过程中控制平面和数据平面的解耦分离,控制器根据网络状态实时动态优化网络传输调度机制以提高网络吞吐量。MPS-Cube网络可以在服务器和链路负荷较大时,根据全局网络状态和待传输数据量动态规划数据传输路径。以图3的网络结构为例,src=000代表数据源服务器,dst=222代表目的服务器。当前网络中服务器200和链路(000,002)负荷较大时,源服务器则通过path3=(000,020,220,222),path4=(000,020,022,222)进行数据传输。
当网络中链路和服务器负荷均较大时,控制器可以通過对待传输数据依据可用链路容量进行分组多路径传输,以充分利用网络资源,提升网络吞吐量。由于多端口智能网卡具有可编程特性,因此能够支持数据中心网络的可重构性,从而使得基于服务器多端口智能网卡的数据中心网络MPS-DCN能够应对呈指数级增长的数据中心东西向网络流量和因多样化网络应用导致的流量倾斜问题。
3.3 其他特点
基于服务器多端口智能网卡的数据中心网络MPS-DCN设计在实现传统网卡功能基础上,还能够实现以下智能网卡特有的功能:(1)智能化网络协议处理:智能网卡支持远程直接数据存取RDMA协议和各类型的网络数据传输的协议。通过RDMA协议能够实现智能网卡到存储器的数据直接存取,从而降低服务器CPU的中断频率,提高网络输入输出吞吐量。各类型网络传输协议能够为基于服务器多端口智能网卡的数据中心网络提供更低的数据传输延迟,更大的网络带宽适应性。(2)智能化网络功能卸载:智能网卡能够卸载SDN协议,并能够实现网络功能虚拟化(Network Function Virtualization,NFV),从而实现基于软件的细粒度网络资源调度和网络切片功能。通过SDN协议和NFV协议,基于服务器多端口智能网卡的数据中心网络能够支持网络资源池细粒度的弹性分配,因而能够从更大程度上支持数据中心网络功能的按需分配。
4 结 论
通过对数据中心网络的发展和智能网卡的功能分析,结合以服务器为中心的数据中心网络拓扑结构和多端口智能网卡的优点,提出了基于服务器多端口智能网卡的数据中心网络MPS-DCN设计方案。文章讨论了MPS-DCN的网络拓扑结构构造和数据路由转发方案,并分析了其与传统网络协议的兼容性。结论显示,基于服务器多端口智能网卡的数据中心网络MPS-DCN设计方案具有以服务器为中心的数据中心网络和多端口智能网卡的双重优点。MPS-DCN在传统网络架构和协议的基础上,能够充分利用多端口智能网卡的可编程性实现智能化的网络协议处理和网络功能卸载,从而降低服务器的网络负载,能够有效提升网络吞吐量。
上述优点使基于服务器多端口智能网卡的数据中心网络MPS-DCN设计具有优化网络性能的现实意义。然而,由于智能网卡的设计尚未形成统一规范化的标准,因此基于服务器多端口智能网卡的数据中心网络MPS-DCN设计还需要进行标准化的探索和尝试才能推向市场应用。
参考文献:
[1] AL-FARES M,LOUKISSAS A,VAHDAT A. A scalable,commodity data center network architecture [C]//SIGCOMM '08:Proceedings of the ACM SIGCOMM 2008 conference on data communication.New York:Association for Computing Machinery:2008:63-74.
[2] GUO C,WU H,TAN K,et al. DCell:a scalable and fault-tolerant network structure for data centers [C]//SIGCOMM '08:Proceedings of the ACM SIGCOMM 2008 conference on Data communication.New York:Association for Computing Machinery:2008:75–86.
[3] GUO C,LU G,LI D,et al. BCube:a high performance,server-centric network architecture for modular data centers [C]//SIGCOMM '09:Proceedings of the ACM SIGCOMM 2009 conference on Data communication. New York:Association for Computing Machinery:2009:63–74.
[4] ABU-LIBDEH H,COSTA P,ROWSTRON A,et al. Symbiotic routing in future data centers [C]//Proceedings of the ACM SIGCOMM 2010 conference. New York:Association for Computing Machinery:2010:51-62.
[5] HELLER B,SEETHARAMAN S,MAHADEVAN P,et al. ElasticTree:Saving energy in data center networks [C]//NSDI'10:Proceedings of the 7th USENIX conference on Networked systems design and implementation.San Jose:USENIX Association,2010:17.
[6] 张登科,王兴伟,何强,等.可重构数据中心网络研究综述 [J].计算机科学,2021,48(3):246-258.
[7] 马潇潇,杨帆,王展,等.智能网卡综述 [J].计算机研究与发展,2021:1-20.
作者简介:冯佩(1985—),女,汉族,陕西西安人,工程师,硕士,研究方向:计算机网络、并行计算、数据库应用、移动终端软件等。
收稿日期:2021-03-08
基金项目:陕西省教育厅专项科学研究计划(20JK0779)