一个平静周末,我正在看书,微信突然震动了起来。原来是我发小,“暴发户”吴知,高中辍学在电脑城做组装电脑学徒工,多年后成了IT设备代理商老板。
频繁重启、降频
都是GPU服务器DIY惹的祸
到了老吴的公司——智慧公司后,经过开会和之前的现场检测材料,我发现了一些问题:
■背景:
用户计划开展一个AI项目,需要大批量服务器支持以实现机器深度学习,其中用户要求应用3种不同的服务器:
◆ 2路高性能服务器:要求具备高性能CPU,例如:使用Intel至强铂金8180;
◆ 2路GPU服务器(训练):使用在深度学习的训练阶段,要求具备较高的单/双精度浮点运算能力,例如:NVIDIA P100 、V100;
◆ 2路GPU服务器(推理):使用在深度学习的推断阶段,要求具备一定的浮点运算能力外,还要具备一定的整数能力,例如:NVIDIA P4 、 P40。
■智慧公司解决方案:
◆ 2路高性能服务器:某知名品牌的2路机架式服务器;
◆ 训练服务器:(分为2部分机器)
- 使用DIY工作站 +外购GPU P100;
- 使用某知名品牌服务器+外购GPU P100;
◆ 推理服务器:(分为2部分机器)
- 使用DIY工作站 +外购GPU P40;
- 使用某知名品牌服务器 +外购GPU P40;
■故障现象:
◆ 2路高性能服务器未见故障现象;
◆ 训练服务器:
- DIY工作站不定时重启;
- 服务器不定时重启或发现性能下降;
◆ 推理服务器:
- DIY工作站会不定时重启;
- 服务器发现性能下降;
经过上面的总结,我心里总算有数了。于是问了当时在现场的检测工程师两个问题:
◆ 如何发现服务器性能下降的?
◆ 当时是否检了测服务器和工作站的温度?
工程师回答说,用户投诉的其中一个地方就是运行一段时间后,应用明显感觉过慢,随后工程师通过软件监控发现部分设备的CPU和GPU发生降频。当时检测了CPU和GPU的温度,基本上温度都超过了85℃。所以,他们严重怀疑温度导致了上述情况发生。然而他们也发现,有一小部分CPU或GPU温度的并没有那么高,但是也发生了重启。
针对上述情况,我建议工程师通过下面的测试方法,再次现场检测温度的问题:
◆ 尝试将目前GPU服务器的多GPU先后分别拔出来,观察其运行的状态;(原GPU服务器有2~4块GPU不等)
◆ 监测那些温度没有太高,而有故障发生的CPU和GPU设备的出风口温度是多少?同时记录该类设备是什么类型的?
没过多久,结果出来了。首先,当GPU服务器的GPU数量较少后,服务器重启的现象大大减少了,特别是单块GPU运行的时候,重启现象没有了,但CPU和GPU降频的现象还在部分机器中存在。至于那些CPU或GPU温度显示没有那么高(≥85℃)的设备都是DIY的工作站,而且出风口的温度比其它所有服务器的温度都高!
有GPU的服务器
可不等于GPU服务器
找到问题后,我马上跟老吴说。你两兄弟真的是吴知吴畏啊!所有这些现象综合起来看,明显就是设备的散热能力不足,导致了关键元件(CPU和GPU)温度过高,从而致使设备重启或降频。那些DIY工作站的出风口温度比其它设备都高,在负载与其它设备一样的情况下,正常来说设备里面的CPU和GPU的温度不可能比其它设备低。因为是DIY工作站的关系,其元件的温度检测机制或传感器非常可能与品牌服务器不同,所以检测结果并不一定准确。从出风口的温度对比可以判断,DIY工作站中的CPU和GPU的实际温度可能也是过高的!
听过了我的解释,老吴马上询问解决方法。我半开玩笑的说,首先你需要多送几台机房专用的精密空调,最好是将机房变成冷库;之后你将服务器和DIY工作站更改成更好的散热方式,例如:CPU和GPU都更改成液冷的方式。
老吴说:“你别埋汰我了,先不说成本。这个我们根本做不来了啊!”我呵呵几声“你们连GPU服务器都能DIY出来,还有什么不能DIY的啊!?”。
吴知哭丧着脸说“先不说成本,我们即将跟客户签订了更大批量的设备了,这个只是刚开始试行的小批量。”
看着老吴的脸,我还是不由自主地讲出了我的解决方案:
◆ 将目前的服务器和工作站都换给客户或其他客户当做图形工作站使用,而且只能使用单个GPU。另外,建议只使用功耗较低的GPU,因为这样可以使设备的散热能力保障CPU和GPU温度不会过高;
◆ 换成专业的GPU服务器;
吴知听后,马上问我:“什么叫专业的GPU服务器?不就是服务器插上GPU吗?!”。我听后哈哈大笑,说:“武松和武大也都是出自同一个平台的哦,你觉得是否一样的呢?再说了,你和你兄弟吴畏也是来自同一平台的,你觉得呢?!”。吴知听后也感觉哭笑不得!
其实,专业的GPU服务器,特别是多GPU服务器其中的散热机制是完全不同的。举个例子:Dell EMC普通的服务器R740,也可以变身为GPU服务器。因为R740可以支持3张双宽度GPU或6张单宽GPU。但是你绝对不能认为带GPU的R740和不带GPU的R740只是GPU的区别,其它都是一样的!这个绝对不是!下面就是两者之间的区别!
CPU散热器
散热风扇
风向导流覆盖配件
CPU散热器
GPU电源线和GPU卡固定塑胶件
电源
Mylar泡沫
戴尔易安信GPU服务器多态共生
散热是关键
吴知看到了后说:“哦,我明白了。原来GPU服务器的整套散热套件的设计和零件都不同的,而且Dell EMC的设计还非常人性化和考虑周到,连防止GPU松动的固定件和保护的泡沫都考虑到了!”
我说这个还不止,因为R740这类型的服务器在设计的当初就是一款可以安装GPU的服务器,所以在设计的时候,各个元件的分布都是经过精心考虑而布局的,而且通过散热风流实验验证的。所以你第一眼看到各个元件,甚至是线缆,它们的分布和摆放都是均匀对称整齐的。整个设计都是经过Dell EMC Fresh Air 2.0(新风技术2.0)标准认证。同时当你使用上了GPU服务器,你还必须考虑用户的环境!目前R740之类的2U空间GPU服务器还好一点,在一般机房的环境可以运行。但是,当你使用业界密度最高的Dell EMC C4140的GPU服务器时候,因为在1U空间内可以装载4个双宽GPU,并且支持NVLINK的GPU通讯技术,因此必须考虑适合的机房温度。Dell EMC会根据C4140的不同配置给出建议的工作环境温度。最后,还必须考虑电源功耗,因为上了GPU后,功耗大大上升。这样的话,服务器要选择高功率的电源,整机柜的功耗非常高,需要考虑数据中心供电的问题。
所以,总结一下,GPU服务器并不是随便可以DIY的,或许你真的可以安装软件和运行,但是谁也不能保证一段时间后会出现什么问题,例如:重启和降频。另外,服务器内部的GPU和GPU之间,CPU和GPU之间的IO如何要求,这个也是需要上层的软件算法类型定义的,从而选择具备PCI switch,还是NVLINK,还是GPU直连CPU的连接技术,都需要用户和产品工程师探讨确认,并不是一般人认为的是使用标准普通X86服务器,然后自己插上GPU就是真正的GPU服务器了!
最后,我跟吴知重申了那句网络名言:武大和武松也是出自同一平台的,但是并不代表就是一样的东西。