arma-thesis

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

commit a56c76fdea86fe2bef1a86b6dbfceba2f4f754d1
parent 152540a123b2b0c0a26a8251e2059ad1d3dd9ed6
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Mon,  6 Feb 2017 18:14:06 +0300

Sync discovery.

Diffstat:
phd-diss-ru.org | 42++++++++++++++++++++++--------------------
phd-diss.org | 58++++++++++++++++++++++------------------------------------
2 files changed, 44 insertions(+), 56 deletions(-)

diff --git a/phd-diss-ru.org b/phd-diss-ru.org @@ -2558,28 +2558,30 @@ IP-адреса: замена отображения IP-адресов на чт неэффективного сканирования всей сети каждым узлом не происходит. **** Результаты тестирования. -Платформа, на которой осуществлялось тестирование, состоит из одного -многопроцессорного узла, на котором развертывается виртуальный кластер из -заданного количества узлов с помощью пространств имен Linux. Похожий подход +Платформа, на которой осуществлялось тестирование, представляла собой несколько +многоядерных узлов, поверх которых с помощью пространств имен Linux +развертывался виртуальный кластер из заданного количества узлов. Похожий подход используется в cite:lantz2010network,handigol2012reproducible,heller2013reproducible, где -обосновывается целесообразность его применения для проведения экспериментов на -виртуальных кластерах и сопоставляются результаты некоторых из них с реальными -кластерами. Преимуществом данного подхода является низкие требования к -оборудованию, на котором проводятся эксперименты, а также отсутствие влияния -внешних процессов, выполняющихся параллельно с экспериментами. - -Тестирование производительности заключалось в построении графика зависимости -времени, затрачиваемого на объединение узлов в кластер, от количества узлов. В -процессе эксперимента любое изменение иерархии записывалось в файл и по -прошествии 30 сек. все процессы вынужденно останавливались системой. Пробные -запуски показали, что одновременный запуск более 100 виртуальных узлов искажал -результаты, поэтому для этого эксперимента были использованы дополнительные -физические узлы, на каждом из которых создавалось по 100 виртуальных. -Эксперимент показал, что объединение от 100 до 400 узлов в кластер занимает в -среднем 1,5 секунды (см. [[fig:bootstrap-local]]). Для полностью физического -кластера это значение может увеличиться. Пример древовидной иерархии, полученной -при запуске на 11 узлах представлен на [[fig:tree-hierarchy-11]]. +авторы воспроизводят разнообразные практические эксперименты на виртуальных +кластерах и сопоставляют результаты с физическими. Преимущество данного подхода +заключается в возможности проведения экспериментов на больших виртуальных +кластерах, используя сравнительно небольшое количество физических узлов. Данный +подход использовался для тестирования алгоритма обнаружения узлов кластера, +потому что этот алгоритм обладает низкими требованиями к ресурсам системы +(процессорному времени и пропускной способности сети). + +Производительность алгоритма была протестирована путем измерения времени +необходимого для обнаружения всеми узлами кластера друг друга. Каждое изменение +иерархии (с точки зрения каждого из узлов) записывалось в файл, и по прошествии +30 секунд все процессы (каждый из которых моделирует один узел кластера) были +вынужденно завершены. Пробные запуски показали, что одновременный запуск более +100 виртуальных узлов искажал результаты, поэтому для этого эксперимента были +использованы дополнительные физические узлы, на каждом из которых запускалось по +100 виртуальных. Эксперимент показал, что обнаружение 100--400 узлами друг друга +занимает в среднем 1,5 секунды, и это значение ненамного увеличивается с ростом +количества узлов (см. [[fig:bootstrap-local]]). Пример древовидной иерархии для 11 +узлов с ветвлением равным 2 представлен на [[fig:tree-hierarchy-11]]. #+name: fig:bootstrap-local #+caption: Зависимость времени объединения узлов в кластер от их количества. diff --git a/phd-diss.org b/phd-diss.org @@ -2400,42 +2400,28 @@ contiguous addresses network IP address range, each node connects to its principal only, and inefficient scan of all network by each node does not occur. **** Evaluation results. -Test platform consisted of a multi-processor node, and Linux network namespaces -were used to consolidate virtual cluster of varying number of nodes on a -physical node. Similar approach was used in a number of works -cite:lantz2010network,handigol2012reproducible,heller2013reproducible. The -advantage of it is that the tests can be performed on a single machine, and -there is no need to use physical cluster. Tests were repeated multiple times to -reduce influences of processes running in background. Each subsequent test run -was separated from previous one with a delay to give operating system time to -release resources, cleanup files and flush buffers. - -Performance test was designed to compare subordination tree build time for two -cases. In the first case each node performed full network scan to determine -online nodes, choose the leader, and then sent confirmation message to it. In -the second case each node used IP mapping to determine the leader without full -network scan, and then sent confirmation message to it. So, this test measured -the effect of using IP mapping, and only one leader was chosen for all nodes. - -Subordination tree test was designed to check that resulting trees for different -maximal number of subordinate nodes are stable. For that purpose every change in -a tree topology was recorded in a log file, and after 30 seconds every test run -was forcibly stopped. The test was performed for 100-500 nodes. For this test -additional physical nodes were used to accommodate large number of parallel -processes (one node per 100 processes). - -Performance test showed that using IP mapping can speed up subordination tree -build time by up to 200\% for 40 nodes (Fig. [[fig:discovery]]), and this -number increases with the number of nodes. This is expected behaviour since -overhead of sending messages to each node is omitted, and predefined mapping is -used to find the leader. So, our approach is more efficient than full scan of a -network. The absolute time of this test is expected to increase when executed on -real network, and thus performance may increase. - -Subordination tree test showed that for each number of nodes stable state can be -reached well before 30 seconds (Figure [[fig:bootstrap-local]]). The absolute time of -this test may increase when executed on real network. Resulting subordination -tree for 11 nodes is presented in Fig. [[fig:tree-hierarchy-11]]. +Test platform consisted of several multi-core nodes, on top of which virtual +clusters with varying number of nodes were deployed using Linux network +namespaces. Similar approach is used in +cite:lantz2010network,handigol2012reproducible,heller2013reproducible where the +authors reproduce various real-world experiments using virtual clusters and +compare results to physical ones. The advantage of it is that the tests can be +performed on a large virtual cluster using relatively small number of physical +nodes. This approach was used to evaluate node discovery algorithm, because the +algorithm has low requirement for system resources (processor time and network +throughput). + +Performance of the algorithm was evaluated by measuring time needed to all nodes +of the cluster to discover each other. Each change of the hierarchy (as seen by +each node) was written to a file and after 30 seconds all the processes (each of +which models cluster node) were forcibly terminated. Test runs showed that +running more than 100 virtual nodes on one physical node simultaneously warp the +results, thus additional physical nodes, each of which run 100 virtual nodes, +were used for the experiment. The experiment showed that discovery of 100--400 +nodes each other takes 1.5 seconds on average, and the value increases only +slightly with increase in the number of nodes (see fig. [[fig:bootstrap-local]]). An +example of tree hierarchy for 11 nodes with fan-out 2 is shown in fig. +[[fig:tree-hierarchy-11]]. #+name: fig:bootstrap-local #+caption: Time to discover all nodes of the cluster in depending on number of nodes.