arma-thesis

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

commit 4b6c01ce1e3f6925bee6ba91b87719b870bff1ec
parent 50e7c760e065e8e30682ee5d0e66557eee5c9c10
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Fri, 17 Nov 2017 10:28:49 +0300

Edit fault tolerance (end).

Diffstat:
arma-thesis-ru.org | 16++++++++--------
arma-thesis.org | 44++++++++++++++++++++++----------------------
2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -3757,13 +3757,13 @@ title(xlab="Размер взволнованной поверхности", yla объектов совместно с иерархией узлов позволяет автоматически пересчитывать завершившиеся некорректно подчиненные объекты на выживших узлах кластера в случае выхода из строя оборудования. Это возможно, поскольку ход выполнения -программы сохраняется в каждом объекте, а не в глобальных переменных, как это -делается в программах MPI. Дублируя состояние на подчиненные узлы, система -пересчитывает только объекты из поврежденных процессов, а не программу целиком. -Таким образом, переход от процессов к управляющим объектам может увеличить -производительность параллельной программы путем динамической балансировки -нагрузки, но также может повлиять на ее масштабируемость на большое количество -узлов из-за дублирования состояния хода выполнения. +программы сохраняется в объектах, а не в глобальных переменных, как это делается +в программах MPI. Дублируя состояние на подчиненные узлы, система пересчитывает +только объекты из поврежденных процессов, а не программу целиком. Переход от +процессов к управляющим объектам увеличивает производительность параллельной +программы посредством динамической балансировки нагрузки, но также может +повлиять на ее масштабируемость на большое количество узлов из-за дублирования +состояния хода выполнения. Разбиение программы на отдельные сущности применяется во фреймворке Charm++\nbsp{}cite:kale2012charm и в модели @@ -3786,7 +3786,7 @@ Charm++\nbsp{}cite:kale2012charm и в модели невозможно обрабатывать управляющие объекты асинхронно и реализовать динамическую балансировку нагрузки. Эти три сущности образуют замкнутую систему, в которой логика программы реализуется либо в управляющих объектах, либо в -конвейерах, логика восстановления после сбоев в иерархия объектов, а логика +конвейерах, логика восстановления после сбоев в иерархии объектов, а логика передачи данных в иерархии узлов кластера. ** Реализация для систем с распределенной памятью (MPP) diff --git a/arma-thesis.org b/arma-thesis.org @@ -3575,28 +3575,28 @@ failures builds. In comparison to MPI the proposed approach uses lightweight control flow objects instead of heavy-weight processes to decompose the programme into individual entities. First, this allows to determine the number of entities computed in -parallel by the problem being solved, not the computer or cluster architecture. -A programmer is encouraged to create as many objects as needed, guided by the -algorithm or restrictions on the size of data structures from the problem -domain. In sea wave simulation programme the minimal size of each wavy surface -part depends on the number of coefficients along each dimension, and at the same -time the number of parts should be larger than the number of processors to make -the load on each processor more even. Considering these limits the optimal part -size is determined at runtime, and, in general, is not equal the number of -parallel processes. The disadvantage is that the more control flow objects there -are in the programme, the more shared data structures (e.g.\nbsp{}coefficients) -are copied to the same node with subordinate objects; this problem is solved by -introducing another intermediate layer of objects, which in turn adds more -complexity to the programme. Second, hierarchy of control flow objects together -with hierarchy of nodes allows for automatic recomputation of failed objects on -surviving nodes in an event of hardware failures. It is possible because the -state of the programme execution is stored in each object and not in global -variables like in MPI programmes. By duplicating the state to a subordinate -nodes, the system recomputes only objects from affected processes instead of the -whole programme. So, transition from processes to control flow objects may -increase performance of a parallel programme via dynamic load balancing, but -inhibit its scalability for a large number of nodes and large amount of shared -structures due to duplication of these structures. +parallel based on the problem being solved, not the computer or cluster +architecture. A programmer is encouraged to create as many objects as needed, +guided by the algorithm or restrictions on the size of data structures from the +problem domain. In sea wave simulation programme the minimal size of each wavy +surface part depends on the number of coefficients along each dimension, and at +the same time the number of parts should be larger than the number of processors +to make the load on each processor more even. Considering these limits the +optimal part size is determined at runtime, and, in general, is not equal the +number of parallel processes. The disadvantage is that the more control flow +objects there are in the programme, the more shared data structures +(e.g.\nbsp{}coefficients) are copied to the same node with subordinate objects; +this problem is solved by introducing another intermediate layer of objects, +which in turn adds more complexity to the programme. Second, hierarchy of +control flow objects together with hierarchy of nodes allows for automatic +recomputation of failed objects on surviving nodes in an event of hardware +failure. It is possible because the state of the programme execution is stored +in objects and not in global variables like in MPI programmes. By duplicating +the state to a subordinate node, the system recomputes only objects from +affected processes instead of the whole programme. Transition from processes to +control flow objects increases performance of a parallel programme via dynamic +load balancing, but may inhibit its scalability for a large number of nodes and +large amount of shared structures due to duplication of these structures. Decomposing parallel programme into individual entities is done in Charm++ framework\nbsp{}cite:kale2012charm (with load