对话谷歌和微软,为什么静默数据损坏(SDC)问题需要高度重视?

来源:新思科技 #静默损坏# #新思科技#
5758

众多计算错误历来被归咎于不良的代码编写、编程逻辑、算法问题,甚至是用户的操作失误。这一点不难理解,毕竟许多性能瓶颈都能直接追溯到软件层面,它似乎也成为了众多计算机错误的根本原因之一。

然而,事情真的这么简单吗?

在过去十余年间,一个隐形的巨大问题逐渐浮出水面,隐藏在支撑整个计算世界的底层组件中:硬件。更为确切地说,一种名为“静默数据损坏”(SDC)的硬件故障,已经成为众多性能问题的关键所在。随着人工智能和机器学习算法的需求推动计算能力飞速扩展,静默数据损坏的问题也愈发尖锐和严重。

那么,究竟什么是静默数据损坏?我们又该如何防范?为何它会成为一个如此普遍且棘手的问题?

为此,我们特地采访了谷歌的首席开发者Rama Govindaraju和微软的硬件架构合伙人Robert S. Chappell,与各位开发者一起深入探讨这些问题及其他相关话题。

什么是静默数据损坏?

静默数据损坏(SDC)是指受影响设备处理数据时,无意导致的静默(未被察觉的)错误。

例如,受影响的CPU可能会发生数据计算错误(例如1+1=3),除非进行定期扫描,否则不会发现这些错误迹象,这就是“静默”一词的由来。简而言之,这些计算错误既难以检测又难以纠正。

如果软件出现问题,会有故障停止机制、用户通知以及各种其他警报或指示来提示需要进行修复。对于硬件SDC事件,不会有任何通知表明存在某些计算错误,进而导致数据集损坏且不被察觉。

由于SDC的隐蔽性(部分原因),我们很难准确检测问题何时出现在计算中。过去七八年里,这已成为业界公认的难题。

目前的解决办法面临多方面挑战:

  1. 产品生命周期:芯片和处理器的生产周期很长,尽管人们在数年前就发现了SDC问题,但可能仍需要很长一段时间才能在新硬件上修复该问题。这意味着我们在解决SDC问题上仍然很滞后

  2. 成本:与计算领域的许多问题一样,成本是一个重要因素。无论是改变生产周期,还是推迟产品发布直至确保产品完全安全,这些决策所伴随的高昂成本让许多领导者都对预防SDC持谨慎态度

  3. 证明问题/展示投资回报率:同样因为成本,衡量SDC错误的规模相当困难,因此难以向决策者说明问题的严重性

在成本问题上,相较于提前预防,修复SDC造成的错误所花费的成本将会高出许多倍。调试由SDC引起的问题可能需要花费数月,这对大多数企业来说完全不具备可扩展性。本杰明·富兰克林曾经说过:“一分的预防胜过十分的治疗”,这句话在此情境下尤为贴切。

假设在1,000枚芯片中,只有1枚存在缺陷。这个比例似乎微不足道,以往或许不会引发太多问题,但如今机器学习算法运行于数以万计的芯片上。这意味着经过长时间运行后,累积的缺陷将使整个数据集偏离轨道,并需要巨额资金来修复。人工智能从业者深知,工作负载日益庞大,中断情况也在不断加剧。

我们必须自问,如何才能更有效地进行筛查。我们需要针对整个堆栈,从硬件到软件,以及其中的每一个环节进行深入研究。更重要的是,所采用的解决方案必须足够全面,要涵盖设计阶段,甚至是工艺技术阶段。

▲第三代英特尔Xeon Scalable SoC进行DCDIAG测试的缺陷筛查率

问题日益严峻

不幸的是,随着时间的推移,SDC问题越来越严重。计算需求的规模并未放缓或趋于平稳,而是正以超前速度加速增长。集成度不断提高,更多资源被封装进单一部件,导致生产周期和实施流程变得更加复杂。系统承受着巨大压力,且短期内看不到缓解的迹象。

我们难以界定当前所理解的问题范围,并且仍在努力明确SDC问题的普遍性。解决尚未完全明晰的问题非常困难,更不用说向他人解释为何应该重视这一问题。

行业领导者不愿为自己不完全了解的问题投入资源,这不难理解。但是,对于SDC问题导致的大规模错误,其纠正成本可能远高于预防错误的成本。我们需要学者、研究人员、商界领袖、开发者以及生产和商业运营生态系统中的每一位成员携手合作,认真对待这个问题,防止它进一步失控。

责编: 刘洋
来源:新思科技 #静默损坏# #新思科技#
THE END
关闭
加载

PDF 加载中...