超级计算机正面临日益严峻的弹性问题

译文
服务器 服务器产品
随着大型超级计算机里面的部件数量越来越多,部件出现故障的可能性随之越来越大。由于百亿次计算系统需要种种的额外硬件(这种系统可能由上百万或更多个部件制造而成),系统的可靠性就必须提高100倍,那样才能维持与如今的超级计算机同样的MTBF。

随着超级计算机的功能变得越来越强,它们也变得更容易出现故障,这归因于内置部件的数量越来越多。近日出席在盐湖城举行的SC12超级计算机大会的几名研究人员提出了一些解决方案,有望解决这个日益严峻的问题。

今天的高性能运算(HPC)系统可能拥有10万个或更多的节点,而每个节点都是由内存、处理器、总线及其他电路等多个部件制造而成的。北卡罗来纳州立大学的博士生David Fiala在SC12大会上演讲时表示,从统计数字上来看,所有这些部件必然会在某个时候出现故障;一旦出现了故障,就会导致超级计算机停止运行

当然,这个问题不是什么新问题。美国劳伦斯•利弗莫尔国家实验室拥有600个节点的ASCI(加速战略计算计划)White超级计算机当初在2001年投入使用时,平均无故障时间(MTBF)只有短短的5小时,这在很大程度上归咎于部件故障频出。Fiala表示,后来经过一番调校后,ASCI White的MTBF延长到了55个小时。

但是随着超级计算机节点的数量越来越多,这个问题也会越来越严峻。Fiala说:“这方面必须得采取相应的办法。随着我们跨入到百亿次计算(exascale)时代,这个问题只会更加严峻。”他表示,就计算能力而言,未来十年的超级计算机将是今天的超级计算机的十倍。

Fiala表示,如今处理系统故障的技术和方法可能并不具有很强的扩展性。他以设置检查点(checkpointing)这个方法为例:某个运行中的程序被暂时停止,其状态保存到磁盘上;要是该程序之后崩溃,系统就可以从上一个检查点重启任务。

据Fiala声称,设置检查点这种方法存在的问题是,随着节点数量增多,设置检查点所需的系统开销也随之加大,而且急剧加大。举例说,在一台拥有10万个节点的超级计算机上,只有大约35%的活动与执行作业有关。Fiala估计,其余活动将被设置检查点以及一旦系统出现故障,就会进行的恢复操作所占用。

Fiala表示,由于百亿次计算系统需要种种的额外硬件(这种系统可能由上百万或更多个部件制造而成),系统的可靠性就必须提高100倍,那样才能维持与如今的超级计算机同样的MTBF

Fiala介绍了他和其他研究员共同研发的有助于提高稳定性的技术。这项技术解决了静态数据毁坏问题,这个问题具体是指系统将数据写入到磁盘时,出现了错误,但又没有被检测出来。

从根本上来说,研究人员采用的方法是指,同时运行某个程序的多个副本(或“克隆版”),然后比对答案。名为RedMPI的软件与消息传递接口(MPI)一同运行,后者是个函数库,用于将运行中的应用程序分隔到多台服务器上,那样程序的不同部分就可以并行执行。

RedMPI会拦截并复制应用程序发送的每一个MPI消息,然后将消息副本发送到程序的一个克隆版(或多个克隆版)。如果不同的克隆版计算出不同的答案,那么就会迅速重新计算数字,这样可以节省再次运行整个程序所需的时间和资源。

Fiala说:“实现冗余机制并不需要高昂成本。所需的处理器核心数量可能很多,但是这避免了需要重写操作以及检查点重启操作。当然,另一个办法就是只要重新运行作业,直到你认为获得了正确的答案。”

Fiala建议每个程序做二个备用副本,实现三重冗余机制。虽然运行中的程序做多个副本一开始可能要耗费更多的资源,但是久而久之,它实际上更高效,那是由于程序不需要重新运行就可以检查答案。此外,多个副本在运行时,可能不需要设置检查点,这也有望省下系统资源。

出席会议的加利福尼亚大学圣克鲁兹分校计算机学教授Ethan Miller说:“我认为,确保冗余机制这个想法实际上是个好点子。就非常庞大的计算(涉及成千上万个节点)而言,肯定会出现错误可能悄然发生的情况。”但是他表示,考虑到这类冗余机制可能带来的庞大网络流量,这个方法也许不是很适合。他倒是建议,在同一组节点上运行所有的应用程序,这样有望尽量减少节点与节点之间的通信流量。

在另一场报告会上,伊利诺伊大学厄巴纳-尚佩恩分校的博士生Ana Gainaru则介绍了一种方法:分析日志文件,从而预测系统何时可能出现故障

这种方法把信号分析和数据挖掘结合起来。信号分析用来确定正常行为的特点,那样当故障出现时,就很容易发现故障。数据挖掘则寻找不同的已报告错误之间的关联性。其他研究人员表明,诸多故障有时彼此相互关联;据Gainaru表示,那是由于某一项技术出现的故障可能会影响其他技术的性能。比如说,当网卡出现故障时,很快就会妨碍依靠网络通信的其他系统进程。

研究人员发现,70%的关联故障提供了10多秒的机会窗口。换句话说,发现故障的***个征兆后,系统在更严重的故障出现之前最多有10秒时间来保存其处理的工作,或者将工作转移到另一个节点上。Gainaru说:“可以将故障预测与其他容错技术或方法结合运用。”

责任编辑:路途 来源: 51CTO
相关推荐

2013-01-23 09:59:50

2010-06-22 11:58:30

2020-05-19 10:49:10

网络安全恶意软件技术

2023-03-02 07:49:38

2012-11-12 13:46:56

手机超级计算机

2011-12-28 13:30:36

云计算Amazon超级计算机

2013-04-01 10:51:02

2011-11-17 13:28:35

云计算超级计算机

2021-08-13 16:15:51

僵尸机器人攻击bot攻击网络攻击

2012-02-29 10:02:59

IBM量子计算机超级计算机

2021-06-16 11:13:49

曙光

2010-06-22 13:11:18

超级计算机未来

2013-06-21 09:32:52

Linux超级计算机

2021-04-15 10:57:05

NVIDIA

2014-06-11 09:52:39

2013-04-01 11:07:43

戴尔ARM超级计算机

2016-11-29 07:53:57

科技新闻早报计算机

2011-12-01 10:55:16

超级计算机高性能计算Top500

2015-07-02 09:47:36

超级计算机大数据

2011-03-10 08:59:56

点赞
收藏

51CTO技术栈公众号