arma-thesis

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

commit 11c9fb879981ac1505f04a3dad7f1830b4bd239b
parent c8bda799e023c5c0c5b1515ba5f13c55fe0b2a9e
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Wed,  1 Nov 2017 12:57:20 +0300

Translate I/O graphs.

Diffstat:
R/benchmarks.R | 11++++++++---
arma-thesis-ru.org | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
arma-thesis.org | 15+++++++--------
3 files changed, 67 insertions(+), 11 deletions(-)

diff --git a/R/benchmarks.R b/R/benchmarks.R @@ -102,7 +102,12 @@ arma.print_sync_vs_async_io <- function(suffix_names, row_names, top_names) { print(ascii(big_table, include.rownames=FALSE)) } -arma.plot_io_events <- function (fsnames) { +arma.plot_io_events <- function (names) { + fsnames <- list( + xfs="XFS", + nfs="NFS", + gfs="GlusterFS" + ) filesystems <- c("xfs", "nfs", "gfs") conf <- list( a=list( @@ -156,8 +161,8 @@ arma.plot_io_events <- function (fsnames) { ), "io-0"), las=2 ) - mtext("Time, s", side=1, line=3) - mtext("Thread", side=2, line=4) + mtext(names$xlab, side=1, line=3) + mtext(names$ylab, side=2, line=4) title(fsnames[[fs]]) } legend( diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org @@ -2062,6 +2062,58 @@ clFFT для видеокарты. В данной работе производ функций, которые необходимо вычислить. **** Производительность ввода-вывода. +:PROPERTIES: +:header-args:R: :results output raw :exports results +:END: + +#+header :results output raw :exports results +#+name: tab-arma-io-performance +#+begin_src R +source(file.path("R", "benchmarks.R")) +suffix_names <- list( + xfs.x="XFS", + xfs.y="XFS", + nfs.x="NFS", + nfs.y="NFS", + gfs.x="GlusterFS", + gfs.y="GlusterFS", + Row.names="\\orgcmidrule{2-4}{5-7}Подпрограмма" +) +top_names <- c("Последовательная", "Параллельная") +row_names <- list( + generate_surface="Генерация поверхности", + write_all="Запись вывода в файл" +) +arma.print_sync_vs_async_io(suffix_names, row_names, top_names) +#+end_src + +#+name: tab-arma-io-performance +#+caption: Время работы подпрограмм (сек.) при использовании файловых систем XFS, NFS и GlusterFS совместно с последовательным и параллельным выводом в файл. +#+attr_latex: :booktabs t +#+RESULTS: tab-arma-io-performance +| | | | Последовательная | | | Параллельная | +| \orgcmidrule{2-4}{5-7}Подпрограмма | XFS | NFS | GlusterFS | XFS | NFS | GlusterFS | +|------------------------------------+------+------+------------------+------+------+--------------| +| Генерация поверхности | 1.26 | 1.26 | 1.33 | 1.33 | 3.30 | 11.06 | +| Запись вывода в файл | 0.28 | 2.34 | 10.95 | 0.00 | 0.00 | 0.00 | + +#+name: fig-arma-io-events +#+header: :width 6 :height 8 :results output graphics +#+begin_src R :file build/arma-io-events-ru.pdf +source(file.path("R", "benchmarks.R")) +names <- list( + xlab="Время, сек.", + ylab="Поток" +) +par(mfrow=c(3,1), family="serif") +arma.plot_io_events(names) +#+end_src + +#+name: fig-arma-io-events +#+caption: График событий для XFS, NFS и GlusterFS, показывающий временные интервалы для каждого из потоков, на протяжении которых производится запись в файл (красный) и вычисления (черный). +#+RESULTS: fig-arma-io-events +[[file:build/arma-io-events-ru.pdf]] + **** Параллельное вычисление поля потенциала скорости. **** Производительность OpenCL-решателя, вычисляющего поле потенциала скорости. **** Заключение. diff --git a/arma-thesis.org b/arma-thesis.org @@ -2058,7 +2058,7 @@ arma.print_sync_vs_async_io(suffix_names, row_names, top_names) #+end_src #+name: tab-arma-io-performance -#+caption: Running time (s.) for XFS, NFS and GlusterFS with sequential and parallel I/O programme versions. +#+caption: Running time of subroutines (s.) with the use of XFS, NFS and GlusterFS along with sequential and parallel file output. #+attr_latex: :booktabs t #+RESULTS: tab-arma-io-performance | | | | Sequential | | | Parallel | @@ -2068,20 +2068,19 @@ arma.print_sync_vs_async_io(suffix_names, row_names, top_names) | Write output to files | 0.28 | 2.34 | 10.95 | 0.00 | 0.00 | 0.00 | #+name: fig-arma-io-events -#+header: :width 6 :height 9 :results output graphics +#+header: :width 6 :height 8 :results output graphics #+begin_src R :file build/arma-io-events.pdf source(file.path("R", "benchmarks.R")) -fsnames <- list( - xfs="XFS", - nfs="NFS", - gfs="GlusterFS" +names <- list( + xlab="Time, s", + ylab="Thread" ) par(mfrow=c(3,1), family="serif") -arma.plot_io_events(fsnames) +arma.plot_io_events(names) #+end_src #+name: fig-arma-io-events -#+caption: Event plot for XFS, NFS and GlusterFS that shows time intervals spent for I/O and computation by different threads. +#+caption: Event graph for XFS, NFS and GlusterFS that shows time intervals spent for I/O and computation by different threads. #+RESULTS: fig-arma-io-events [[file:build/arma-io-events.pdf]]