Skip to main content
QUICK REVIEW

[论文解读] A Problem-Specific Fault-Tolerance Mechanism for Asynchronous, Distributed Systems

Adriana Iamnitchi, Ian Foster|ArXiv.org|Mar 12, 2000
Distributed systems and fault tolerance参考文献 23被引用 8
一句话总结

本文提出了一种针对异步、分布式分支限界算法在不可靠、机会性网络上运行的问题特定容错机制。通过利用问题空间的树状结构,并使用流行病式通信进行成员管理和故障恢复,该算法即使在除一个资源外所有资源均失效的情况下也能确保正确性和终止性,通过完全去中心化和低开销的故障检测实现可扩展性。

ABSTRACT

The idle computers on a local area, campus area, or even wide area network represent a significant computational resource---one that is, however, also unreliable, heterogeneous, and opportunistic. This type of resource has been used effectively for embarrassingly parallel problems but not for more tightly coupled problems. We describe an algorithm that allows branch-and-bound problems to be solved in such environments. In designing this algorithm, we faced two challenges: (1) scalability, to effectively exploit the variably sized pools of resources available, and (2) fault tolerance, to ensure the reliability of services. We achieve scalability through a fully decentralized algorithm, by using a membership protocol for managing dynamically available resources. However, this fully decentralized design makes achieving reliability even more challenging. We guarantee fault tolerance in the sense that the loss of up to all but one resource will not affect the quality of the solution. For propagating information efficiently, we use epidemic communication for both the membership protocol and the fault-tolerance mechanism. We have developed a simulation framework that allows us to evaluate design alternatives. Results obtained in this framework suggest that our techniques can execute scalably and reliably.

研究动机与目标

  • 在互联网等不可靠、异构且机会性的分布式环境中,实现紧密耦合的分支限界问题的可靠执行。
  • 解决在资源可用性动态变化的完全去中心化系统中可扩展性与容错性的双重挑战。
  • 设计一种容错机制,即使除一个处理器外所有处理器均失效,也能保证解的正确性,利用问题空间的固有结构。
  • 开发一个仿真框架,用于在不同网络和故障条件下评估算法的性能。

提出的方法

  • 设计了一种完全去中心化的分支限界算法,可在无需中心协调的情况下跨动态可用、不可靠资源扩展。
  • 使用流行病式通信实现组成员管理与容错传播,实现高效且鲁棒的信息分发。
  • 通过定期的工作报告检测故障,并通过将丢失的子问题重新分配给存活节点来实现故障恢复。
  • 通过监控所有展开的子问题是否完成来实现终止检测,确保输出正确且最终。
  • 基于MPE和clog日志文件的仿真框架支持运行时性能分析和行为可视化,使用Jumpshot工具。
  • 该算法采用问题特定的恢复策略,利用搜索空间的树状结构避免冗余计算并确保正确性。

实验结果

研究问题

  • RQ1在资源不可靠且动态变化的完全去中心化、异步分布式系统中,如何实现容错?
  • RQ2问题特定的容错机制在效率和简洁性方面,相较于通用中间件容错机制,能有多大程度的性能优势?
  • RQ3流行病式通信如何在大规模、机会性计算环境中支持可扩展且可靠的成员管理与故障检测?
  • RQ4网络特性与故障模式对所提容错机制性能和开销有何影响?
  • RQ5在高故障率下,该算法能否在保证正确性的前提下维持良好的负载均衡和低通信成本?

主要发现

  • 通过确保即使除一个资源外所有资源失效,系统仍能产生正确解,该算法实现了容错,同时保持了解的质量。
  • 通信开销保持合理,100个处理器仅需43 MB存储空间,表明存储开销较低。
  • 尽管未进行优化,仿真中性能依然良好,初始测试中未观察到冗余计算的显著增加。
  • 随着处理器数量增加,每个处理器发送的工作报告数量因空闲时间变长而增加,但并未严重降低性能。
  • 问题粒度越粗,负载均衡效果越好,但因固定间隔的工作报告导致通信量增加。
  • 仿真结果表明,基于运行时指标(如每个子问题的执行时间)自适应调整消息频率,可进一步提升可扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。