估计硬件错误概率


13

假设我在http://www.nersc.gov/users/computational-systems/edison/configuration上的100k内核上运行了4个小时的超级计算机计算,通过网络交换了大约4 PB的数据,并执行了大约4 TB的I /哦 计算都是整数,所以结果是对还是错(没有中间数值错误)。

假设代码正确,我想估计由于硬件故障而导致计算错误的可能性。有什么好的方法可以解决这个问题?是否有足够的资源可以估算出所需的数字?


与网络和磁盘因素相比,我认为CPU / RAM的结果确实稳定。
meawoppl 2014年

Answers:


5

您是否查看了各种亿万亿级报告?艰难的失败在今天并不是什么大问题-当然可以发生,但是它们的发生频率不足以引起严重的担忧。但是据估计,在具有或更多核的百亿亿次级系统上,它们足够频繁,因此需要准备代码以做出适当反应。我相信这些问题已经在关于百亿亿美元路线图的报告中列出。O(108)

我的回忆是,在各种故障模式中,内存或处理器内核的单位翻转不是最重要的问题。相反,这是整个节点崩溃的原因,例如由于磁盘故障,操作系统故障等。因此,当前的亿亿级设计都要求将代码的定期检查点指向闪存RAM,最好在节点外传输检查点数据。如果系统遇到一个节点已消失,则代码将需要能够从先前保存的状态即时重新启动,并用系统中其他位置的热启动节点替换该节点。


听起来正是我所需要的。您有特定的例子吗?
杰弗里·欧文2014年

1
我想看看各种DoE报告中是否有您感兴趣的内容。我想您也知道exascale.org吗?应该有很多可以为您阅读的地方。
Wolfgang Bangerth 2014年

1
权威的百亿分之一吉奥(Geoff)报告由彼得·科格(Peter Kogge)提供,可在线获取。看一下弹性这个词的任何出现。就是说,我可以向您指出NERSC的一些人,他们可能对该机器有更具体的信息。
Aron Ahmadia 2014年

@AronAhmadia:谢谢,该文档看起来很棒。我接受这个答案,因为它应该涵盖更多的我感兴趣的错误的类。
杰弗里·欧文

@沃尔夫冈:这让我想起了我的冷战时期,当时民兵导弹上设置了检查站,因此如果附近发生中子闪光,导致处理器立即关闭,则可以从最近的检查站重新启动。如果它在适当的时间接受检查点,则称为“重新启动保护”。
Mike Dunlavey

9

我猜想,您是从收集DRAM等组件的错误率开始的,就像Google对“野生的DRAM错误:大型现场研究”的这项研究一样,他们发现每年大约有1%的机会得到一个不可纠正的错误。

我不确定这是否是您感兴趣的。我会对无法检测到的错误更感兴趣。无法检测到典型错误检查方法的错误。例如,当您通过光学设备发送数据包时,它们会伴随某种形式的CRC,这使得错误漏失的几率很小。

更新:本白皮书《多核处理器中的在线错误检测和恢复体系结构》讨论了可靠的多核体系结构,但它们也涵盖了系统可靠性的不同方面,并具有参考书目。


很好的学习。它证实了很多直觉,旧的,热的,经常使用的,接近满载的夯是不太可靠的。令我有些惊讶的是,没有任何供应商特定的故障或总体上较差的体系结构。
meawoppl 2014年

3

是否有足够的资源可以估算出所需的数字?

您可以尝试询问正在计算的群集的管理员。我认为,作为他们验证过程的一部分,他们遇到了估计硬件错误可能性的问题。


谢谢!事后看来很明显,但对我而言却没有发生。
杰弗里·欧文

2

听起来很史诗。如果没有人做过这个实验,您可能会考虑运行100k个独立的内核,执行类似的操作,一遍又一遍地刷新sha1输入,看看错误率是多少。(我怀疑这是无法衡量的),但从那里开始,却经常让它们交易哈希链结果,以获取网络错误率。我想这也很小,但我怀疑您可以在几个小时内使用超级集群至少获得几对:)

这种方法可确保每个计算都是正确的,因为哈希对位交换极为敏感,而即使是仅整数的计算,也可能在分支中隐藏错误,即,整个计算不会在每个连续的内存状态上都是椭圆形的。

我一直在努力确保外部集群正确运行代码,该集群的动机是通过提交伪造的结果来作弊。我收敛的解决方案是以某种频率将散列集成到计算中,这使得作弊的效率不及工作。


2
不幸的是,您开采比特币的计划不太可能获得批准。:)
杰弗里·欧文

嘻嘻 确实是工作的证明。:P
meawoppl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.