<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <fpage>288</fpage>
      <lpage>294</lpage>
      <abstract>
        <p>Рассматривается техника обеспечения отказоустойчивости, основанная на сохранении контрольных точек на локальные устройства хранения. В работе предлагается разделение отказов на два вида: легкие и тяжелые отказы. Для данного разделения отказов получено время оптимального периода сохранения контрольных точек. Для рассмотренных примеров характерно, что в случае среднего времени между отказами менее часа использование средств разделения на легкие и тяжелые отказы позволяет сократить время вычислений более чем на 10%.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Оптимальное сохранение контрольных точек на локальные
устройства хранения*
1. Легкие и тяжелые отказы</p>
      <p>
        Пусть MPI-процессы координированно сохраняют контрольные точки в локальную память,
которой может быть оперативная память, HDD или SSD диск. Тогда, при отказе хотя бы одного
вычислительного узла, MPI-процессы, запущенные на других узлах, не смогут получить доступ
к контрольным точкам, расположенным в локальной памяти отказавшего. Таким образом,
восстановление процесса вычислений будет невозможно. Для выхода из такого положения следует
обеспечить избыточность хранения локальных контрольных точек в системе за счет их
дублирования в памяти различных вычислительных узлов. Такое дублирование может быть
организованно, например, согласно схема сохранение описанной в [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. В рамках данной схемы для
каждого MPI-процесса определяются номера MPI-процессов, в локальную память которых
должны быть сохранены копии исходных контрольных точек.
      </p>
      <p>
        Значение сохранения контрольных точек в локальные устройства хранения отражает
прогноз работ [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]: «… более чем 83% отказов в системах петафлопсного уровня могут быть
восстановлены с использованием локальных контрольных точек, в то время как оставшиеся
17%, включающие сложные ошибки или потерю вычислительного узла, требуют
использования доступной согласованной глобальной контрольной точки».
      </p>
      <p>
        Проведем разделении отказов на легкие и тяжелые, в зависимости от расположения данных
необходимых для восстановления. Данное разделение возможно как для схемы сохранения
контрольных точек представленной в [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], так и для двухуровневой схемы сохранения
контрольных точек [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
 После легкого отказа для восстановления расчетов каждому MPI-процессу достаточно
данных записанных на соответствующем ему локальном устройстве хранения. Отметим, что к
легким отказам, можно отнести, кратковременные сбои, сбои в коммуникационном
оборудовании, которые могут быть решены, например, его перезагрузкой.
 После тяжелого отказа для восстановления расчетов некоторым MPI-процессам
понадобятся данные записанные на недоступных ему локальных устройствах хранения. В этом случае
эти MPI-процессы должны осуществить запрос необходимых данных у соответствующих
MPI-процессов, через стандартный протокол обмена данных. К тяжелым отказам относятся
сбои в локальных устройствах хранения, сбои в центральных процессорах и прочее.
Самая простая и применяемая в практике модель для описания вероятности отказов
механического и электрического оборудования – экспоненциальное распределение [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Для
оборудования должно быть известно – среднее время между отказами, тогда функция
распределения примет вид
Отметим, что среднее время между легкими и тяжелыми отказами будут различаться. Так,
например, средняя продолжительность безотказной работы сокета составляет около 50 лет [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], а
одного процессора около 125 лет [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
2. Оптимизация периода сохранения контрольных точек
      </p>
      <p>
        В работе [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] предложена модель описывающая сохранение контрольных точек по
координированному протоколу, причем контрольные точки сохраняются через одинаковые интервалы,
после того как фиксированная часть работы будет сделана. Отметим, что место сохранения
контрольных точек, распределенная файловая система или локальные устройства хранения,
является не существенным для модели и отражается лишь на значении параметров модели.
      </p>
      <p>
        Приведем описание модели представленной в [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Весь расчет разбит на периоды
продолжительностью , каждый из них включает в себя сохранение контрольной точки
продолжительностью . Для учета асинхронного сохранения контрольных точек, введен параметр ,
. Примем, что на протяжении сохранения контрольной точки длительностью ,
проводятся вычисления в объеме . Таким образом, объем вычислений будет потерян
на организацию сохранения контрольной точки. Значение соответствует сохранению с
блокировкой, а означает, что процесс сохранения выполняется одновременно с
вычислениями.
      </p>
      <p>При возникновении отказа необходимо произвести восстановление системы, а именно,
определение функционирующих элементов системы, перезагрузку некоторых элементов системы,
восстановление параллельной среды выполнения программы и прочее, обозначим – время
необходимое на эти действия. После этого каждый MPI-процесс должен прочитать и
произвести восстановление расчетов из соответствующей части глобальной контрольной точки, что
займет время .</p>
      <p>
        В работе [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] представлен вывод общего времени выполнения приложения. Используя этот
результат, представим общее время выполнения приложения на вычислительной системе, в
которой аппаратные и программные средства позволяют различать и обрабатывать как легкие, так
и тяжелые отказы. Пусть время выполнения параллельного приложения – время без учета
накладных расходов на реализацию методов отказоустойчивости и на обработку самих отказов,
а – общее время выполнения приложения с учетом времени на сохранение контрольных
точек и обработку отказов. Представим как сумму – времени выполнения
приложения с учетом сохранения контрольных точек и – времени потерь на обработку отказов.
      </p>
      <p>Для каждого периода вычисления занимают , а также во время сохранения
контрольной точки выполняется вычисления . То есть общий объем работы в период равен
. Таким образом, получаем зависимость от .</p>
      <p>.</p>
      <p>Пусть средние времена между двумя отказами составляют величины , где
соответствует легкому отказу, соответствует тяжелому отказу. Тогда среднее число отказов
каждого вида во время вычислений равно . Для каждого отказа необходимо учитывать и .
Также надо учитывать время на выполнение работы , которая была уже сделана в процессе
предыдущей итерации сохранения контрольных точек, но не была сохранена в последнюю
контрольную точку.</p>
      <p>Считаем, что с вероятностью</p>
      <p>отказ произойдет во время вычислений (не сохранения
контрольной точки) и потери времени при этом в среднем составят
. А с вероятностью
отказ произойдет во время сохранения контрольной точки и потери времени при этом в
среднем составят</p>
      <p>. Мы пренебрегаем вероятностью того, что отказ произойдет во
время восстановления системы после другого отказа.</p>
      <p>Для каждого отказа потери составят
Таким образом, получаем
Общее время выполнения приложения составит</p>
      <p>Из этого уравнения получаем оптимальное значение для периода сохранения контрольных
точек
(1)
(2)
3. Оценка времени выполнения программ в среде с внедренными
средствами обеспечения отказоустойчивости</p>
      <p>
        Проведем сравнение времени выполнения программы в среде, учитывающей легкие и
тяжелые отказы, и среде с однородными отказами. В работе [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] для случая однородных отказов
приведены следующие формулы
(3)
(4)
Пусть есть две программы и время их выполнения без средств обеспечения
отказоустойчивости составляет 12 и 24 часа. Таким образом, . Согласно работе [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
примем следующие значения параметров: мин, мин.
Время восстановления из контрольных точек после тяжелого отказа примем равным
мин. Аналогично время восстановления для однородных отказов: мин.
Время восстановления из контрольных точек после легкого отказа должно быть меньше,
чем после тяжелого отказа, мы будем рассматривать два значения мин и мин.
Пусть , а среднее время между отказами будет принимать значение от 0.5 часа до 3
часов.
      </p>
      <p>Рис.1. Оценка время выполнения программы в среде поддерживающей обеспечение
отказоустойчивости. Параметры: мин, мин, мин, мин,
Согласно формулам (1-4) вычислим время выполнения программ. Результаты
представлены на рисунках 1 и 2. Из них следует, что использование средств обеспечения
отказоустойчивости, поддерживающих разделение отказов на легкие и тяжелые, позволит существенно
сократить время работы программ особенно для частых отказов. В данной работе рассмотрен
узкий диапазон значений параметров характеризующих вычислительные системы и средства
обеспечения отказоустойчивости. Более подробная оценка значений параметров будущих
вычислительных систем и анализ границ применимости данного подхода является задачей
будущих исследований.</p>
      <p>Рис. 2. Оценка время выполнения программы в среде поддерживающей обеспечение
отказоустойчивости. Параметры: мин, мин, мин, мин,
Заключение</p>
      <p>Для системы позволяющей работать с легкими и тяжелыми отказами и для приложений,
использующих схему сохранения контрольных точек на локальные устройства хранения,
получены формулы полного времени выполнения приложения и времени уходящего на работу с
отказами. Для некоторого диапазона значений параметров роботы вычислительных систем
получено, что использование средств обеспечения отказоустойчивости, поддерживающих работу с
легкими и тяжелыми отказами, позволит существенно сократить время работы приложения.
Для рассмотренных примеров характерно, что в случае среднего времени между отказами
менее часа использование средств разделения на легкие и тяжелые отказы позволяет сократить
время вычислений более чем на 10%.</p>
      <p>Основным направлением дальнейших исследований является определение границ
применимости техники сохранения контрольных точек на локальные устройства хранения
экзафлопсных вычислительных систем. Подобные оценки границ применимости метода, позволят
выявить необходимость или отсутствие таковой в развитии рассматриваемого метода и
разработки аппаратных и программных средств позволяющих его реализовать.
Литература
Optimal checkpointing to the local storage device
Aleksey Bondarenko and Mikhail Iakobovski
We consider the fault tolerance technique based on saving checkpoint files on the local node.
We are proposing a division of failures into two kinds: light and heavy failures. For this
separation we obtain the optimal checkpoint interval. Examples show that if MTBF is less
than an hour then tools working with light and heavy failures reduce the computation time by
more than 10%.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Elnozahy</surname>
            <given-names>E. N. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alvisi</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang Y.-M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Johnson D. B</surname>
          </string-name>
          .
          <article-title>A survey of rollback-recovery protocols in message-passing systems</article-title>
          .
          <source>ACM Comput. Surv</source>
          .
          <year>2002</year>
          . Vol.
          <volume>34</volume>
          , No 3,
          <string-name>
            <surname>P.</surname>
          </string-name>
          375-
          <fpage>408</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kogge P.M. ExaScale Computing Study</surname>
          </string-name>
          :
          <source>Technology Challenges in Achieving Exascale Systems - Tech. Report TR-2008-13</source>
          . - Univ. of Notre Dame,
          <string-name>
            <given-names>CSE</given-names>
            <surname>Dept</surname>
          </string-name>
          .
          <article-title>-</article-title>
          <year>2008</year>
          . / P.M.
          <string-name>
            <surname>Kogge</surname>
          </string-name>
          , et al. URL: http://www.cse.nd.edu/Reports/2008/TR-2008
          <source>-13.pdf (accessed: 25.07</source>
          .
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Elnozahy</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plank</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Checkpointing for Petascale systems: a look into the future of practical rollback-recovery. Dependable and Secure Computing, IEEE Transactions on 1, 2</article-title>
          . Apr.
          <year>2004</year>
          , P.
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Oldfield</surname>
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arunagiri</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teller</surname>
            <given-names>P. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seelam</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varela</surname>
            <given-names>M. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riesen</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roth P.C.</surname>
          </string-name>
          <article-title>Modeling the impact of checkpoints on next-generation systems</article-title>
          .
          <source>In 24th IEEE Conference on Mass Storage Systems and Technologies. Sept</source>
          .
          <year>2007</year>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Schroeder</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gibson</surname>
            <given-names>G. A.</given-names>
          </string-name>
          <article-title>Understanding failures in petascale computers</article-title>
          .
          <source>Journal of Physics: Conference Series</source>
          .
          <year>2007</year>
          . Vol.
          <volume>78</volume>
          , No 1.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Fault Tolerance Research Hub [Электронный ресурс] Режим доступа: http://faulttolerance.org/ulfm/ulfm-specification
          <source>(дата обращения: 1</source>
          .
          <fpage>06</fpage>
          .
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Fault Tolerance Research Hub [Электронный ресурс] Режим доступа: http://faulttolerance.org/
          <year>2014</year>
          /11/15/tutorial-sc14
          <string-name>
            <surname>-</surname>
          </string-name>
          fault
          <article-title>-tolerance-for-hpc-theory-and-practice/ (дата обра-</article-title>
          <source>щения: 1</source>
          .
          <fpage>06</fpage>
          .
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Бондаренко</surname>
          </string-name>
          , А.А.
          <article-title>Якобовский М</article-title>
          .В.
          <article-title>Обеспечение отказоустойчивости высокопроизводи- тельных вычислений с помощью локальных контрольных точек // Вестник Южно- Уральского государственного университета</article-title>
          .
          <source>Серия «Вычислительная математика и инфор- матика»</source>
          .
          <year>2014</year>
          . Том.
          <volume>3</volume>
          , No. 3. С.
          <volume>20</volume>
          -
          <fpage>36</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dong</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muralimanohar</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jouppi</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xie</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <article-title>A Case Study of Incremental and Background Hybrid In-Memory Checkpointing // Proceedings of the 2010 Exascale Evaluation</article-title>
          and Research Techniques Workshop (Pittsburgh, PA,
          <source>USA March 13 - 14</source>
          ,
          <year>2010</year>
          ), ACM,
          <year>2010</year>
          . P.
          <volume>119</volume>
          -
          <fpage>147</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dong</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muralimanohar</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jouppi</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaufmann</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xie</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <article-title>Leveraging 3D PCRAM technologies to reduce checkpoint overhead for future exscale systems //</article-title>
          <source>Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis (Portland, Oregon USA November 14-20</source>
          ,
          <year>2009</year>
          ). ACM,
          <year>2009</year>
          . P.
          <volume>57</volume>
          -
          <fpage>68</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Vaidya</surname>
            ,
            <given-names>N.H.</given-names>
          </string-name>
          <article-title>A Case for Two-Level Distributed Recovery Schemes //</article-title>
          <source>Proceedings of the ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems</source>
          (Ottawa, Canada, May
          <volume>15</volume>
          -19
          <year>1995</year>
          ) ACM,
          <year>1995</year>
          . P.
          <volume>64</volume>
          -
          <fpage>73</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Dongarra J. Herault T. Robert</surname>
            <given-names>Y.</given-names>
          </string-name>
          <article-title>Fault tolerance techniques for high-performance computing</article-title>
          . http://www.netlib.org/lapack/lawnspdf/lawn289.pdf (дата
          <source>обращения: 1</source>
          .
          <fpage>06</fpage>
          .
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ferreira</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stearley</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laros</surname>
            <given-names>J. H. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oldfield</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedretti</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brightwell</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riesen</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bridges</surname>
            <given-names>P. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arnold</surname>
            <given-names>D..</given-names>
          </string-name>
          <article-title>Evaluating the Viability of Process Replication Reliability for Exascale Systems</article-title>
          .
          <source>In Proc. of the ACM/IEEE SC Conf.</source>
          ,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Aupy</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benoit</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herault</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robert</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dongarra</surname>
            <given-names>J</given-names>
          </string-name>
          . Optimal Checkpointing Period:
          <article-title>Time vs</article-title>
          .
          <source>Energy // High Performance Computing Systems. Performance Modeling, Benchmarking and Simulation: 4th International Workshop</source>
          , PMBS 2013, November 18,
          <year>2013</year>
          , Denver, CO, USA, Proceedings. Springer.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>