第二卷·第17集:算力矿场
红色警告弹窗铺满屏幕。
「算力不足!当前负载:127%」
一百个靶点的进度条,同时卡住不动了。
小胖的声音从机房深处传来:“我靠?!怎么回事?!”
右上角,一行红色倒计时在跳动:「恒瑞演示倒计时:21:47:33」。
平台压力测试第三天。
一百个靶点同时跑到中期,算力突然不够了。
小胖蹲在椅子上,面前三台电脑,满头汗。“不对啊……”他盯着屏幕,“按我的计算应该够的……”
Σ-Med的投影站在旁边,推了推眼镜:「CMC模块的算力消耗,比预估的高了40%。」
小胖转头:“高了40%?!那你怎么不早说?!”
Σ-Med的手指揪着白大褂的衣角,揪一下,再揪一下,声音小小的:「你没问我啊……」
王慕雪站在会议室门口,脸色不太好看:“多久能解决?恒瑞的人,明天下午就到。”
小胖的脸,瞬间白了。“明天下午?!”
“对。所以你还有21个小时。”
小胖抓头发,抓得越来越乱:“我怎么知道……这比网吧网管难多了……”
林辰靠在门框上,没说话。他看了一眼倒计时,又看了一眼小胖。“21个小时,”他说,“够了。”
小胖愣了一下:“够……够了?”
“对。因为你已经想了三天了。”
小胖张了张嘴,然后闭上。他深吸一口气,转向屏幕。“……行。”
AR切换。算力矿场战场。
巨大的矿场里,一百个矿工——靶点进程——在抢矿。算力就是矿。
有的矿工挖得飞快,有的半天挖不到一块。
小胖的第一招:分级调度。把靶点分成S/A/B三级,S级优先分配算力。S级矿工速度提上去了,B级矿工慢得像乌龟。屏幕上弹出一个红色警示:「B级靶点进度滞后,客户投诉预警!」小胖挠头:“不行……都是客户,凭什么人家的慢?”
第一关,失败。
小胖的第二招:错峰计算。简单靶点和复杂靶点错开跑——简单靶点白天跑,复杂靶点晚上跑。进度条开始动了。“有戏!”小胖眼睛亮了。然后卡住了。屏幕上又弹出一个橙色警示:「全流程线性依赖,无法错峰!流程卡死预警!」因为一个靶点的设计阶段跑完了,合成阶段必须接着跑,不能等到晚上。错不开。小胖捶了一下桌子:“靠……白高兴一场。”
第二关,失败。
倒计时跳动:「18:22:47」。
小胖蹲在矿场边上,盯着屏幕,一动不动。
网吧里的画面一张一张地闪过。有人打游戏占满了带宽,但挂着机不动。有人看视频占一半带宽,但经常暂停。有人聊QQ几乎不占带宽,但一直在线。网管的工作不是把带宽平均分,是把带宽动态分——谁需要就给谁,谁用完了就收回来,谁占着不用就收回来给别人。
突然,小胖眼睛亮了。
“等等!网吧里打游戏的和看视频的,占的带宽不一样!”
小胖的第三招:算力切片加动态借贷。
把算力切成一千个小切片。哪个靶点需要,就临时借几片,用完了马上还回去。闲的靶点把算力借给忙的靶点。
卡通画面切换。矿场上空出现了一块巨大的借条面板。矿工A挖得飞快,矿快挖完了——它举起手,借条面板上多了一行字:「矿工A:借入50片算力,预计30秒后归还。」旁边的矿工B,矿还很多,暂时闲着——它也举起手:「矿工B:借出50片算力,预计30秒后收回。」发着淡蓝色光的算力碎片从矿工B头顶飞出,划过一道弧线,落到矿工A头顶。矿工A的速度瞬间提了上去。30秒后,矿工A的矿挖完了——它举起手:「矿工A:归还50片算力。」算力碎片又飞回矿工B头顶。
整个矿场上空,借条面板上的字在不断刷新。一百个矿工,没有一个闲着的。一百个矿工,没有一个卡住的。
所有进度条重新开始同步前进。
「算力利用率:91%→ 98.7%」
「当前负载:127%→ 89%」
「系统状态:正常」
所有警示灯全部变绿。
小胖挥拳,差点从椅子上摔下来:“成了!!”
倒计时:「15:08:44」。
算力问题刚解决,新问题又来了。
Σ-Med推了推眼镜:「数据存储不够了。一百个靶点的中间数据,比预估多了三倍。」
小胖:“我靠?怎么什么都不够?!”
王慕雪:“加硬盘?”
小胖摇头:“来不及了。明天下午恒瑞就到了。”
林辰站在旁边,一直没说话。他突然开口:“小胖,你那个行为模式识别,能不能用在数据上?”
小胖愣住:“行为模式识别?”
“对。”林辰说,“你能识别机器和人的行为差异,那你能不能识别‘有用的数据’和‘没用的数据’?”
小胖眼睛慢慢亮了:“你的意思是……把没用的中间数据压缩掉,只留有用的?”
小胖拍大腿:“对啊!我怎么没想到!”
他手指飞敲,行为模式识别系统改了改,用在了数据上。
卡通画面切换。数据方块堆成了一座小山。一个巨大的榨汁机从天而降,把小山吞了进去。轰隆隆——榨汁机转动起来。有用的数据变成清澈的果汁,流进储存罐。没用的数据变成干巴巴的残渣,被吐了出来。储存罐里的果汁只有原来的八分之一。剩下的全是干货。
「原始数据:3.2TB」
「压缩后:384GB」
「压缩比:8.3:1」
「行业平均压缩比:2.3:1」
「您的方案,是行业平均的3.5倍」
小胖吹了声口哨:“八倍压缩。”
Σ-Med推了推眼镜:「这个思路……很新颖。因为您不是在压缩数据,您是在识别数据。知道哪些有用,哪些没用。这比单纯的压缩高级多了。」
小胖得意:“因为我是网管嘛。网管天天干的事,就是分清楚谁在干正事、谁在摸鱼。”
就在小胖得意的时候,Σ-Med突然开口了:「等一下。」
“又怎么了?”小胖问。
「这段代码的缩进,有用空格的地方,有用Tab的地方。不统一。」
“……这有什么关系?能跑就行啊!”
「不行。」Σ-Med的表情很严肃,「代码规范是底线。」
小胖深吸一口气:“行行行,给你改。”
他花了一个小时,把所有缩进统一成了空格。
改完之后,代码跑了一遍——报错了。
小胖:“……”
Σ-Med:“……”
“你不是说统一了就没事吗?!”
Σ-Med沉默了两秒:「……有一行代码,用Tab缩进的时候是对的。改成空格之后,逻辑变了。」
小胖闭上眼睛,深呼吸。“所以你让我改了一个小时,然后把代码改坏了?!”
Σ-Med的声音小了下去:「我……我不是故意的……」
小胖睁开眼睛。“行。我再改回来。但你要答应我一件事。”
“什么?”
“在我写代码的时候——闭嘴。”
Σ-Med的投影闪烁了一下,没有说话。
王慕雪走进机房:“算力和存储都解决了?”
“解决了。”小胖拍了拍胸脯。
“那下一步呢?”
林辰从门框上直起身:“全流程内测。”
“内测?”
“对。”林辰说,“找一个靶点,从设计到生产,完整跑一遍。看看全流程到底通不通。”
“用哪个靶点?”
林辰想了想。“MRGPRX2。我们最熟的靶点。看看14天,能不能出可生产的样品。”
小胖瞪大眼睛:“14天?!会不会太急了?”
林辰笑了笑。“14天,已经很保守了。”
他转身往外走。走到门口,他停下来,没有回头。
“对了,小胖。”
“啊?”
“今天干得不错。”
小胖愣了一下。然后他的嘴角,慢慢咧开了。
好书等你评,快来成为鉴赏第一人