模块化的基本思路
模块化定制数据中心将成为未来数据中心发展的趋势之一。随着模块化数据中心的需求扩大,“模块化定制”服务器、存储和异构算力的需求日益强烈,模块化服务器将成为未来的发展趋势。
传统机架式服务器内,设计者通常将存储、PCIe、电源、散热、CPU等部件在机箱内从前到后布局,目前通用服务器的机箱深度已经超过800mm。通过调整各种功能组件在机箱内的布局,可以实现不同功能侧重的服务器。
传统服务器机箱内的布局
比如前维护服务器将PCIe插槽部署在前部,适当减少硬盘数量,实现主要的维护组件都在服务器正面,提高维护的便捷性。或者减少主板上的内存插槽数量,减少主板宽度,将电源模块和主板在机箱内并排放置,实现边缘服务器的短深度,如OTII服务器。
无论是边缘服务器、前维护服务器、冷板液冷服务器,还是GPU服务器、4U存储服务器等,基本都是将资源在一个特定的空间内(2U机箱或4U机箱),在同一个平面上展开布局。
同时为了实现一种设计满足多种场景需求的灵活性,在设计的过程中加入了模块的理念,比如在前维护服务器上我们可以看到,PCIe模组和存储模组可以实现互换,或者在传统服务器上,在后窗的IO1、IO2、IO3区域,基本上所有的服务器都实现了模组化的设计,比如比亚迪电子在IO3区域可以替换实现4个半高PCIe、2个全高PCIe、4个2.5英寸硬盘等。
模块本质上是将某种资源设计在一个结构件内,再将结构件安装到笼子里,笼子被设计在服务器机箱内。这种结构件需要考虑到机箱尺寸的限制,需要考虑到器件的尺寸和规格。同时考虑装配、运维等场景的适用性。虽然很多服务器品牌推出了模块化的设计,但是在跨品牌、跨代际的模块的通用性仍有巨大的挑战。
业界在模块化方向上的诸多尝试
2008年,英特尔推出了首个符合SSI(Server System Infrastructure)模块化服务器标准的服务器系统。这是一种构建于英特尔Multi-Flex技术之上的集成式系统,将计算子系统、存储子系统、交换子系统、供电子系统、管理子系统和散热子系统分别采取模块化的独立设计,全部集中到一个机箱中,形成一个有机的整体。
基于英特尔Multi-Flex技术的模块化服务器 正面
基于英特尔Multi-Flex技术的模块化服务器 背面
英特尔模块化服务器支持6个计算模块和14个2.5英寸SAS硬盘,以及两个以太网交换机模块、集成的SAN(存储区域网络)和一个管理模块。其中服务器计算模块支持双路四核及双核英特尔至强处理器。所有子系统通过中板和交换机的连接及机箱的固定形成一个有机整体。
腾讯在OCP上发表了《腾讯云T-Flex 2.0服务器框架》,提到“服务器的研发周期很长,普通机架服务器的系统开发往往需要1年以上的时间,才可能达到量产交付的程度。后期不可避免会导入新兴部件,乃至主要功能模块的迭代, 例如:主板、高密度微服务器模组、全高全长板卡、高密度SSD模组等。基于空间和能耗的变化,都可能会导致服务器主体设计的变更和重构, 影响服务器的引入时效。如何对空间进行有效规划,支持未来模块化迭代和灵活组合,正是T-Flex 2.0服务器框架要去着眼解决的。”“基于T-Flex 2.0服务器框架,功能模块可以实现高复用和灵活组合。小颗粒的模块更新和迭代,也有利于系统的整合和及时交付。T-Flex 2.0不止于现有89cm系统深度的形态,也有短机箱形态,通过复用模组和设计,来满足未来边缘计算场景的需求。”
NVIDIA发布的MGX服务器充分采用了模块化设计,NVIDIA MGX服务器规范地为系统制造商提供了一个模块化参考架构,以快速、经济高效地制造100多种服务器机型。MGX设计了1U、2U、长、短等共8种“Bay”来装入不同的组件, 最后再将这些Bay安装进1U或2U机箱内的笼子里面(图3)。
NVIDIA MGX服务器2U机箱
我们可以发现,这些模块通常都是以功能为依据,将相同功能的一组器件结合在一起,作为一个模块,然后将若干相同功能或不同功能模块通过机箱耦合在一起,最终形成满足用户需求的一个模块化服务器,可以是一个节点或者多个节点。
综合过往模块化的设计,我们提出如下问题:
模块的尺寸,MGX采用了129.5mm或161.45mm为宽度,132mm或318mm为长度,1U或2U为高度来定义模块。模块究竟有多大?需要容纳哪几种器件?容纳多少器件?
模块间的互联问题,10年前的服务器通过中板和交换机的连接方式,发展到现在,采用高速线缆来实现机箱内器件连接。
用什么容器来耦合模块,从Intel 提出的模块化服务器用机框(类似于刀片服务器)来耦合各种较大颗粒度的模块,NVIDIA用2U和1U机箱来耦合小颗粒度的模块。这些模块化服务器基本都可以抽象为下图的逻辑结构。
典型的模块化逻辑结构
面向未来的模块化服务器需求
基于对数据中心应用场景和服务器产品的理解,以及对芯片技术、软件技术发展趋势的预测,我们提出了对模块化服务器一些基本需求:
- 减少模块机械尺寸种类,同时满足各种器件的灵活组合。通过定义一种较大颗粒度且满足现有数据中心场景的尺寸,通过较少的种类来实现较大范围的通用性;如果既可以安装CPU内存、又可以安装2.5英寸、3.5英寸、E3.S、E3.L盘体,还可以安装单宽、双宽、甚至4宽(两张双宽卡互联)的全长PCIe卡,同时还要支持半高卡和全高卡,还要支持全高、全长卡等。
- 模块可以同时满足风冷、冷板、浸没式液冷等散热方案。目前模块化通常考虑了风冷的设计,包括散热片的风道方向等,但是,当模块内器件需要支持冷板或者支持浸没式液冷的时候,需要面临更多的挑战。
- 模块可以采用更简单、更灵活的耦合方式。当模块放到一个机箱内,机箱的尺寸就是服务器资源扩展的最大限度,耦合方式和模块的尺寸及模块的颗粒度密切相关;
- 模块的互联。在信号速率不高的时候,在刀片服务器的场景下,经常采用中板来实现信号互联,包括PCIe、SAS、以太网等协议,以及信号和供电等。而在PCIe Gen5的时代,包括未来Gen6、Gen7,继续采用中板互联可能会带来较高的成本或者较差的信号质量。在1米距离内采用铜缆连接也许是一个更合适的方案。未来在硅光成熟后,也许可以采用硅光互联。
5.模块的供电。模块是否可以支持独立供电?是否可以从其它模块取电?是否可以支持Power Bus供电?
6.更小的风阻或流阻。当模块在散热风路或者液体流道依次排列,必然会导致风阻或流阻增加。减小风阻也意味着减少散热风扇的功率,同时增大通风截面积加上减少风阻可以进一步降低散热风扇的功耗。
比亚迪电子的模块化服务器定义
1.模块的尺寸
比亚迪电子目前设计了三种模块尺寸,按照435.2mm(19英寸)作为模块宽度,320mm作为模块深度,三种模块的区别是设备高度,包括42mm(1U)、86.45mm(2U)、130.9mm(3U),分别简称1U模块、2U模块、3U模块。未来不排除会有4U模块。
1U模块
2U模块
3U模块
模块深度目前采用320mm的方案,可以满足各种器件尺寸、供电接口、线缆管理等需求,同步评估330~340mm的需求。
2. 模块的种类
按照功能需求,比亚迪电子设计了4种类型的模块:
CPU模块:可以是1U模块或者2U模块。目前设计的CPU模块包括2个CPU、32条DIMM插槽、MCIO接口、独立BMC卡、电源接口。无论是Intel CPU还是AMD CPU,当CPU升级时候,仅需要更换主板即可。
CPU模块
存储模块:通常设计成2U的高度,可以支持24个2.5英寸硬盘,或者12个3.5英寸硬盘,未来也会设计支持E3.S或者E3.L SSD。
2.5英寸存储模块
3.5英寸存储模块
PCIe模块:目前有3种设计,1U支持6块单宽PCIe卡、2U支持6块双宽PCIe卡、3U支持10块双宽PCIe卡。
1U PCIe模块
2U PCIe模块
3U PCIe模块
混合模块:可以将存储器件和PCIe资源都安装在一个模块内,可以是1U、2U、3U模块。混合模块和CPU模块即可组合成一个完整的服务器。也可以将单CPU模块、PCIe资源、存储资源布置在一个模块内,实现基础型配置单节点服务器。
1U混合模块
2U混合模块
3U混合模块
- 模块的互联方式
现在的服务器内器件互联方式,比如主板和背板之间采用SAS线缆或PCIe线缆互联;GPU服务器的主板和GPU基板之间也是采用线缆互联;在支持PCIe Gen5平台的服务器上,也是采用线缆连接主板和Riser卡。
模块化服务器也采用相同的连接方式,用高速线缆实现模块之间的互联,示意如下:
模块间的高速互联线缆
- 模块的耦合方式
下图中的左图是大部分模块化服务器的耦合方式,小颗粒度的模块必然需要大尺度的结构件耦合,一层套一层的耦合方式也增加了模块化服务器的复杂度,减少了标准化、通用化的可能性。
右图是比亚迪电子模块化设计的耦合思路,模块可以直接安装在通用标准机架上,或者安装在符合模块尺寸的水箱内。大颗粒度的模块化设计为应用场景带来巨大的便捷性。
异于传统的耦合方式
- 模块的上电方式
因为每个模块都有独立的供电,所以当主机(CPU模块)接受到开机指令后,CPU模块并不将DC输送给其他模块,而是通过高速线缆发送上电信号指令给其他模块,并可以设置每个模块的加电顺序。如果模块连接的是CRPS电源,则上电信号通过模块传递到CRPS电源的PMBus让电源开机;如果模块连接的是12V或48V Power Bus,来自CPU模块的上电信号通过eFuse控制模块的上电。
模块化服务器应用场景
模块化服务器的设计思路,可以为未来的数据中心建设、服务器设计和生产交付、应用管理、生命周期管理、运维等相关场景或环节带来极大的创新性和便捷性。同时也可以兼容现有的风冷场景,满足浸没式液冷的需要,支持现有的数据中心运维,支持现有的数据中心结构(风冷、冷/热风道封闭等)。
两段式风冷服务器
风冷服务器机架部署场景,功能模块部署在机柜正面,我们称之为前端;与之相对应的是后端,后端提供供电、风扇、冷板等功能部署。
按照供电和散热的方式大致可以分为以下几种场景部署:
第一种是每个模块具备独立的电源和风扇,这种场景尤其适用于每个功能模块有较大的功耗需求。每个模块发热量高,由独立的风扇根据温度来控制转速,提供单模块内最优的散热方案。
独立电源、风扇模块
第二种是每个模块采用供电铜排(busbar)供电,由风扇墙提供模块的统一散热。风扇墙带来的风压较小,通风量也较小。适用于整体功耗较小的方案。
风扇墙统一散热
第三种是多模块共享一套供电系统,模块间采用供电铜排供电,每个模块具有独立的风扇模块,这一组功能模块可以视为一个独立的服务器,具备计算、存储、IO、供电、散热全部功能。
共享电源模块,独立风扇模块
两段式风冷服务器具备如下优点:
1、维护方便。功能模块全部在机柜正面,PCIe卡、网卡、硬盘等器件都在服务器正面,方便维护;
2、风阻小。每个功能模块的长度在300多毫米,且只有一个器件,所以风阻较低;
3、通风面积大。传统机架服务器占用2U高度,且有效通风截面积是硬盘背板的有效通风面积,而配置相同资源的模块化服务器,需要3~5U的高度,整体有效通风面积是2U机架服务器的2~4倍,这样可以采用更低的风速获得相同的通风量;
4、资源按需配置。可通过配置模块的数量来实现资源需求,比如一台服务器需要12块3.5英寸硬盘和24块2.5英寸硬盘,同时还需要6块双宽PCIe,那么可以配置1个1U高度CPU模块、1个2U 3.5英寸存储模块、1个2U 2.5英寸存储模块、1个2U 6双宽PCIe模块来实现上述需求,整体高度7U。
5、单PCB供电电流可控,每个模块独立供电,区别于传统服务器电流供电到主板,再由主板DC输出分配到各个部件,模块化服务器每个模块独立取电。
4U机架式服务器
比亚迪电子设计一款兼容19英寸模块化服务器的4U服务器,该服务器充分采用模块化设计理念,在4U、850mm的机箱空间内,提供5U模块安装空间(前2U,后3U)。前2U空间可以安装1U模块和2U模块,后3U空间可以安装一个3U,或者1个2U一个1U,或者3个1U模块。模块的安装可以在出厂前也可以在出厂后,用户可以根据自己的业务需要,变更模块的配置,或者改变服务器用途。目前常见的配置是4U 10GPU的GPU服务器或者4U 36盘的存储服务器。由于采用了模块化的设计理念,GPU服务器和存储服务器可以实现共机箱、共主板。同时在空间上最大可以支持16张双宽全长卡,16张卡也可以组成8组双卡互联的结构(类似于NVLink Bridge)。
4U服务器中不同驱动器、PCIe笼的组合
浸没式液冷模块化服务器
将模块安装进一个435mm高度、1200mm长度、497mm宽度的透明塑料水箱内,可以实现浸没式液冷。功能模块可以占用24U,供电模块2U,按照平均每U 1KW的功率密度估算,整水箱可以实现24KW的功耗,具体服务器或GPU配置可以按照需求调配。水箱内最大可以支持24台双路服务器,或者40张双宽GPU卡;
水箱和模块可在工厂内完成预装,水箱作为包材和容器整体交付到客户现场,在上架完成后接通电源、管路、网络即可开机工作。交付简单,水箱成本低。
浸没式液冷模块化服务器
该浸没式方案支持液体主动性流动,液体流动动力来自于管道压力,目前比亚迪电子已经完成散热仿真和总体设计,部分仿真截图如下:
液体流速
CPU温度
多种模块液体流速
模型结构及液体压强
边缘浸没式模块化服务器
采用同样的模块,设计一个密封的金属容器,将模块安装在金属容器内,填满液体,模块和液体交换热量,液体和外壳交换热量,通过不同的场景需设计不同方式将液体热量带走。容器可以按照不同的需求设计不同的尺寸。
10U模块500mm宽度机箱
5U模块314mm宽度机箱
目前设计的场景包括被动散热方案,散热水管外壳换热方案和内置换热模块方案。因为比亚迪电子边缘浸没式方案采用全模块化设计和全封闭环境及多种散热方案,所以该方案主要用于户外、非数据中心环境、装备(船载、车载)等场景。
被动散热或外置温控风扇散热
冷水盘管散热方案
内置热交换器方案
结语
在异构计算渐成主流的大背景下,传统服务器围绕CPU、存储等传统性能子系统的解耦、耦合思路受到了挑战。比亚迪电子通过调整功能模块的颗粒度,对模块化服务器进行了重构。尤其是浸没式液冷模块服务器的思路与业界近年来惯于强调的传统机架服务器低改造即可整体应用于浸没式液冷的思路迥然不同,令人印象深刻。
未来的服务器发展确实面临着组织架构的重大变革,如高性能密度、高功率密度,以及资源池化等,传统形态、传统的基础设施恐怕难以沿用。不断探索创新的模块化思路,对迎接未来挑战有着积极的意义。