当前位置: 首页 > 隐秘往事

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣

03-21



中国存储登顶记:
3000 万次心跳和 30 年山河轰鸣

文|史中



(一)“3000 万”的狂野承诺



2024 年深秋。一间宽大的会议室里,三十多位来自曙光存储团队的老师傅围坐,盯着屏幕上平平无奇的代码。

别被他们白面书生的长相给骗了,实际上,他们背地里玩儿的比谁都刺激。。。

如果我们可以缩小,顺着屏幕背后的线缆往深处走,会进入一个硕大的计算机集群。

这个集群正在浅吟低吼。

几分钟后,它将会爆发狂野威力,瞬间模拟出上千万人同时在网上浏览、购物、下单、转账的混乱操作。

而这些操作产生的每一条读取和写入数据的请求,都会如枪林弹雨般射向我们今天的主角:一套名为 FlashNexus 的存储系统。

FlashNexus 的任务只有两个字:顶住。

具体来说,是要顶住每秒 3000 万次的读写请求——简称为 3000 万 IOPS

你不妨想象一个宇宙空间里的硕大仓库,里面的货架上摆满了箱子。

一秒内就有 3000 万个箱子被搬进搬出,而且是要指定货架指定位置,无一错漏。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图1)


这个成绩,会被如实记录在评测软件中,反手发给世界最权威的机构 SPC(存储性能委员会)。

一旦通过认证,FlashNexus 就会以绝对优势登上“SPC-1 榜单”的第一位。

我猜有浅友会说:技术我不懂,但按照咱中国人做事的稳妥方式,老师傅肯定已经背地里研发到万无一失,这次测试只是最后走个秀,没有通不过的道理吧?

非也。

这个榜单相当于存储领域的奥运会:3000 万 IOPS 不仅意味着金牌,还意味着新的世界纪录

运动员创造世界纪录,不可能有什么“万无一失”。

举个宏观世界的例子吧:

2025 年,小米 SU7 Ultra 在上海国际赛道创造了 2:09.944 的量产车最快圈速的世界纪录。

而为了创造这个圈速,小米使用了两台车,一台车去冲榜的间隙,另一台车就原地加电换胎保养。

即使这样呵护备至,也总会有微小的意外扰动成绩。当天的车手跑了很多圈,从中午飙到黄昏,才终于把最佳成绩从 2 分11 秒多刷到 2 分 10 秒以下。

你说这个世界纪录是真的吗?当然是真的。你说这个纪录能一次达到吗?老天不会对你那么好的。

回到 FlashNexus 的测试现场,事情的本质是一样的。

3000 万的性能指标,是老师傅在产品设计之初就立下的承诺。

实际上,在这之前,团队已经试运行过两次测试程序,结果就因为某块硬盘和网卡有微小的瑕疵,导致测试结果有一瞬间崩到了 2000 多万。

虽然抖动只有一秒左右,但套用《霸王别姬》里程蝶衣的话:差一秒,差几百毫秒、几十毫秒,都不算 3000 万!

这一次,老师傅们又肝了一个礼拜,绞尽脑汁把所有的点位都做了检查加固。此刻拔剑四顾,能做的好像只剩祈祷了。

对啊!

说到这,有人从椅子上弹射了起来。

当时正好是曙光存储部门成立 20 周年, 单位给发了水果。他们七手八脚拿来几个柿子和橙子,然后找了根雪糕棍,写了个“榜”字。堆在一起:打榜事立成(大棒、柿子、立着的橙子)。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图2)


郭照斌看了看,觉得团队搞玄学的最高水平也就是谐音梗了,没啥说的了,图灵保佑,冯·诺依曼保佑——走你!

随着回车键清脆的响动,数据如海啸奔涌,通过光纤管道高压直喷到 FlashNexus。

随即,根据测试程序的预设,数据流量变成一条条排浪,从低逐渐到高,从高逐渐到低,然后高低突然切换,用最虐的方式拍打着存储系统的堤岸。

在这头的屏幕上,IOPS 的实时数据和老师傅的心跳也随之脉冲。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图3)


最挑战的时刻来了,流量洪峰开始全速冲击。所有人都凝固在原地,死死盯着开头的那个 3 字。而任凭其他数字疯狂跳动,3 始终是 3!

随着测试程序缓缓降温,会议室里欢呼雷动。

这些师傅中,很多都默默搞了十几、二十年存储技术,把人生最好的年华倾倒在了晶片和代码之间。

正因为系统里的 1000 万行代码全部来自于他们的岁月和指尖,他们才知道这 3000 万 IOPS 的承诺有多狂野,才知道这 3000 万 IOPS 对脚下的山河意味着什么。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图4)
中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图5)

SPC-1 榜单被新的世界记录刷新




(二)是谁来自山河湖海,却囿于“最后一块拼图”



