commit 11c9fb879981ac1505f04a3dad7f1830b4bd239b
parent c8bda799e023c5c0c5b1515ba5f13c55fe0b2a9e
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Wed, 1 Nov 2017 12:57:20 +0300
Translate I/O graphs.
Diffstat:
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]]