statistics - Cosmic Rays: 什么是影响程序的效果的概率?

  显示原文与译文双语对照的内容

又一次我在设计审查,声称遇到特定场景的概率是"小于宇宙射线的风险"影响计划,在我看来,我一点都不知道什么是概率。

"自 2以来" -128 是 1 340282366920938463463374607431768211456,我认为我们是合理的在我们这里的机会,即使这些计算是几十亿倍。 我相信,我们有更多的风险来让宇宙射线screw我们。"

这是程序员正确?宇宙射线撞击的概率是什么电脑,影响程序的执行?

时间:

来自维基百科的维基百科:

1990年代由ibm研究表明电脑通常经验一个每月每 256 cosmic-ray-induced错误mb的ram。 [15]

这意味着有 3.7 × 10的概率 -9 每月每字节或者 1.4 × 10 -15 每秒的字节数。如果程序运行 1分钟,占用 20 MB内存,那么失败概率将是


 60 × 20 × 1024²
1 - (1 - 1.4e-15) = 1.8e-6 a.k.a."5 nines"


错误检查有助于减少失败的后果。 同样,由于Joe评论的芯片尺寸更小,故障率可能与 20年前的不同。

显然不是无关紧要的。来自的新科学家文章 。来自Intel专利应用程序的引用:

"宇宙射线诱导计算机崩溃发生和预计将增加与频率设备( 例如晶体管) 减少大小的芯片。 这个问题将成为未来十年计算机可靠性的主要限制。 "

你可以在这里阅读完全专利,

维基百科引用了研究由ibm 90年代表明"计算机每月平均有一个cosmic-ray-induced错误每 256 mb的内存。"不幸的是引用《科学美国人》上的一篇文章,它没有提供任何进一步的参考。 就我个人而言,我发现这个数字是非常高的,但也许最宇宙射线引起的内存错误不会导致任何实际或noticable问题。

另一方面,人们谈论概率时软件场景通常不知道他们正在谈论什么。

内存错误是真实的,ECC内存也有帮助。 正确实现ecc内存将纠正单比特错误和检测双位错误( 如果检测到此类错误,则停止系统。) 经常可以看到这从人抱怨什么似乎是一个软件问题解决通过运行 Memtest86和发现糟糕的记性。 当然瞬态故障引起的宇宙射线是一块一直失败的记忆不同,但它是相关的更广泛的问题多少你应该相信你的内存操作正确。

基于 20 MB驻留大小的分析可能适合于小型应用程序,但大型系统通常有多个具有大型主存的服务器。

有趣的链接:http://cr.yp.to/hardware/ecc.html

页面中的Corsair链接似乎已经死了。

更常见的是,噪音会破坏数据。 校验和用于在许多级别上进行战斗;在数据线中,通常有一个奇偶校验位,它与数据一起传输。大大减少腐败的可能性。 在解析级别上,毫无意义的数据通常被忽略,所以即使有些损坏超过了奇偶校验位或者其它校验和,它也会被忽略。

另外,某些组件是的电气屏蔽,以阻挡噪声( 可能不是宇宙射线我猜) 。

但最终,其他answerers已经说过,偶尔的一点或字节被炒,这是留给机会是否这是一个字节。 最好的情况下,宇宙射线扰乱空的部分之一,完全没有效果,或者电脑( 这是一件好事,因为计算机不做伤害) 崩溃;但是坏的情况下,好吧,我相信你可以想象。

...