arma-thesis

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

commit 475afd31dfa7f47ca0cea6315b9ac0da057657a3
parent 9cfb110214ad5ae89252656d36036877ccab5213
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Fri, 27 Jan 2017 10:41:43 +0300

Sync LB evaluation p1.

Diffstat:
phd-diss-ru.org | 18+++++++++---------
phd-diss.org | 29+++++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/phd-diss-ru.org b/phd-diss-ru.org @@ -2158,17 +2158,16 @@ GotoBLAS и основанная на ней LAPACK, для непрерывно исходя из удобства их использования. **** Производительность алгоритма распределения нагрузки. -Программа, реализующая генерацию взволнованнной поверхности сбалансированна с -точки зрения нагрузки на процессорные ядра, однако, как показали тесты, +Программная реализация генерации взволнованной поверхности сбалансирована с +точки зрения нагрузки на процессорные ядра, однако, как показывают тесты, характеризуется высокой нагрузкой на устройства хранения. До проведения -тестирования программа была реализована на OpenMP и для сравнения переписана в -соответствии с разработанным подходом к распределению нагрузки, реализованным в -виде отдельной библиотеки. Конфигурация оборудования, использованная в тестах, -приведена в таблице [[tab:multicore-specs]]. В результате две реализации были -сопоставлены с точки зрения производительности. +тестирования программа была реализована на OpenMP и для тестирования алгоритма +распределения нагрузки переписана с использованием POSIX потоков. +Производительность двух реализаций сравнивалась на платформе, конфигурация +которой приведена в таблице [[tab:multicore-specs]]. #+name: tab:multicore-specs -#+caption: Конфигурация многопроцессорной вычислительной системы. +#+caption: Конфигурация многоядерной системы. #+attr_latex: :booktabs t | Компонента | Подробности | |-------------------------------+----------------------------------| @@ -2184,7 +2183,7 @@ GotoBLAS и основанная на ней LAPACK, для непрерывно | Процессор | Intel Core 2 Quad Q9650 | | Частота процессора (ГГц) | 3.00 | | Количество ядер | 4 | -| Емкость ОЗУ (ГБ) | 8 | +| Объем оперативной памяти (ГБ) | 8 | | Диск | Seagate ST3250318AS | | Скорость диска (об./мин.) | 7200 | @@ -2867,6 +2866,7 @@ Java влечет за собой накладные расходы, и не п | <<<OpenCL>>> | Open Computing Language | | <<<OpenMP>>> | Open Multi-Processing | | <<<MPI>>> | Message Passing Interface | +| <<<POSIX>>> | Portable Operating System | #+begin_export latex diff --git a/phd-diss.org b/phd-diss.org @@ -1997,6 +1997,34 @@ such kernels are not present in ARMA model implementation. *** Evaluation **** Performance of MPI, OpenMP, OpenCL implementations. **** Performance of load balancing algorithm. +Software implementation of wavy surface generation is balanced in terms of the +load on processor cores, however, as shown by tests, has high load on storage +device. Before testing software implementation used OpenMP for parallel +computations and for the purpose of load balancing algorithm evaluation was +rewritten to use POSIX threads. Performance of the two implementations was +compared on the platform with the configuration listed in table +[[tab:multicore-specs]]. + +#+name: tab:multicore-specs +#+caption: Multi-core system configuration. +#+attr_latex: :booktabs t +| Component | Details | +|---------------------------+----------------------------------| +| Programming language | C++11 | +| Threading library | C++11 STL threads | +| Atomic operations library | C++11 STL atomic | +| Routines to measure time | ~clock_gettime(CLOCK_MONOTONIC)~ | +| | ~/usr/bin/time -f \%e~ | +| Compiler | GCC 4.8.2 | +| Compiler flags | ~-std=c++11 -O2 -march=native~ | +| Operating system | Debian 3.2.51-1 x86_64 | +| File system | ext4 | +| Processor | Intel Core 2 Quad Q9650 | +| Core frequency (GHz) | 3.00 | +| No. of cores | 4 | +| Amount of RAM (GB) | 8 | +| Disk | Seagate ST3250318AS | +| Disk speed (rpm) | 7200 | #+name: fig:factory-performance #+begin_src R :results output graphics :exports results :file build/factory-vs-openmp.pdf @@ -2543,6 +2571,7 @@ communication in the presence of node failures cite:fekete1993impossibility. | <<<OpenCL>>> | Open Computing Language | | <<<OpenMP>>> | Open Multi-Processing | | <<<MPI>>> | Message Passing Interface | +| <<<POSIX>>> | Portable Operating System | #+begin_export latex \input{postamble}