commit 09bd201ac29eefa71d450726f75135a089093671
parent 15eb640420995da9e9c8f41e90687144c9df9648
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Thu, 2 Nov 2017 10:55:36 +0300
Edit p2.
Diffstat:
2 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org
@@ -2424,6 +2424,20 @@ arma.plot_factory_vs_openmp_overlap(
иерархии, от его IP-адреса, что делает его непригодным для виртуальных сред, где
IP-адрес узла может динамически меняться.
+Единственным предназначением древовидной иерархии состоит в балансировке
+нагрузки между узлами кластера. Нагрузка распределяется от текущего узла к его
+соседям в иерархии путем простой итерации по ним. Когда в иерархии появляются
+новые связи или меняются старые (из-за того что новый узел присоединяется к
+кластеру или работающий узел выходит из строя), резидентные процессы
+обмениваются сообщениями, передавая друг другу количеством узлов, находящихся
+"за" соответсвтующей связью в иерархии. Эта информация используется для
+равномерного распределения нагрузки, даже если распределенная программа
+запускается на подчиненном узле. Кроме того, иерархия уменьшает количество
+одновременных сетевых соединений между узлами: на каждую связь в иерархии
+устанавливается и поддерживается только одно соединение\nbsp{}--- что уменьшает
+вероятность возникновения перегрузки сети при большом количестве узлов в
+кластере.
+
**** Уровень управляющих объектов.
**** Программная реализация.
Из соображений эффективности конвейер объектов и методы обеспечения
diff --git a/arma-thesis.org b/arma-thesis.org
@@ -2280,16 +2280,17 @@ 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
-hierarchy is used to distribute the load from the current node to its neighbours
-by simply iterating over all directly connected daemons. Upon reconfiguration
-due to node failure or due to new node joining the cluster, daemons exchange
-messages telling each other how many daemons are "behind" the corresponding link
-in the hierarchy. This information is used to distribute the load evenly, even
-if a parallel programme is launched on a slave node. In addition, this topology
-reduces the number of simultaneous connections, thus preventing network
-overload.
+The only purpose of tree hierarchy is to balance the load between cluster nodes.
+The load is distributed from the current node to its neighbours in the hierarchy
+by simply iterating over them. When new links appear in the hierarchy or old
+links change (due to new node joining the cluster or due to node failure),
+daemons exchange messages telling each other how many daemons are "behind" the
+corresponding link in the hierarchy. This information is used to distribute the
+load evenly, even if a distributed programme is launched on a slave node. In
+addition, this hierarchy reduces the number of simultaneous network connections
+between nodes: only one network connection is established and maintained for
+each hierarchical link\nbsp{}--- this decreases probability of network
+congestion when there are large number of nodes in the cluster.
Load balancing is implemented as follows. When daemon \(A\) tries to become a
subordinate of daemon \(B\), it sends a message to a corresponding IP address