arma-thesis

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

commit 92c84f55a1fef1b78baf2e8dbd04f3174be549a3
parent e96094b734cbb31036345255e7a3b733c0ec4212
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Fri,  3 Nov 2017 13:59:14 +0300

Edit MPP algorithms and conclusion.

Diffstat:
arma-thesis-ru.org | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
arma-thesis.org | 34+++++++++++++++++-----------------
2 files changed, 68 insertions(+), 17 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -3820,6 +3820,52 @@ title(xlab="Размер взволнованной поверхности", yla задач не запущен. **** Производительность реализации распределенного алгоритма для АР модели. +Реализация распределенной модели АР была протестирована на двух узлах системы +Ant (таб.\nbsp{}[[tab-ant]]). Для увеличения пропускной способности сети, два узла +были соединены друг с другом напрямую, а максимальный размер единицы +передаваемых данных (MTU) установлен в 9200 байт. Рассматривались два случая: с +одним резидентным процессом Bscheduler, запущенным на локальном узле, и с двумя +резидентными процесами, запущенными на каждом узле. Производительность программы +сравнивалась с производительностью версии на OpenMP, запускаемой на одном узле. + +Bscheduler превосходит OpenMP как на одном, так и на двух узлах +(рис.\nbsp{}[[fig-bscheduler-performance]]). В случае одного узла более высокая +производительность объясняется тем, что Bscheduler не сканирует очередь задач в +поисках частей, для которых готовы все зависимости (как это происходит в +параллельной версии алгоритма), вместо этого он для каждой части обновляет +счетчик готовых частей, от которых она зависит. Такой же подход может быть +использован для версии OpenMP, однако он был обнаружен только в более новой +версии программы для Bscheduler, поскольку сканирование очереди задач не может +быть эффективно реализовано в рамках этого планировщика. В случае двух узлов +более высокая производительность объясняется большим суммарным количеством +процессорных ядер (16), высокой пропусной способностью прямого сетевого +соединения. Таким образом, реализация распределенного алгоритма модели АР на +Bscheduler быстрее на системе с общей памятью ввиду более эффективной обработки +авторегрессионных зависимостей, и его производительность масштабируется на +большее количество ядер ввиду низких накладных расходов на передачу данных по +прямому сетевому соединению. + +#+name: fig-bscheduler-performance +#+begin_src R :file build/bscheduler-performance-ru.pdf +source(file.path("R", "benchmarks.R")) +par(family="serif") +data <- arma.load_bscheduler_performance_data() +arma.plot_bscheduler_performance_data( + data, + list( + openmp="OpenMP", + bsc1="Bscheduler (один узел)", + bsc2="Bscheduler (два узла)" + ) +) +title(xlab="Размер взволнованной поверхности", ylab="Время, сек.") +#+end_src + +#+name: fig-bscheduler-performance +#+caption: Сравнение производительности Bscheduler и OpenMP. +#+RESULTS: fig-bscheduler-performance +[[file:build/bscheduler-performance-ru.pdf]] + * Заключение **** Итоги исследования. В изучении возможностей математического аппарата для имитационного моделирования @@ -3835,6 +3881,11 @@ title(xlab="Размер взволнованной поверхности", yla теории волн. Новый метод эффективен с вычислительной точки зрения, поскольку все интегралы в его формуле записываются как преобразования Фурье, для которого существуют высокопроизводительные реализации. +- Модель и метод были реализована для систем как с общей, так и с распределенной + памятью, и в нескольких тестах показали масштабируемость на различном + количество ядер, которая близка к линейной. Модель АР более эффективна с + вчислительной точки зрения на центральном процессоре, нежели на ведиокарте, и + превосходит по производительности модель ЛХ. **** Перспективы дальнейших исследований. Одной из тем дальнейших исследований является изучение возможности генерации diff --git a/arma-thesis.org b/arma-thesis.org @@ -3587,27 +3587,27 @@ one. scheduler is not running. **** Performance of distributed AR model implementation. -Distributed AR model implementation was benchmarked on the two nodes of "ant" -cluster (table\nbsp{}[[tab-ant]]). To optimise network throughput these nodes were -directly connected to each other with Ethernet cable and maximum transmission -unit (MTU) was set to 9200. Two cases were considered: with one Bscheduler -daemon process running on the local node, and with two daemon processes running -on each node. The performance of the programme was compared to the performance -of OpenMP version running on single node. - -Bscheduler outperforms OpenMP implementation in both one and two nodes cases -(fig.\nbsp{}[[fig-bscheduler-performance]]). In case of one node the advantage in +Distributed AR model implementation was benchmarked on the two nodes of Ant +system (table\nbsp{}[[tab-ant]]). To increase network throughput these nodes were +directly connected to each other and maximum transmission unit (MTU) was set to +9200 bytes. Two cases were considered: with one Bscheduler daemon process +running on the local node, and with two daemon processes running on each node. +The performance of the programme was compared to the performance of OpenMP +version running on single node. + +Bscheduler outperforms OpenMP in both one and two nodes cases +(fig.\nbsp{}[[fig-bscheduler-performance]]). In case of one node the higher performance is explained by the fact that Bscheduler does not scan the queue for wavy surface parts for which dependencies are ready (as in parallel version of the algorithm), but for each part updates a counter of completed parts on which it depends. The same approach can be used in OpenMP version, but was discovered only for newer Bscheduler version, as queue scanning can not be performed -efficiently in this framework. In case of two nodes the advantage in performance -is due to a greater total number of processor cores (16), high network -throughput of the direct network link. So, Bscheduler implementation of AR model -algorithm is faster on single node due to more efficient autoregressive -dependencies handling and its performance scales to a larger number of cores due -to small data transmission overhead of direct network link. +efficiently in this framework. In case of two nodes the higher performance is +explained by a greater total number of processor cores (16) and high network +throughput of the direct network link. So, Bscheduler implementation of +distributed AR model algorithm is faster on single node due to more efficient +autoregressive dependencies handling and its performance scales to a larger +number of cores due to small data transmission overhead of direct network link. #+name: fig-bscheduler-performance #+begin_src R :file build/bscheduler-performance.pdf @@ -3647,7 +3647,7 @@ beyond linear wave theory the following main results were achieved. - The model and the method were implemented for both SMP and MPP systems, and showed near linear scalability for different number of cores in several benchmarks. AR model is more computationally efficient on CPU than on GPU, and - outperforms linear LH model. + outperforms LH model. **** Further research directions. One of the topic of future research is studying generation of wave of arbitrary