commit f39fb96bb251d117c14abac4d128de71fdaf84b8
parent 3291815a343f2c00b876921925a93bc59870cbc3
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Thu, 26 Jan 2017 12:21:36 +0300
Sync algo mapping p2, p3.
Diffstat:
2 files changed, 40 insertions(+), 23 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -1913,31 +1913,29 @@ digraph {
#+RESULTS: fig:pipeline
[[file:build/pipeline-ru.pdf]]
-Конвейер объектов можно считать развитием модели BSP (Bulk Synchronous
-Parallel), широко применяемой в системах обработки графов
-cite:malewicz2010pregel,seo2010hama. Преимущество конвейера заключается в том,
-что передача данных между звеньями, происходящая параллельно с вычислениями,
-позволяет исключить глобальную синхронизацию между последовательно идущим
-этапами вычислений, что, в свою очередь, позволяет эффективно распределить
-объекты по узлам кластера. В то же время, в модели BSP глобальная синхронизация
-происходит после каждого шага.
+Конвейер объектов можно считать развитием модели BSP (Bulk Synchronous Parallel)
+cite:valiant1990bridging, применяемой в системах обработки графов
+cite:malewicz2010pregel,seo2010hama. Конвейер позволяет исключить глобальную
+синхронизацию (где это возможно) между последовательно идущим этапами вычислений
+путем передачи данных между звеньев параллельно с вычислениями, в то время как в
+модели BSP глобальная синхронизация происходит после каждого шага.
Поскольку передача данных между звеньями конвейера происходит параллельно с
вычислениями, то на одном и том же конвейере можно запустить сразу несколько
-приложений (генерировать сразу несколько взволнованных морских поверхностей с
-разными характеристиками). Обычно такой запуск производится либо в параллельных
-процессах, что может привести к перегрузке системы при недостаточном количестве
-процессорных ядер, либо через очередь задач, что не позволит получить
-максимальную производительность, поскольку процессорные ядра в таких очередях
-выделяются полностью под задачу. На практике оказывается, что
-высокопроизводительные приложения не всегода загружают процессор на максимум,
-тратя время на синхронизацию параллельных процессов и запись данных в файл.
-Использование конвейера в таком случае позволит на одном и том же множестве
-процессов запустить сразу несколько расчетов и эффективно использовать все
-устройства компьютера, насколько это позволяет задача. Например, во время записи
-в файл одной задачей может производиться расчет на процессоре другой задачей.
-Это минимизирует время простоя процессора и других устройств компьютера и
-повышает общую пропускную способность кластера.
+копий приложения с разными параметрами (генерировать сразу несколько
+взволнованных морских поверхностей с разными характеристиками). Обычно такой
+запуск производится либо в параллельных процессах, что может привести к
+перегрузке системы при недостаточном количестве процессорных ядер, либо через
+очередь задач, что не позволит получить максимальную производительность,
+поскольку процессорные ядра в таких очередях выделяются полностью под задачу. На
+практике оказывается, что высокопроизводительные приложения не всегода загружают
+процессор на максимум, тратя время на синхронизацию параллельных процессов и
+запись данных на диск. Использование конвейера в таком случае позволит на одном
+и том же множестве процессов запустить сразу несколько расчетов и максимально
+эффективно использовать все устройства компьютера. Например, во время записи в
+файл одной задачей может производиться расчет на процессоре другой задачей. Это
+минимизирует время простоя процессора и других устройств компьютера и повышает
+общую пропускную способность кластера.
*** Обзор вычислительной модели
Основное назначение модели состоит в упрощении разработки распределенных
diff --git a/phd-diss.org b/phd-diss.org
@@ -1840,10 +1840,29 @@ digraph {
}
#+end_src
-#+caption: Diagram of a data processing pipeline, that implements ocean wavy surface generation via AR model.
+#+caption: Diagram of data processing pipeline, that implements ocean wavy surface generation via AR model.
#+RESULTS: fig:pipeline
[[file:build/pipeline.pdf]]
+Object pipeline may be seen as an improvement of BSP (Bulk Synchronous Parallel)
+model cite:valiant1990bridging, which is used in graph processing
+cite:malewicz2010pregel,seo2010hama. Pipeline eliminates global synchronisation
+(where it is possible) after each sequential computation step by doing data
+transfer between joints in parallel to computations, whereas in BSP model global
+synchronisation occurs after each step.
+
+Since data transfer between pipeline joints is done in parallel to computations,
+the same pipeline may be used to run several copies of the application but with
+different parameters (generate several ocean wavy surfaces having different
+characteristics). In practise, high-performance applications do not always
+consume 100% of processor time spending a portion of time on synchronisation of
+parallel processes and writing data to disk. Using pipeline in this case allows
+running several computations on the same set of processes, and use all of the
+computer devices at maximal efficiency. For example, when one object writes data
+to a file, the other do computations on the processor in parallel. This
+minimises downtime of the processor and other computer devices and increases
+throughput of the computer cluster.
+
*** Computational model overview
The main purpose of the model is to simplify development of distributed batch
processing applications and middleware. The main focus is to make application