arma-thesis

git clone https://git.igankevich.com/arma-thesis.git
Log | Files | Refs | LICENSE

commit a0c1b4a00678e05717dfb1e0442384b95d9a8d59
parent 248293c866bfca2d4a8555978e2e211ba9bd14df
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Mon, 13 Feb 2017 12:44:43 +0300

Sync software implementation.

Diffstat:
phd-diss-ru.org | 28+++++++++++++---------------
phd-diss.org | 15++++++---------
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}