我猜你现在正端着手机,轻飘飘地滑动着这篇文章。

但这个操作绝不限于眼前方寸。

支撑它的,是横跨山河的存储体系

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图6)


你看到的这些文字本身,当然要和其他内容一起放在平台的存储系统里,供全球所有人随时调阅,不能出现任何延迟和过载。

你随时能给手机充电,是因为我们国家拥有稳定的电力系统。而电网如此稳定,是因为每时每刻全国的高压变电站都会回传海量的数据,使得调度系统可以精确平衡电网的压力。

你正在使用的网络流量,是靠遍布全国的 5G 基站提供的服务。你之所以不用操心信号抖动,是因为电信运营商会把所有基站的工作数据回传,用于实时分析、监测。

可以这样说:手机、电脑、智能汽车,无论什么设备,它们的本质工作都是计算;而计算产生数据,数据必定要安驻在某个存储系统。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图7)


如今成百上千种存储产品“毫无存在感地”支撑着我们生活的方方面面,就像大河纵横,载千帆竞流。

有趣的是,无论沿着哪条支脉漫溯,我们都会来到同一个湍急的上游:

1980 年代,新中国敞开了大门,从百年踉跄里爬起来,站稳姿势准备拥抱世界。可两手空空的感觉真难受,一切可能性的源头都是“能源”。

跺跺脚,大地沉默,到底祖国母亲把能源藏在了哪里?

为了勘探石油,石油工业部的专家必须依靠“高性能计算设备”对地震波进行计算。而当时,满足需求的只有 Made in USA 的大型机。

外国人大发慈悲,同意用高于市场价几倍的价格卖给我们。

不过,为了防止我们“偷偷”用它进行军事计算,专门在外面建了一个玻璃罩,钥匙在他们手里,只有在洋人的监视下才能操作。

这不是商业,这是侮辱。

君子报仇,十年不晚。我们的民用高性能计算研究,就大概始于那时。

在国家 863 计划的指导下,1993 年,李国杰院士带着中科院的一群年轻人开发了“曙光一号”,用分布式高性能计算突破了垄断。

而后时光奔流,曙光系列高性能计算系统成为国之重器,中科曙光公司也由此成立,日益壮大。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图8)


如今我们对制造世界一流的高性能计算、世界一流的云计算和人工智能基建有一种迷之执念,这大概都源自 80 年代“计算饥渴”造就的肌肉记忆。

但老话说得好:光存不算假把式,光算不存傻把式!

计算力越强,就需要越厉害的存储系统与之相配。

曙光公司从 2004 年开始研发“分布式存储系统”,一开始只是作为自家高性能计算的“陪嫁丫鬟”,但后来丫鬟也变成了大女主,开始独立进入石油、电力、证券、 银行、电信等等领域, 20 年来跨越山海,承托着国计民生的底层数据。

注意,这里我特意强调了“分布式”

分布式存储,简单理解就是用一个“调度系统”把很多普通服务器里的硬盘连接起来,组成一个大硬盘。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图9)


它就像一堆散落的仓库。

仓库规格各异,之间也不用打通,甚至不在一地。反正要找什么东西,调度系统知道去哪个仓库找,不就行了吗?

有了它,你只要不断把新仓库连接进系统里,就相当于造出无限扩展的仓储系统了!

就像下面酱:

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图10)


对于用户众多,又非常在意存储成本的中国企业来说,这技术简直太“解恨”了。

但这里有个小问题:“量大管饱”不是生活的全部,有时候,我们需要的是“米其林三星”!

把这么多仓库统筹起来,必然需要复杂的调度系统,而调度的本质是信息在不同层级的模块里流转。

就像一家公司,制度越复杂,层级越多,决策流程就越长,干个事儿就越费时间。

这是难以避免的。

做过十几年分布式存储的郭照斌给我举了一个例子:

假如一个存储节点突发故障,故障信号层层传输到调度系统需要几秒钟,这时调度系统需要赶紧选定备用节点。

由于节点分散在各处,调度指令还需要通过网线远程传输。等备节点解析信号,拉起服务,系统恢复平稳,全过程怎么说也得要 15-30 秒。

就算技术特别牛,能压缩到 10 秒,那也已经接近物理极限了。

就像下图:

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图11)


可别说 10 秒,仅仅 1 秒的“罢工”,对很多国之重器来说都是“不能承受之重”。

曙光存储 FlashNexus 产品经理卫然给我列举了几个数据:

银行数据库的存储系统如果出现 1 秒故障,就会有 2000 笔跨行转账无法被记录,需要手动对账;

电信计费的存储系统如果出现 1 秒故障 ,就会造成 1000 个用户流量超标时无法及时提醒,导致资费损失;

证券报价数据库存储系统卡顿 1 毫秒,在上面购买沪深 300 基金的用户损失就是 78 万元。

