arma-thesis

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

commit 15eb640420995da9e9c8f41e90687144c9df9648
parent b4350a568951955f33f7fd9b3be36622cc6c27e4
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Thu,  2 Nov 2017 10:36:16 +0300

Edit p1.

Diffstat:
arma-thesis-ru.org | 23+++++++++++++++++++++--
arma-thesis.org | 30++++++++++++++++++------------
2 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2404,7 +2404,26 @@ arma.plot_factory_vs_openmp_overlap( ** Отказоустойчивый планировщик пакетных задач *** Архитектура системы **** Физический уровень. +Состоит из узлов и прямых/маршрутизируемых физических сетевых соединений. На +этом уровне предполагается полная сетевая связность, т.е.\nbsp{}возможность +отправить сетевой пакет между любой парой узлов кластера. + **** Уровень резидентных процессов. +Состоит из процессов, находящихся на узлах кластера и иерархических логических +связей (главный/подчиненный) между ними. На каждом узле запущен ровно один +процесс, поэтому эти понятия взаимозаменяемы в данной работе. Роль главного и +подчиненного назначается резидентным процессам динамически, т.е.\nbsp{}любой +физический узел может стать главным или подчиненным, или быть и тем и другим +одновремено. Динамический выбор ролей использует алгоритм выбора лидера, не +требующий периодической отправки широковещательных сообщений всем узлам +кластера, вместо этого роль определяется IP-адресом узла. Подробное описание +алгоритма приведено в разд.\nbsp{}[[#sec-node-discovery]]. Его сильными сторонами +являются масштабируемость на большое количество узлов и низкие накладные +расходы, что делает его пригодным для высокопроизводительных вычислений; его +слабой стороной является искусственная зависимость места, занимаего узлом в +иерархии, от его IP-адреса, что делает его непригодным для виртуальных сред, где +IP-адрес узла может динамически меняться. + **** Уровень управляющих объектов. **** Программная реализация. Из соображений эффективности конвейер объектов и методы обеспечения @@ -2878,7 +2897,7 @@ Parallel)\nbsp{}cite:valiant1990bridging, применяемой в систем *** Алгоритм обнаружения узлов кластера :PROPERTIES: -:CUSTOM_ID: sec:node-discovery +:CUSTOM_ID: sec-node-discovery :END: **** Алгоритмы выбора лидера. @@ -3341,7 +3360,7 @@ Keepalived\nbsp{}cite:cassen2002keepalived. **** Иерархия управляющих объектов. Для распределения нагрузки узлы кластера объединяются в древовидную иерархию -(см.\nbsp{}раздел [[#sec:node-discovery]]), и нагрузка распределяется между +(см.\nbsp{}раздел [[#sec-node-discovery]]), и нагрузка распределяется между непосредственными соседями узла, так что при запуске управляющего объекта на подчиненном узле главный узел также получают часть его подчиненных объектов. Это делает систему симметричной и легкой в обслуживании: на каждом узле установлен diff --git a/arma-thesis.org b/arma-thesis.org @@ -2262,21 +2262,23 @@ consume much more time. *** System architecture **** Physical layer. Consists of nodes and direct/routed physical network links. On this layer full -network connectivity, i.e. an ability to send packet from one cluster node to -any other, is assumed. +network connectivity, i.e.\nbsp{}an ability to send network packet between any +pair of cluster nodes. **** Daemon process layer. Consists of daemon processes residing on cluster nodes and hierarchical -(master/slave) logical links between them. Master and slave roles are -dynamically assigned to daemon processes, i.e.~any physical cluster node may -become a master or a slave. Dynamic reassignment uses leader election algorithm -that does not require periodic broadcasting of messages, and the role is derived -from node's IP address. Detailed explanation of the algorithm is provided -in\nbsp{}[[#sec:node-discovery]]. Its strengths are scalability to a large number of -nodes and low overhead, which are essential for large-scale high-performance -computations, and its weakness is in artificial dependence of node's position in -the hierarchy on its IP address, which may not desirable in virtual -environments, where nodes' IP addresses may change without a notice. +(master/slave) logical links between them. Only one daemon process is launched +per node, so these terms are use interchangeably in this work. Master and slave +roles are dynamically assigned to daemon processes, i.e.\nbsp{}any physical +cluster node may become a master or a slave, or both simultaneously. Dynamic +reassignment uses leader election algorithm that does not require periodic +broadcasting of messages to all cluster nodes, instead the role is determined by +node's IP address. Detailed explanation of the algorithm is provided +in\nbsp{}[[#sec-node-discovery]]. Its strengths are scalability to a large number of +nodes and low overhead, which makes it suitable for large-scale high-performance +computations; its weakness is in artificial dependence of node's position in the +hierarchy on its IP address, which makes it unsuitable for virtual environments, +where nodes' IP addresses may change dynamically. The only purpose of tree hierarchy is to provide load balancing and automatically reconfigurable logical tree hierarchy of cluster nodes. This @@ -2787,6 +2789,10 @@ which maximises efficiency of a programme. So, control flow objects (or kernels) possess properties of both cooperative routines and event handlers. *** Cluster node discovery algorithm +:PROPERTIES: +:CUSTOM_ID: sec-node-discovery +:END: + **** Leader election algorithms. Many batch job scheduling systems are built on the principle of /subordination/: there is principal node in each cluster which manages job queue, schedules job