Car-tech

今天的技术对于处理系统故障可能不会很好,Fiala说。他引用了检查点,其中一个正在运行的程序暂时停止,并且其状态被保存到磁盘。如果程序崩溃,系统可以从最后一个检查点重新启动作业

目录:

Anonim

根据Fiala的说法,检查点的问题在于随着节点数量的增加,系统开销检查点的需求也在增长 - 并以指数速度增长。例如,在一个100,000节点的超级计算机中,只有大约35%的活动将参与工作。 Fiala估计,由于Exascale系统需要额外的硬件(可能由百万或更多组件构建),所以系统可靠性将会有所提高。 Fiala表示,为了保持与现在的超级计算机一样的平均无故障时间(MTBF),它可以提高100倍。

Fiala提出的技术是他和其他研究人员开发的可以帮助提高可靠性的技术。 。该技术解决了当系统未发现错误将数据写入磁盘时无声数据损坏的问题。

基本上,研究人员的方法包括同时运行多个副本或程序的“克隆”,然后比较答案。名为RedMPI的软件与消息传递接口(MPI)一起运行,该接口是一个用于在多个服务器之间分割运行应用程序的库,因此可以并行执行程序的不同部分。

RedMPI拦截并复制每个MPI应用程序发送的消息,并将消息的副本发送给程序的克隆(或克隆)。如果不同的克隆计算出不同的答案,那么可以即时重新计算这些数字,这将节省重新运行整个程序所需的时间和资源。“实施冗余并不昂贵,它的核心数量可能很高这是需要的,但它避免了重新启动检查点的重写需求,“Fiala说。 “当然,另一种方法是重新运行工作,直到您认为自己的答案正确。”

Fiala建议运行每个程序的两个备份副本,以实现三重冗余。尽管运行一个程序的多个副本最初会占用更多的资源,但随着时间的推移,它实际上可能会更有效率,因为程序不需要重新运行来检查答案。另外,运行多个副本时可能不需要点校验,这还可以节省系统资源。

UCSCE和Miller

“我认为做冗余的想法实际上是一个好主意,对于非常大的计算,涉及数十万个节点,肯定有可能会出现错误,”Ethan Miller说。加州大学圣克鲁兹分校的计算机科学教授参加了演讲。但他表示,考虑到这种冗余可能产生的网络流量,这种方法可能不适合。他建议在同一组节点上运行所有应用程序,这样可以尽量减少节点间的流量。

在另一个演示中,来自伊利诺伊大学厄巴纳 - 香槟分校的博士生Anaunaaru介绍了一种分析日志文件来预测何时会发生系统故障

该工作将信号分析与数据挖掘相结合。信号分析用于表征正常行为,所以当发生故障时,它很容易被发现。数据挖掘查找单独报告的故障之间的相关性。其他研究人员已经表明,多重失败有时是相互关联的,因为一种技术的失败可能会影响其他人的表现,根据Gainaru的说法。例如,当网卡出现故障时,它很快就会瘫痪其他依靠网络通信的系统进程。研究人员发现,70%的相关故障提供了超过10秒钟的机会窗口。换句话说,当检测到故障的第一个符号时,在发生更严重故障之前,系统可能有10秒时间来保存其工作,或将工作移至另一个节点。 “失败预测可以与其他容错技术相结合,”Gainaru说,“

Joab Jackson涵盖了

IDG新闻服务

的企业软件和通用技术突发新闻。在@Joab_Jackson的Twitter上关注Joab。 Joab的电子邮件地址是[email protected]