导读:随着计算机芯片中的微型开关已经缩小到几个原子的宽度,芯片的可靠性已成为运行世界上最大网络的人们的另一个担忧。去年,亚马逊、Facebook、Twitter 和许多其他网站等公司都经历了令人惊讶的中断。
想象一下,为世界上最大的数据中心提供动力的服务器内的数百万个计算机芯片存在罕见的、几乎无法检测到的缺陷。发现缺陷的唯一方法是将这些芯片投入到巨大的计算问题上,这在十年前是不可想象的。
随着计算机芯片中的微型开关已经缩小到几个原子的宽度,芯片的可靠性已成为运行世界上最大网络的人们的另一个担忧。去年,亚马逊、Facebook、Twitter 和许多其他网站等公司都经历了令人惊讶的中断。
中断有几个原因,例如编程错误和网络拥塞。但人们越来越担心,随着云计算网络变得越来越大、越来越复杂,它们在最基本的层面上仍然依赖于现在不太可靠、在某些情况下更难以预测的计算机芯片。
在过去的一年里,Facebook 和谷歌的研究人员都发表了描述计算机硬件故障的研究,这些故障的原因不容易确定。他们认为,问题不在于软件,而在于不同公司制造的计算机硬件的某个地方。谷歌拒绝对其研究发表评论,而 Facebook 没有回复对其研究发表评论的请求。
“他们看到了这些无声的错误,基本上来自底层硬件,”专门测试计算机硬件的斯坦福大学电气工程师 Subhasish Mitra 说。Mitra 博士说,人们越来越相信制造缺陷与这些不易被发现的所谓无声错误有关。
研究人员担心他们会发现罕见的缺陷,因为他们正试图解决越来越大的计算问题,这会以意想不到的方式给他们的系统带来压力。
十多年前,运行大型数据中心的公司开始报告系统性问题。2015 年,在工程出版物IEEE Spectrum中,一群在多伦多大学研究硬件可靠性的计算机科学家报告说,每年谷歌数百万台计算机中有多达 4% 遇到无法检测到的错误并导致他们意外关闭。
在一个拥有数十亿个晶体管的微处理器中——或者一个由数万亿个微型开关组成的计算机内存板中,每个微型开关都可以存储一个 1 或 0——即使是最小的错误也会破坏现在通常每秒执行数十亿次计算的系统。
在半导体时代初期,工程师们担心宇宙射线偶尔会翻转单个晶体管并改变计算结果的可能性。现在他们担心开关本身越来越不可靠。Facebook 研究人员甚至争辩说,这些开关变得越来越容易磨损,并且计算机内存或处理器的寿命可能比以前认为的要短。
越来越多的证据表明,随着每一代新一代芯片的出现,这个问题都在恶化。芯片制造商 Advanced Micro Devices 于 2020 年发布的一份报告发现,当时最先进的计算机内存芯片的可靠性大约比上一代低 5.5 倍。AMD 没有回应对该报告发表评论的请求。
资深硬件工程师大卫·迪策尔 (David Ditzel) 说,追踪这些错误具有挑战性,他是 Esperanto Technologie公司的董事长兼创始人,该公司是加州山景城为人工智能应用设计的新型处理器的制造商。他说,他的公司的新芯片刚刚上市的 1,000 个处理器由 280 亿个晶体管组成。
他将芯片比作一座横跨整个美国表面的公寓楼,发现新错误有点像在那栋楼的一间公寓里寻找一个正在运行的水龙头,只有当卧室灯亮着并且公寓门打开时才会出现故障。
到目前为止,计算机设计人员一直试图通过在芯片中添加特殊电路来纠正错误来处理硬件缺陷。电路自动检测和纠正不良数据。它曾经被认为是一个极其罕见的问题。但几年前,谷歌生产团队开始报告难以诊断的错误。根据他们的报告,计算错误会间歇性发生并且难以重现。
一组研究人员试图追查这个问题,去年他们发表了他们的发现。他们得出的结论是,该公司庞大的数据中心由基于数百万个处理器“内核”的计算机系统组成,正在经历新的错误,这可能是几个因素的组合:接近物理极限的较小晶体管和测试不足。
谷歌研究人员在他们的论文“不重要的核心”中指出,这个问题非常具有挑战性,以至于他们已经投入了相当于数十年的工程时间来解决它。
现代处理器芯片由数十个处理器内核组成,计算引擎可以分解任务并并行解决它们。研究人员发现,一小部分核心很少会产生不准确的结果,而且仅在某些条件下才会产生。他们将这种行为描述为零星的。在某些情况下,只有在计算速度或温度发生变化时,内核才会产生错误。
据谷歌称,处理器设计复杂性的增加是失败的重要原因之一。但工程师们也表示,较小的晶体管、三维芯片和仅在某些情况下会产生错误的新设计都导致了这个问题。
在去年发布的一篇类似论文中,Facebook 的一组研究人员指出,一些处理器会通过制造商的测试,但在投入使用时就开始出现故障。
英特尔高管表示,他们熟悉谷歌和 Facebook 的研究论文,并正在与两家公司合作开发检测和纠正硬件错误的新方法。
英特尔数据平台集团副总裁 Bryan Jorgensen 表示,研究人员所做的断言是正确的,“他们对行业提出的挑战是正确的去处。”
他说英特尔最近启动了一个项目,帮助为数据中心运营商创建标准的开源软件。该软件将使他们能够发现并纠正芯片内置电路未检测到的硬件错误。
去年,当英特尔的几位客户悄悄地发出警告称他们的系统产生了未检测到的错误时,这一挑战就凸显出来了。
全球最大的个人电脑制造商联想告知其客户,几代英特尔至强处理器的设计变化意味着这些芯片可能会产生比早期的英特尔微处理器更多的无法纠正的错误。
英特尔没有公开谈论这个问题,但乔根森先生承认了这个问题,并表示它已经得到纠正。此后,该公司改变了设计。
计算机工程师对于如何应对挑战存在分歧。一种普遍的反应是对新型软件的需求,这些软件可以主动监视硬件错误,并使系统操作员能够在硬件开始退化时将其移除。这为提供监控数据中心底层芯片健康状况的软件的新初创企业创造了机会。
加利福尼亚州洛斯加托斯的一家公司 TidalScale 就是这样的一家公司,该公司为试图将硬件中断最小化的公司提供专门的软件。其首席执行官 Gary Smerdon 表示,TidalScale 和其他公司面临着严峻的挑战。
“这有点像在飞机还在飞行时更换发动机,”他说。