在讨论不合理的坏事时,一个答案声称阿尔法粒子翻转记忆位可以用作排序算法。
这让我不禁想问:外部辐射、电压波动或此类物理因素破坏数据或计算(即修改数据或计算)的可能性有多大?它们能造成多大影响?针对这些意外破坏,我们采取了哪些应对措施?
例如,如果说一个阿尔法粒子击中 CPU 并将寄存器从 0 翻转为 1,那么后面的一些比较或指针跳转就完全有可能失败,并由于意外行为导致数据损坏而导致程序崩溃。或者在轻微的情况下,在计算 1+1 时返回 3。
答案1
我不知道 CPU 中出现软错误的可能性有多大(我认为它们非常罕见,因为 CPU 封装应该可以屏蔽阿尔法辐射),但它们可能会出现在 DRAM 内存中。这就是为什么你可以为服务器和其他高可靠性应用程序购买自动纠错 RAM(称为 ECC-DRAM)。
您可以找到许多关于 DRAM 故障率的研究,例如这个:http://softerrors.info/selse/images/selse_2012/Papers/selse2012_submission_4.pdf