1.中国舰船研究院 北京 100192;2. 中国电子科技集团公司第三十二研究所 上海 201800
摘要:服务器是云数据中心的基本组成单元,其架构的设计直接关系到云数据中心各类应用服务的性能。本文首先从CPU、内存和I/O接口等设备的使用方式上,分析云数据中心服务器架构的类型;其次,从服务器的体制和结构等方面,提出服务器架构的设计约束;最终,在服务应用、芯片技术、互联技术和结构散热等方面,展望服务器架构未来的发展方向,为数据中心服务器的设计提供了有益的参考。
关键词:云数据中心;服务器架构;对称多处理;非统一内存访问;大规模并行计算
1. 引言
2017年,全球云计算市场增长趋于稳定,IaaS、PaaS和SaaS为代表的全球公有云市场规模达到1110亿美元,预计到2021年市场规模将达到2461亿美元。其中,IaaS市场增长快速,计算类服务为IaaS最主要的类型。在我国,公有云市场保持50%以上增长,Iaas层成为公有云中增速最快的服务类型;私有云中,2017年,硬件占据私有云71.1%的份额,超过半数的企业采用硬件、软件和服务整体采购的方式部署私有云[1]。为了满足云计算的需求,对数据中心的设备提出了新的要求[2]:
易扩展。支持大规模云客户访问和使用,与传统的数据中心比,云计算数据中心需要有较大规模的服务器集群,能够容易扩展。
大密度。云计算是一种集中化的部署方式,数据量和计算量的爆发式增长,决定了单机柜中计算密度和能耗密度的大大增加。
高可靠。云服务商向大量的客户提供云服务,云数据中心承载的服务量大,涉及的用户业务多样化,需要从设备到系统各级的高可靠要求。
智运维。云数据中心规模庞大,可靠性要求高,需要推动监控技术的发展和完善,实现自动化的监控和管理。
随着云数据中心的发展,云计算和大数据已经成为数据中心业务的主流,越来越多的应用向云数据中心迁移。而服务器作为云数据中心最基本的设备,其性能直接影响数据中心和服务的性能。因此,云数据中心服务器如何设计其架构,成为服务器发展的重要课题。
2. 服务器架构的分类
服务器的关键组成器件有处理器、内存和I/O接口,其使用方法的不同,衍生出多种架构。按照处理器之间的关系,可以分为非对称多处理架构(Asymmetrical Multi-Processing,AMP)和对称多处理架构(Symmetrical Multi-Processing,SMP);按照内存访问的方式,可以分为统一内存访问架构(Uniform Memory Architecture,UMA)和非统一内存访问架构(Non-Uniform Memory Architecture,NUMA);按照I/O之间的关系,又有大规模并行处理架构(Massively Parallel Processing,MPP)。
2.1 AMP与SMP架构
AMP和SMP架构是面对多处理单元时,处理单元(processing unit)之间协作模式的区别。在多核处理器中,处理单元指单一处理核(core)[3];在多处理器的服务器中,处理单元指单中央处理器(Central Processing Unit,CPU)[4]。而在本文的多CPU服务器中,处理单元均指CPU。
AMP架构中,处理器之间是不对称关系,由操作系统(Operation System,OS)或应用软件决定各CPU之间的关系[4]。在多OS的AMP系统中,不同的CPU运行不同的OS系统,其运行关系由应用软件决定;在单OS的AMP系列中,不同的CPU运行同一个的OS代码,其运行关系由OS决定。图1(a)是一种多OS的AMP模型架构,在该模型中,应用将自身分为不同的部分(Part A,Part B,…),指定不同的CPU和OS来运行不同的部分。在AMP架构中,内存与I/O的分配可以共享,也可以根据实际需求进行分配。AMP架构适合业务类型少,计算量大,用户对应用和服务器架构较为精通的场景,无法进行大规模扩展。
SMP架构中,处理器之间是对等的关系。多个CPU之间通过总线通信,一般情况下共享内存和I/O接口[4]。在该架构中,使用一个OS,在OS层均衡使用各CPU,可以屏蔽应用对CPU的调度,实现用户与底层的隔离。图1(b)是典型的SMP架构原理图,其中应用对OS进行访问,OS直接调度CPU进行种类处理。在SMP架构中,通过总线对CPU进行扩展,不受应用的影响。
(b) SMP架构
图1AMP和SMP架构原理图
2.2 UMA与NUMA架构
UMA和NUMA架构是面向内存访问的特点进行设计的,均遵循SMP架构。在UMA架构中,内存和I/O由各个CPU通过UMA总线完全共享,通常使用的UMA总线是内存控制器(Memory Controller,MC)[5][6]。图2(a)是典型的UMA架构图,可以看出CPU、内存和I/O接口均挂载在MC上,系统的扩充也是通过CPU、内存和I/O接口进行。
NUMA架构中,CPU之间通过高速总线互联,内存不直接挂在总线上,而是通过MC挂载在CPU上,不同CPU的内存可以共享,如图2(b)所示。CPU在处理时,优先选用自身挂载的内存;如果应用需求,还可以通过远程读写其他CPU挂载的内存,但其速度不如自身挂载的内存速度快。I/O接口挂载在高速总线上,由整个系统共享。
相对而言,UMA架构主要是共享内存,其扩展能力也受到共享资源的限制。每个CPU必须通过总线(如MC)访问同一个内存资源;随着CPU的增加,内存访问冲突将呈指数级增加,最终等待时间过长,造成CPU资源的浪费。而NUMA架构能够有效的解决不同CPU之间的访问约束,同时在高速总线的互联下,还能够访问到其他CPU的内存,但是访问远程内存的速度远远低于访问本地内存,在CPU数量增加时,其效率不呈线性增加。
在商用服务器领域,目前主流的CPU均为NUMA架构。Intel在2018年下半年提出快速互联接口总线(QuickPath Interconnect,QPI)[7],在2017年9月升级为超级互联接口总线(UltraPath Interconnect,UPI)[8],是典型的NUMA互联总线;AMD通过无限通道总线(Infinity Fabric,IF)实现NUMA互联[9]。龙芯在其3B1500及以后的产品中,通过HT传输总线(Hyper Transport,HT)实现NUMA互联[10]。
UMA架构在单节点内进行CPU的扩展,所有CPU共用一套OS,通过MC将各节点与内存、I/O连接在一起,访问速度快,能够实现节点性能的线性扩展。但受限于MC的约束,单节点CPU数量在10个以内。应用在计算时间小于通信时间时,UMA架构具有优势;在单节点需要大量计算能力时,UMA架构较弱。因此,UMA架构适合单节点的大型访问或者数据查询业务。
与UMA类似,NUMA架构也是单节点内扩展,所有CPU共用一套OS。每个CPU可以访问本地和其他CPU的内存;但访问远端内存时,需要的等待时间远远大于本地内存;CPU数量越多,等待时间越久,因而NUMA架构性能并不随节点数量线性增长。目前,商用服务器,常用的是双路、四路和八路的扩展,非常适合云计算中虚拟机的应用。
MPP架构在小规模交互时效率比较低,但当事务达到一定规模后,尤其是应用程序的计算时间远远大于通信时间时,其处理效率比其他几种都高。MPP的节点互联是通过节点外部的I/O接口,相对独立,在增加节点时基本上实现线性扩展,适合决策支持和数据挖掘等相关应用服务。
3. 服务器架构的设计
在云数据中心服务器架构设计时,需要考虑多方面的因素,形成多类型的架构。通常需要考虑两个方面,一是服务器的技术体制,二是设计的约束条件。
3.1 服务器的体制
在体制上,数据中心常见的服务器分为机架服务器和刀片服务器。机架服务器是可以直接安装到标准19英寸机柜中的服务器,高度采用U制单位,其优点是占用空间小,便于统一管理。刀片服务器是一组服务器的集群,主体结构为一大型主体箱,每一块刀片是一块独立系统母板,类似于一个独立的服务器,其特点为高密度、低成本。两类服务器体制的原理如图4所示。
(c) 双路刀片服务器
图4 服务器内部连接原理图
图4(a)是4路机架式服务器,主要是由4个CPU组成NUMA架构连接,各CPU之间使用全连通拓扑;对外的I/O接口由CPU4承担。在该架构中,要求每个CPU至少具备三个NUMA互联的接口。该服务器单节点计算能力较强,但对于板卡的空间要求比较大,且不易于单服务器内横向扩展。
图4(b)是单路刀片服务器,由若干个单CPU刀片节点和一个交换节点构成,具备MPP架构。每个刀片节点都有一个对外接口,整个机箱通过网络连接,形成一个小型的MPP集群。在该服务器中,板卡空间较小,易于实现节点的横向扩展,但单点计算能力也较小。
图4(c)是双路刀片服务器,由若干个双CPU刀片节点和一个交换节点构成,具备MPP+NUMA架构。每个刀片节点内部CPU之间通过NUMA互联;每个节点有一个对外接口,整个机箱形成一个MPP集群。在该服务器中,既能保证单节点的计算能力,也易于实现节点的横向扩展。
3.2 散热接口约束
服务器设计的主要目的是优化单位空间内的计算密度,但带来了能耗密度和接口密度的约束。计算密度主要指服务器的CPU核数、主频和内存;能耗密度主要考虑单元空间内元器件,尤其是CPU的能耗;接口密度主要考虑单位空间内面板中的接口数量。通常情况下,计算密度和能耗密度、接口密度均属于矛盾关系。
商用数据中心一般采用传导散热,风扇将CPU产生的热量带到环境中,再利用机房的空调将热量带到室外。这就给大规模刀片服务器创造了使用条件,增大了单位空间内的计算密度。在加固领域,服务器机箱是密闭的,利用贴附在元器件上的导热板将热量带到机箱上,再通过空间对流传导到环境中。此时,刀片服务器中的大功耗CPU产生的热量将无法有效散出,不能满足使用需求;因而,大功耗CPU的情况下,机架服务器是加固领域首选。
在商用数据中心,通常使用的网络和光纤接口是LC或FC接口,占用的面积约10mm?8mm,机架服务器的高度约在1~2U之间;在加固领域,使用的网络和光纤接口为航空插头,以适应恶劣的使用环境,占用面积约22mm?22mm,机架服务器的高度约3U。因此,接口数量也能够影响到服务器架构的选择。NUMA架构的接口密度,多颗CPU共用一套I/O接口,比MPP架构至少节省一半。
4. 服务器架构的展望
4.1 服务应用的影响
从业务的角度讲,云数据中心发展需要经历三个阶段:
云平台阶段:业务整体移向云端,集中收集数据。利用虚拟机,可以实现平滑迁移; 利用云存储,实现大数据的存储。应用是以虚拟化和数据存储为主,大规模的计算需求不高,在提高计算密度的需求下,使用NUMA架构来满足业务需求。“客户端+云端”是主要的应用模式。
大数据处理阶段:对已收集的数据进行挖掘和分析。利用分布式计算架构进行数据分析处理,处理的数据较多,计算量较大,需要多个同构或异构处理节点协同操作,业务计算时间远远大于通信时间。在此,使用MPP架构能够有效的满足业务需求。“客户端+云端”是主要的应用模式。
人工智能阶段:利用大数据处理的结果,支持智能决策,反馈给执行节点。此时,系统的架构是“用户端+云端+反馈端”,用户端提出需求,云端进行大数据计算,反馈端执行计算的结果。反馈端可以和用户端是一个实体,也可以是不同的实体。在此阶段,数据中心依然是MPP架构,但是需要更快捷的实时总线,支持反馈端的操作。
4.2 芯片技术的影响
芯片技术的发展,影响未来服务器的设计:
更高的性能/功耗比。提升CPU的计算能力,降低功耗,是未来刀片服务器发展的一大瓶颈。
更快的处理器互联架构。NUMA依赖的总线技术,目前已经能够达到10Gbps,优化其内存访问技术,减少内存访问时间,能够有效的提高NUMA的效率。
4.3 互联技术的影响
CPU与外部的互联技术,影响架构的布局:
更快的外部互联架构。MPP架构中,需要不同的处理节点之间通信。目前已经能实现接入节点在10Gpbs,未来向40Gbps甚至更高的方向发展。
优化计算时间/通信时间比。在布局时,尽量将存储本地化,增加快速存储(如闪存)的空间,能够有效的降低通信时间。
4.4 结构散热的影响
散热和结构技术的发展,也对服务器设计产生影响:
多种散热技术使用。使用工质相变材质的均温板技术,在短时间内,有效的将热量传导至机箱;而机箱中液冷的使用,也能够有效的带走机箱内的热量。有效的散热技术,能够使得在服务器架构设计时有更多的选择。
接插器件的小型化。连接器的走向即接口越来越小,能耗损失越来越少,使用新技术、新材料、新工艺形成的接插件,能够满足更多服务器设计的要求。
5. 结论
在云数据中心服务器中,选择何种架构,取决于服务器的体制和散热、接口等约束条件。本文首先分析了服务器架构的分类,然后分析体制、散热和接口对服务器设计的影响,最终在服务应用、芯片技术、互联技术和结构散热等方面对服务器未来的影响进行讨论,可以作为未来服务器的设计指导。
参考文献
[1] 中国信息通信研究院. 云计算发展白皮书(2018年).2018年8月.
[2] 中国信息通信研究院. 云计算白皮书(2016年). 2016年9月.
[3] L. J. Karam, I. Alkamal, A. Gatherer, et. al. Trends in Multi-Core DSP Platforms. IEEE Signal Processing Magazine, Nov. 2009, 26(6): 38-49.
[4] M. Tim Jones. Linux and Symmetric Multiprocessing https://www.ibm.com/developerworks/library/l-linux-smp/, 2007, Mar.
[5] Z. Majo, T. R. Gross. Memory System Performance in a NUMA Multicore Multiprocessor. Haifa Experimental Systems Conference, 2011.
[6] David Ott. Optimizing Applications for NUMA. https://software.intel.com/en-us/articles/optimizing-applications-for-numa
[7] Intel White Paper. An Introduction to the Intel QuickPath Interconnect. https://www.intel.com/content/www/us/en/io/quickpath-technology/quick-path-interconnect-introduction-paper.html, Jan. 2009
[8] Banu Nagasundaram. Intel Xeon Scalable Processor AI Performance Guide. Dec. 2017.
[9] AMD White Paper. AMD Optimizes EPYC Memory with NUMA. https://developer.amd.com/resources/epyc-resources/epyc-white-papers/, Mar. 2018
[10]龙芯芯片产品技术白皮书 V2.9. http://www.loongson.cn/product/dc/, 2018年1月.
[11]金怡濂, 黄永勤, 陈左宁, 桂亚东, 漆锋滨. 高性能计算机的关键技术和发展趋势. 中国工程科学, 2001年6月,第3卷第6期,pp. 1-8.
[12]沈绪榜. MPP系统芯片体系结构技术的发展. 中国科学E辑:信息科学,2008年第38卷,第6期:933-940
论文作者:张小凡1,马辰1,肖迪1,段晓峰2
论文发表刊物:《防护工程》2019年11期
论文发表时间:2019/8/30
标签:架构论文; 服务器论文; 节点论文; 内存论文; 数据中心论文; 接口论文; 互联论文; 《防护工程》2019年11期论文;