commit eb9c9426a38b553b688b5cd7e61c79c8d17689be
parent c462cfc958ce284cc36dff05e1f2e95b75a44be9
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Fri,  3 Nov 2017 14:28:35 +0300
Remove old section.
Diffstat:
| arma-thesis-ru.org |  |  | 89 | ------------------------------------------------------------------------------- | 
1 file changed, 0 insertions(+), 89 deletions(-)
diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org
@@ -2314,95 +2314,6 @@ OpenGL увеличивает производительность путем и
 или не содержала бы интегралы в виде преобразований Фурье, на вычисление поля
 потенциала скорости затрачивалось бы гораздо больше времени.
 
-**** Производительность алгоритма распределения нагрузки.       :noexport:
-Программная реализация генерации взволнованной поверхности сбалансирована с
-точки зрения нагрузки на процессорные ядра, однако, как показывают тесты,
-характеризуется высокой нагрузкой на устройства хранения. До проведения
-тестирования генерация взволнованной поверхности была реализована с
-использованием OpenMP для параллельных вычислений, и была переписана с
-использованием POSIX потоков для того чтобы реализовать алгоритм распределения
-нагрузки. Производительность двух реализаций сравнивалась на платформе,
-конфигурация которой приведена в табл.\nbsp{}[[tab-multicore-specs]].
-
-#+name: tab-multicore-specs
-#+caption: Конфигурация многоядерной системы.
-#+attr_latex: :booktabs t
-| Компонента                    | Подробности                      |
-|-------------------------------+----------------------------------|
-| Язык программирования         | C++11                            |
-| Библиотека потоков            | C++11 STL threads                |
-| Библиотека атомарных операций | C++11 STL atomic                 |
-| Подпрограммы замера времени   | ~clock_gettime(CLOCK_MONOTONIC)~ |
-|                               | ~/usr/bin/time -f \%e~           |
-| Компилятор                    | GCC 4.8.2                        |
-| Опции компиляции              | ~-std=c++11 -O2 -march=native~   |
-| Операционная система          | Debian 3.2.51-1 x86_64           |
-| Файловая система              | ext4                             |
-| Процессор                     | Intel Core 2 Quad Q9650          |
-| Частота процессора (ГГц)      | 3.00                             |
-| Количество ядер               | 4                                |
-| Объем оперативной памяти (ГБ) | 8                                |
-| Диск                          | Seagate ST3250318AS              |
-| Скорость диска (об./мин.)     | 7200                             |
-
-Эксперимент состоял в запуске двух программных реализаций на многоядерной
-машине, изменяя размер поверхности. Размер пула потоков процессора и пула
-потоков ввода/вывода оставался неизменным во время эксперимента. Пул потоков
-ввода/вывода состоял из одного потока, а количество потоков процессора равнялось
-количеству физических ядер процессора.
-
-В эксперименте алгоритм распределения нагрузки показал большую эффективность по
-сравнению с реализацией без него. Чем больше размер генерируемой поверхности,
-тем больше разрыв в производительности (рис.\nbsp{}[[fig-factory-performance]]), что
-является следствием наложения вычислительной фазы и фазы вывода данных друг на
-друга (рис.\nbsp{}[[fig-factory-overlap]]). В реализации OpenMP фаза вывода данных
-начинается только тогда, когда заканчивается вычислительная фаза, в то время как
-использование алгоритма распределения нагрузки приводит почти к одновременному
-завершению обеих фаз. Таким образом, /выполнение параллельных изнутри,
-последовательных фаз в режиме конвейера более эффективно, чем их
-последовательное выполнение/, и это позволяет сбалансировать нагрузку на
-различные устройства, задействованные в вычислениях.
-
-#+name: fig-factory-performance
-#+header: :width 5 :height 4
-#+begin_src R :file build/factory-vs-openmp-ru.pdf
-source(file.path("R", "common.R"))
-arma.plot_factory_vs_openmp(
-  xlab="Размер реализации",
-  ylab="Время, с.",
-  power=6
-)
-#+end_src
-
-#+caption: Сравнение производительности реализаций программы на OpenMP и Factory.
-#+name: fig-factory-performance
-#+RESULTS: fig-factory-performance
-[[file:build/factory-vs-openmp-ru.pdf]]
-
-#+name: fig-factory-overlap
-#+header: :width 7 :height 4
-#+begin_src R :file build/factory-vs-openmp-overlap-ru.pdf
-source(file.path("R", "common.R"))
-par(mar=c(5, 6, 0, 1), pty="m")
-arma.plot_factory_vs_openmp_overlap(
-  xlab="Время, с.",
-  labels=c("Factory", "OpenMP"),
-  scale=10**9
-)
-#+end_src
-
-#+caption: Наложение параллельных вычислений на \([G_0,G_1]\) и записи данных на диск на \([W_0,W_1]\). В реализации OpenMP наложение отсутствует.
-#+name: fig-factory-overlap
-#+RESULTS: fig-factory-overlap
-[[file:build/factory-vs-openmp-overlap-ru.pdf]]
-
-Предложенный алгоритм распределения нагрузки на многоядерную систему позволяет
-получить прирост производительности для приложений, считывающих и записывающих
-большой объем данных на диск, но может быть использован также и в других
-случаях. Основная идея алгоритма состоит в определении типа нагрузки и поиске
-подходящего устройства для перенаправления нагрузки на него. Таким образом любое
-устройство помимо дисков может быть использовано.
-
 ** Отказоустойчивый планировщик пакетных задач
 *** Архитектура системы
 **** Физический уровень.