话说,大概在 2017-2018 年,前线就不断传回来消息:

金融、能源、电信用户最核心的数据库,迫切需要搭配一种顶级存储,既要要极其稳定,又要极其高速,还要支持极高并发。

人家已经立了英雄贴。只要能解燃眉之急,哪怕贵点儿也没问题!

其实曙光存储上上下下的师傅们心里都门清:这种既要又要还要,恐怕只有一种存储产品可以满足,那就是——集中式全闪存储

所谓“全闪”,就是承载数据的硬盘不能是普通的 HDD 硬盘,而要使用更快速的 SSD,也就是我们说的闪存盘;

所谓“集中式”,就是不使用零散的服务器,而是定制一套机柜,里面的板卡和芯片都是专门设计的,把闪存盘放在一起“军事化管理”,从而让系统达到极限性能。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图12)


如果用仓库的比喻,就是建设一个巨型仓库,里面通道布局、机械结构、人员配置都统一设计;

而且所有货架都靠电子系统寻找位置,无论是放东西还是拿东西,都比过去用机械臂找快上万倍。

这么庞大又精密的东西,妥妥是存储界的顶级贵族。。。它真的能造出来吗?

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图13)


答案是能。因为美国人早就造出来了。

要研究世界上最快的存储系统,咱们只需要打开一个榜单——SPC-1。

六年前,郭照斌他们就曾经瞪着这个榜单,上面一水儿都是美国老牌公司:EMC、IBM 之类。

实际上,当时中国的银行和券商,为了保证服务的极限可靠性,核心存储也只能从这些外国产品里挑。

不是不想支持国产,只不过支持“中国设备”就没办法支持“中国用户”。。。

没错,即便已经到了 2018 年,“玻璃房子”的幽灵仍在萦绕。

看着这个榜单,老师傅们心里五味杂陈。

这些“金榜题名”的公司随便哪个都比曙光存储的资金多十倍,人力多十倍,技术积累还多十几年。

反观曙光团队自己,虽然已经有了不错的分布式存储产品,可集中式存储,尤其是“集中式全闪存储”,逻辑结构差异巨大,老师傅相当于重开一局,不仅每一行代码都要重头写,甚至连团队都得从头招聘。

但这件事,并非纯粹的商业决策。

回到历史的当下,2018 年世界正急打转向:美国变脸,对中国的技术封锁开始动了真格,敞开的门正迅速关闭。

一旦拿下“集中式全闪存储”,曙光存储将代表中国摘取存储系统皇冠上的明珠,也补上产品线最后一块缺失的拼图。

一旦拿不下。。。后面虽不能断言没机会,但代价可能会指数级提高。。。

曙光分布式存储的一些技术骨干组成了“敢死队”,向集中式全闪存储进发,郭照斌就是其中一员。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图14)
郭照斌


隔着玻璃看历史,总因细节模糊而显平淡。但如果穿越回去,和他们一起站在悬崖边,面对未知的命运却仍要纵身而下时,我们能听到耳边呼啸的风。

回望历史,人不孤单。

1993 年,曙光的前辈们曾经面对更加恐怖的深渊。而他们走到了对岸,用“高性能计算”化成利剑劈开玻璃房子。

2004 年,分布式存储的同事们也面临幽深的峡谷。他们同样走到了对岸,用极致性价比做出了外国产品的“平替”。

对这些故事的无数次重温,也许就是系在集中式存储团队身上唯一却无比坚固的“保险绳”。

不过这一次,他们有多大胜算呢?



(三)存储系统的“特斯拉时刻”



严格说,这是曙光存储第一次冲击“集中式全闪存储”,但不是第一次冲击“集中式存储”。

两个名字看起来很像,实则天差地别。

如果用汽车类比:“集中式全闪存储”就是电动车,而传统的“集中式机械硬盘存储”就是燃油车。

从燃油车到电动车,似乎只是核心动力部件从发动机变成了电动机,但为了适应它,其他所有的传动结构都要发生天翻地覆的变化。甚至可以说,电动车和燃油车已经是两个不同的物种。

存储也是如此。

我们不妨回到仓库的比喻,给你说说其中的核心要害:

硬盘好比就是仓库里的货柜。

1)机械硬盘存储和提取货物靠的是“机械臂”。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图15)


机械臂的运动有点像咱们在书架上找书时候的手指头,顺次点着书脊,看到要找的目标,就抽出来。这就是“寻道”。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图16)


2)闪存硬盘存储和提取货物靠的是“电子映射”。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图17)

它有点像咱们取快递的柜子,你只要输入柜子号,背后的电路板就直接控制相应的柜门弹开了。完全不需要寻道的过程。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图18)


寻找同样一件东西,他俩的速度能差一万倍。

