Аннотация:
В работе рассматриваются проблемы отказоустойчивости параллельных приложений при работе на распределенных вычислительных установках. Увеличение масштабов современных вычислительных систем приводит к увеличению вероятности отказа отдельных элементов системы. В ряде случаев вычислительные алгоритмы, такие как генетические алгоритмы, алгоритмы, использующие метод Монте–Карло и т.п., допускают возможность отказа одного или нескольких элементов. В статье предлагаются методы для реализации таких алгоритмов и обеспечения их работоспособности при условии программных и аппаратных сбоев на вычислительных узлах. В рамках библиотеки С++ T-Sim разработан пример редукционного (монотонного) объекта, а также нескольких альтернативных механизмов перезапуска заданий. Проведены пробные отказоустойчивые реализации алгоритма.
Ключевые слова и фразы:Отказоустойчивость, локальная синхронизация, монотонный объект, распределенные системы, шаблонные классы С++.