commit a0c1b4a00678e05717dfb1e0442384b95d9a8d59
parent 248293c866bfca2d4a8555978e2e211ba9bd14df
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Mon, 13 Feb 2017 12:44:43 +0300
Sync software implementation.
Diffstat:
2 files changed, 19 insertions(+), 24 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -2630,15 +2630,15 @@ digraph {
подчиненного узла, отказ главного узла и отказ одновременно всех узлов
(отключение электричества). Для того чтобы запущенная на кластере задача могла
продолжиться после отказа подчиненного узла, для нее периодически создаются и
-записываются в надежное хранилище контрольные точки восстановления. При
-создании контрольной точки все параллельные процессы задачи временно
-останавливаются, образ памяти, выделенной операционной системой для процессов
-задачи копируется на диск, и выполнение задачи продолжается в нормальном
-режиме. Для того чтобы отказ главного узла не повлиял на работу кластера,
-состояние сервисов, запущенных на нем, непрерывно копируется на резервный узел,
-который становится главным при отказе. При незапланированном отключении
-электричества состояние всех запущенных на момент отказа задач
-восстанавливается из контрольных точек восстановления.
+записываются в надежное хранилище контрольные точки восстановления. При создании
+контрольной точки все параллельные процессы задачи временно останавливаются,
+образ памяти, выделенной операционной системой для процессов задачи копируется
+на диск, и выполнение задачи продолжается в нормальном режиме. Для того чтобы
+отказ главного узла не повлиял на работу кластера, состояние сервисов,
+запущенных на нем, непрерывно копируется на резервный узел, который становится
+главным при отказе. При незапланированном отключении электричества состояние
+всех запущенных на момент отказа задач восстанавливается из контрольных точек
+восстановления.
Оптимизации работы контрольных точек восстановления посвящено большое
количество работ cite:egwutuoha2013survey, а альтернативным подходам
@@ -2784,12 +2784,9 @@ $\mathbb{O}$. Поскольку вызов функции может пород
**** Программная реализация.
Из соображений эффективности методы обеспечения отказоустойчивости были
реализованы во фреймворке на языке C++: с точки зрения автора язык C слишком
-низкоуровневый для написания распределенных программ, а использование языка
-Java влечет за собой накладные расходы, и не популярно в высокопроизводительных
-вычислениях. Для того чтобы использовать фреймворка без планировщика задач
-необходимо создать сервис, который бы автоматически обновлял состояние
-древовидной иерархии узлов и предоставлял программный интерфейс для запуска
-задач на ней. На данный момент фреймворк запускает сервис и приложение в одном
+низкоуровневый для написания распределенных программ, а использование языка Java
+влечет за собой накладные расходы, и не популярно в высокопроизводительных
+вычислениях. На данный момент фреймворк запускает сервис и приложение в одном
процессе. Фреймворк называется "Фабрика" и находится на этапе проверки
концепции.
@@ -3034,6 +3031,7 @@ Org-mode cite:Schulte2011org2,Schulte2011org1,Dominik2010org для GNU Emacs,
- <<<BLAS>>> :: Basic Linear Algebra Sub-programmes.
- <<<LAPACK>>> :: Linear Algebra Package.
- <<<DNS>>> :: Dynamic name resolution.
+- <<<HPC>>> :: High-performance computing.
#+begin_export latex
\input{postamble}
diff --git a/phd-diss.org b/phd-diss.org
@@ -2580,9 +2580,7 @@ To summarise, the framework developed in this paper protects a parallel
programme from failure of any number of subordinate nodes and from one failure
of a master node per superstep. The paper does not answer the question of how to
determine if a node failed, it assumes a failure when the network connection to
-a node is prematurely closed. In general, the presented research goes in line
-with further development of the virtual supercomputer concept coined and
-evaluated in cite:vsc-csit2013,vsc-iccsa2014,vsc-nova.
+a node is prematurely closed.
**** Pipelining.
To infer fault tolerance model which is suitable for big data applications we
@@ -2757,15 +2755,13 @@ checkpoints. The advantage is that they
is low,
- they save only relevant data,
- and they use memory of a subordinate node instead of stable storage.
-**** Implementation.
+**** Software implementation.
For efficiency reasons fault tolerance techniques described above are
implemented in the C++ framework: From the authors' perspective C language is
deemed low-level for distributed programmes, and Java incurs too much overhead
-and is not popular in HPC community. To use the framework without a job
-scheduler, we need to implement a daemon that maintains the state of the
-hierarchy of nodes and exposes API to interact with it. As of now, the framework
-runs in the same process as an parallel application that uses it. The framework
-is called Factory, it is now in proof-of-concept development stage.
+and is not popular in HPC community. As of now, the framework runs in the same
+process as an parallel application that uses it. The framework is called
+Factory, it is now in proof-of-concept development stage.
**** Evaluation.
Factory framework is evaluated on physical cluster (Table [[tab:cluster]]) on
@@ -2992,6 +2988,7 @@ repository[fn:repo], installing Emacs and exporting the document.
- <<<BLAS>>> :: Basic Linear Algebra Sub-programmes.
- <<<LAPACK>>> :: Linear Algebra Package.
- <<<DNS>>> :: Dynamic name resolution.
+- <<<HPC>>> :: High-performance computing.
#+begin_export latex
\input{postamble}