你用闪存盘代替机械硬盘,存储系统总体性能就提升了一万倍吗?

不对。

要说清楚这个事情,不能只看货架,还要请上另一个角色——仓库管理员

货架只是无情的存取机器,得有一个管理员来告诉它需要把东西存在哪,或者从哪个位置取东西啊!

这个管理员,就是 CPU。

现在假设你就是管理员,如果用“机械货架”,会是这样的局面:

1)你的老板一下给了你 100 条指令,要你从仓库里找出这 100 件东西,越快越好。

2)你拿出 1 号指令,对一个货架说:你去给我拿这个 A 货物。

3)货架收到指令开始寻找,由于机械臂速度有限,可能得半小时才能找到。

这个时候,你该怎么办?

在原地哼着小曲儿,等货架把东西找来?老板肯定炒你鱿鱼啊!

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图19)


没错,因为你这个管理员的效率比货架的效率高太多,最好的办法就是把任务穿插起来:

1)你布置完一个任务,马上去布置下一个任务。

2)直到哪个货架找到了,就来“钉”你一下。

3)被“钉”后,你暂停布置任务,把这个 A 货物拿给客户。

4)然后你再回来继续布置任务,直到下一个 B 货物被找到。

以此类推。。。

咱们用慢镜头展示一下这个过程

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图20)


这个打断你的操作,专有名词就叫做 CPU 的“中断”。

目前为止,一切都很顺理成章。

现在,我们原地把机械货架换成电子货架,哪怕其他条件都不变,局面也大不一样了:

1)你给第一个货架布置完任务,让它去找 A 货物,然后你跑去给第二个货架布置任务。

2)结果你第二个任务刚布置一半,就听“钉”的一声——第一个货架已经把东西送来了。

3)你只好先把 A 货物送走,回来继续布置任务。但这么一折腾,你已经忘了刚才说到哪了,还得回忆半天。

你看,由于电子货架速度太快,导致你布置任务的过程被频繁打断,每次打断和续上都需要额外的时间和计算。

这么一来,你甚至不如回到最简单的操作:

发布任务,原地等货架找来,把货送出去,再布置第二个任务。

咱们再用慢镜头展示一下这个过程↓

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图21)


也就是说,如果仓库里全是电子货架(闪存盘),反而不需要机械货架(机械硬盘)那么冗杂的调度逻辑。

正所谓:最好的食材只需要简单的烹饪!

明白了这些,我们再回到现实中。

其实,曙光存储早在 2012 年就尝试用机械硬盘设计集中式存储,但其中的代码太复杂,而且很多逻辑都固化在硬件中,被国外垄断,卖得死贵。所以那次尝试并不成功。

所谓不成功,就是产品做出来了,但是性价比没有“Made in China”的样子。

类比一下,这也很像中国的汽车业。

过去,我们按照燃油车的技术路线追赶,不仅技术复杂,而且前面全是别人下的专利绊子,非常不划算。所以中国燃油车一直没有做到世界顶尖。

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图22)


后来,我们直接换道超车,做技术更简洁、竞争更小、前景更广阔的电动车。

另开一局,这不就成了吗?!

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图23)


只不过,换道不是想换就能换,这里需要一个巨大的“天时”。

电动车的技术路线早就存在了(其实人类是先发明的电动车,后发明的燃油车),但世界上一直没有一家成功的电动车企业。直到 2015 年,电驱和电池技术迅速成熟,价格大幅下降。

具备以上条件,才能有企业可能整合这些技术,制造出性价比优异的电动车,挑战油车的地位。

于是,特斯拉横空出世。

而在 2018 年左右,同样的事情再次上演:闪存价格开始大幅下降

这就是存储产业的“特斯拉时刻”!

中国存储登顶记:3000 万次心跳和 30 年山河轰鸣(图24)
从 2018 年开始闪存价格下降斜率变快,预计 2026 年会比机械硬盘更便宜。


特斯拉时刻的出现,意味着中国存储产业换道超车的时间窗口已经打开。

当时有远见的中国师傅都看到了这个历史之门透出的光芒:

不只是曙光,包括华为、浪潮、紫光、金山在内的中国企业全在这个时间点大幅投入全闪存储的研发。

沧海横流,接下来谁最牛,真的就是拼每一行代码,每一颗芯片,每一块板卡上的每一束电流了。



(四)“豪华仓库”变形记



要说清楚“集中式全闪存储”里面的狠活儿,咱们不妨线把仓库工作的状态放在舞台上完整表演一遍。

首先给你把所有角色介绍清楚:

货架:硬盘

箱子:数据

管理员:CPU

管理员的小本本:内存

快递站:网卡

仓库的老板:操作系统

现在演出开始。


版权保护: 转载请保留链接: https://www.qianhei.net/yinmiwangshi/677.html