arma-thesis

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

commit 321c6f0933ef5742b69100f7fde4820ad34b7f20
parent 11c9fb879981ac1505f04a3dad7f1830b4bd239b
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Wed,  1 Nov 2017 13:14:24 +0300

Edit p1.

Diffstat:
arma-thesis-ru.org | 13+++++++++++++
arma-thesis.org | 24+++++++++++-------------
2 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2066,6 +2066,19 @@ clFFT для видеокарты. В данной работе производ :header-args:R: :results output raw :exports results :END: +Несмотря на то что в тестах из предыдущего раздела запись данных в файлы не +занимает большое количество времени, использование монтируемых по сети файловых +систем может замедлить этот этап программы. Для его оптимизации части +взволнованной поверхности записываются в файл, как только генерация всего +временного среза завершена (рис.\nbsp{}[[fig-arma-io-events]]): запускается +отдельный поток, который начинает запись, как только первый временной срез +становится доступен, и завершает, после того как основная группа потоков +заканчивает вычисления, и последний срез записывается в файл. Суммарное время, +затрачиваемое на ввод/вывод, увеличиватся, но суммарное время работы программы +уменьшается, поскольку ввод/вывод производится параллельно вычислениям +(таб.\nbsp{}[[tab-arma-io-performance]]). Использование этого подхода для локальных +систем имеет тот же эффект, но выигрыш в производительности меньше. + #+header :results output raw :exports results #+name: tab-arma-io-performance #+begin_src R diff --git a/arma-thesis.org b/arma-thesis.org @@ -2022,19 +2022,17 @@ need to be computed. :header-args:R: :results output raw :exports results :END: -Although, in the current benchmarks writing data to files does not consume much -of the running time, the use of network-mounted file systems may slow down this -stage. To optimise it wavy surface parts were written to file as soon as full -time slice was available: all completed parts were grouped by time slices they -belong to and subsequently written to file, as soon as the whole time slice is -finished (fig.\nbsp{}[[fig-arma-io-events]]). That way a separate thread starts -writing to files as soon as the first time slice is available and finishes it -after the main thread group finishes the computation. The total time needed to -perform I/O is slightly increased, but the I/O is done in parallel to -computation so the total running time is decreased -(table\nbsp{}[[tab-arma-io-performance]]). Using this approach with local file -system has the same effect, but the total reduction in execution time is small, -because local file system is more performant. +Although, in the benchmarks from the previous section writing data to files does +not consume much of the running time, the use of network-mounted file systems +may slow down this stage of the programme. To optimise it wavy surface parts are +written to a file as soon as generation of the whole time slice is completed +(fig.\nbsp{}[[fig-arma-io-events]]): a separate thread starts writing to files as +soon as the first time slice is available and finishes it after the main thread +group finishes the computation. The total time spent to perform I/O is +increased, but the total programme running time is decreased, because the I/O is +done in parallel to computation (table\nbsp{}[[tab-arma-io-performance]]). Using +this approach with local file system has the same effect, but performance gain +is lower. #+header :results output raw :exports results #+name: tab-arma-io-performance