机房风扇轰到耳鸣,为什么高效能计算平台还是“吃不饱”?
9月23号,南京,一个机房。戴两层降噪耳机,风扇声还是往脑仁里钻。运维指着监控说,电费又上去了。我盯着屏幕上的GPU利用率曲线,像心电图,一会儿冲到八十,一会儿掉到十几。业务那边在群里催:队列排到明天了。奇怪吧?高效能计算平台的峰值算力写得挺漂亮,机器也堆得满满当当,可就是用不起来。
这事儿我见得太多。很多人把高效能计算平台当成“大号服务器集群”,买卡、上机柜、装调度器,完事。真跑起来才发现,卡在等数据,节点在等网络,作业在等内存。算力像灶台上的火,火挺旺,菜没切好,锅也找不到。
先别盯着峰值,看看数据在路上堵了多久
我上个月帮一个做碰撞仿真的团队看平台。十六个节点,每节点双路CPU加四张卡。他们抱怨卡慢,想再买卡。我翻了作业日志,MPI通信占了三成多,存储读带宽忽高忽低,并行文件系统的条带参数还是默认值。说白了,计算单元不是饿死的,是等死的。
高效能计算平台是什么?不是一堆CPU和GPU的合影。它至少得让四件事咬合:算、存、网、调。算力节点负责把方程解出来;并行存储负责把几个TB的输入按时喂进去;高速网络负责让节点之间别像早高峰一样堵着;调度器负责把合适的作业放到合适的机器上。少一环,峰值就是海报上的数字。
拿厨房打比方。GPU是灶,数据是菜,网络是传菜口,存储是冰箱,调度器是后厨排班。你灶再多,切菜的人不够,传菜口卡住,冰箱门老打不开,出餐照样慢。而且后厨还有个隐形问题:有的菜要炖三小时,有的菜三十秒出锅,你让它们挤一个灶,谁都不舒服。
所以看平台,我一般先问三个数:作业平均等待时间、存储读带宽利用率、节点间通信占比。峰值算力?先放一边。它像汽车仪表盘上的最高时速,真上路得看红绿灯、看路况、看油箱。
数据中心GPU集群液冷机柜巡检场景图
调度器不是排队机,它得懂“人际关系”
调度器不是排队机,它得懂“人际关系”
很多人以为调度器就是个排队叫号系统。作业交进去,先来后到。真这么干,高效能计算平台会被小作业拖死。一个跑三分钟的后处理任务,前面排着跑三天的训练任务,后厨就僵住了。
实际调度要处理的东西挺琐碎:配额、优先级、回填、拓扑感知、NUMA亲和、GPU绑定。说人话就是——别让通信多的作业跨交换机乱跑,别让一个进程跑到另一个CPU的远程内存上,别把需要八张卡的作业塞进只有四张卡的节点。这些细节不性感,但它们决定有效算力。
我见过一个反常识的案例。某团队把作业从CPU集群迁到GPU集群,单机跑得飞快,多机一跑就崩。查了半天,不是代码错,是拓扑没管。作业被调度到跨机柜的节点上,通信延迟一上来,GPU就在那儿干等。后来加了拓扑约束,利用率从三成多爬到六成。卡没换,电没多花,就是排队方式变了。
不过话说回来,调度器也不是神仙。单线程代码写得稀烂,你给它配一百个核,它还是只用一个核。内存带宽吃满的作业,换再贵的卡也白搭。这时候该做的是改算法、做向量化、拆任务,不是继续往平台里塞硬件。对吧?
液冷、电费和那根看不见的墙
机房待久了,会对“热”特别敏感。风冷机柜塞进高功率节点,风扇转得像要起飞,PUE还是不好看。液冷这几年火,不是赶时髦,是功耗墙逼的。芯片功耗往上走,风冷那点风量快兜不住了。冷板式液冷把热量直接带走,机房噪音能降一截,电费也好看些。
但液冷不是插上水管就完事。漏液风险、快接头寿命、冷却液维护、机柜承重、运维培训,全是坑。我见过一个机房改造,液冷回路装好了,运维不敢动阀门,最后只敢跑半负载。技术上了,人的习惯没跟上,平台照样“吃不饱”。
再说电费。高效能计算平台的账不能只算采购价。每瓦有效算力、每元有效算力,比峰值数字实在。一台机器满载跑三天,电费和制冷费能顶上一块卡的钱。很多团队做预算时只盯着硬件清单,运行起来才发现电费是长期出血。
高性能计算集群InfiniBand网络拓扑示意图
用在哪,别用在哪
用在哪,别用在哪
高效能计算平台适合什么?气象模式、流体仿真、分子动力学、渲染农场、AI训练、金融风控回测。共同点是:任务能拆、数据量大、算力密集、对时间有要求。它不适合什么?小团队跑个网页服务,或者一天只有几个短任务。那种场景上云更省心,别为了“拥有”俩字自建机房。
常见误解挺多。有人觉得云上开实例就是高效能计算平台,即开即用。可数据搬上去要时间,跨区传输要钱,作业一停实例就回收, checkpoint没做好,哭都来不及。也有人觉得GPU越多越好,结果机柜功率超了,配电改造又花一笔。还有人把平台当笔记本用,登录节点上跑编译、跑后处理,把调度器当摆设。嗯,这种我一般先劝,劝不动就给他开配额。
边界得说清楚。高效能计算平台能放大效率,也能放大烂代码。它能缩短仿真周期,但替代不了领域知识。它能让训练跑得快,但数据标注错了,跑得越快错得越远。平台是放大器,不是魔法棒。
机房出来,耳朵还嗡嗡的。平台这事儿,真不是买几台机器就完了。先看数据怎么走,再看作业怎么排,然后算算电费和运维账。峰值算力是门面,有效算力才是里子。