容错计算技术:你每天都在用却从没听说过的数字世界基石
你早上刷地铁码进站,中午点外卖付款,晚上刷短视频——你从来不会想,为什么这些服务从来没断过?哪怕背后的服务器某一块硬件出了问题,网络丢了几个数据包。
藏在这一切背后的,就是容错计算技术。
很多人连名字都没听过,但它已经撑住了整个数字世界的基本盘。
数据中心服务器集群容错计算架构示意图
自动驾驶车载芯片容错计算模块布局图
未来的容错计算,还要啃两块硬骨头
第一块,就是先进制程芯片的软错误问题。刚才说了,制程越小,软错误越多,现在的方案要么成本太高,要么校正效率不够。学界最近几年都在研究近内存计算的容错架构,把容错逻辑放在内存旁边,不用数据来回跑,既省时间又省功耗,不少头部芯片公司已经流片测试了,估计再过两三年就能用到消费级芯片上——到时候你手机用个四五年,也不会因为芯片老化越来越容易出错死机。
第二块,就是量子计算的容错。现在的量子比特太脆弱了,温度稍微变一点,有一点干扰,就错得没边了。现在所谓的容错量子计算,还停留在实验室阶段,去年IBM推出的1000多比特的处理器,错误校正率也就刚到能用的门槛。但这东西是通用量子计算的基础啊,没有靠谱的容错量子计算,永远都是演示性的玩具,落地不了。
很多人会说,不就是出点错吗?大不了重来呗。
你试试航天探测器,飞出火星了,元器件出个错,你能让它回来重启吗?你试试自动驾驶,高速上出个错,就是车毁人亡的事。就算是大模型训练,跑一次两三天,最后出个错结果作废,几十万的电费打水漂,谁受得了?
数字世界越复杂,对“零感知错误”的需求就越高。你越感觉不到它的存在,就说明它做得越好。
就像现在,你能安安稳稳刷着手机看到这里,就是容错计算技术在背后默默干活呢。
什么是容错计算?不是“犯了错宽容你”那回事
很多人第一次听到这个名字,都会误会成IT圈的HR文化——错了不罚款,给你改正机会? 扯远了。 容错计算的核心逻辑很简单:当系统的某一部分出现硬件故障或者软件错误的时候,不用整个停机重启,靠自身设计就能把错误修正,继续正常干活。 说白了,就是给系统买了份“实时意外险”,出点小问题不用叫拖车,自己就能开到修理厂,甚至都不用停。 和普通的“备份”还不是一回事。备份是出了事再恢复,容错是出事的时候你根本感觉不到。比如你刷微信支付,网络丢了两个校验包,容错计算会自动补全,不会让你对着转圈圈的加载页等五分钟,更不会让你莫名其妙付两次款。
数据中心服务器集群容错计算架构示意图
现在的容错计算技术,早就不是当年的笨办法了
早十几年,容错计算基本靠“堆冗余”——重要的模块放三份,三份结果投票,多数对了就算对。笨是笨,好用是好用,就是太费钱。一个模块做三份,功耗和成本直接翻两倍多,也就航天、银行这种不差钱的领域用得起。 说实话,现在哪还玩得起这套? 你看现在大模型训练,一张A100卡十几万,几千张卡堆三倍冗余?那成本谁顶得住啊。 不过话说回来,现在出错误的概率反而比以前高多了。为什么?现在芯片制程越做越小,电压越压越低,一个宇宙射线打过来,就可能搞出一个比特软错误——就是好好的0变成1,你都找不到硬件毛病,就是出了错。这种事放在以前28nm芯片,可能十天半个月出一次,现在3nm芯片,可能几小时就出一次。 你说可怕不可怕? 所以现在行业内都在搞新的容错方案,比如动态冗余——只有检测到可能出错的时候才启动备用模块,平时不用浪费资源。还有基于机器学习的错误预测,提前把容易出错的计算单元绕开,从源头减少错误。 我去年跟一个做自动驾驶算力平台的朋友吃饭,他跟我吐槽了快半小时。说早年他们做L2级测试,高速路上好好的跟车,就因为车载摄像头一个像素出了错,系统把路边的广告牌当成了障碍物,直接触发急刹,后车差点追尾。后来改了多传感器融合容错逻辑,哪怕一个传感器出了错,另外几个的数据能把错误修正,再也没出过这种离谱的事。
自动驾驶车载芯片容错计算模块布局图
未来的容错计算,还要啃两块硬骨头
未来的容错计算,还要啃两块硬骨头
第一块,就是先进制程芯片的软错误问题。刚才说了,制程越小,软错误越多,现在的方案要么成本太高,要么校正效率不够。学界最近几年都在研究近内存计算的容错架构,把容错逻辑放在内存旁边,不用数据来回跑,既省时间又省功耗,不少头部芯片公司已经流片测试了,估计再过两三年就能用到消费级芯片上——到时候你手机用个四五年,也不会因为芯片老化越来越容易出错死机。
第二块,就是量子计算的容错。现在的量子比特太脆弱了,温度稍微变一点,有一点干扰,就错得没边了。现在所谓的容错量子计算,还停留在实验室阶段,去年IBM推出的1000多比特的处理器,错误校正率也就刚到能用的门槛。但这东西是通用量子计算的基础啊,没有靠谱的容错量子计算,永远都是演示性的玩具,落地不了。
很多人会说,不就是出点错吗?大不了重来呗。
你试试航天探测器,飞出火星了,元器件出个错,你能让它回来重启吗?你试试自动驾驶,高速上出个错,就是车毁人亡的事。就算是大模型训练,跑一次两三天,最后出个错结果作废,几十万的电费打水漂,谁受得了?
数字世界越复杂,对“零感知错误”的需求就越高。你越感觉不到它的存在,就说明它做得越好。
就像现在,你能安安稳稳刷着手机看到这里,就是容错计算技术在背后默默干活呢。