commit 321c6f0933ef5742b69100f7fde4820ad34b7f20
parent 11c9fb879981ac1505f04a3dad7f1830b4bd239b
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Wed, 1 Nov 2017 13:14:24 +0300
Edit p1.
Diffstat:
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