arma-thesis

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

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:
phd-diss-ru.org | 42++++++++++++++++++++----------------------
phd-diss.org | 21++++++++++++++++++++-
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