commit b23d46545003c1efdf0952de9de3297a5f17c752
parent 45f0a1cd8229eedb044e9e892c3141614abb2b1a
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Fri, 20 Jan 2017 17:11:49 +0300
Sync overview p4.
Diffstat:
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -1972,6 +1972,19 @@ cite:malewicz2010pregel,seo2010hama. Преимущество конвейера
отложенные задачи) и промежуточный конвейер для обработки управляющих объектов
на узлах кластера.
+По принципу работу механизм управляющих объектов и конвейеров напоминает
+механизм работы процедур и стеков вызовов, с тем лишь преимуществом, что методы
+объектов вызываются асинхронно и параллельно друг другу (насколько это позволяет
+логика программы). Поля управляющего объекта --- это локальные переменные стека,
+метод ~act~ --- это последовательность процессорных инструкций перед вложенным
+вызовом процедуры, а метод ~react~ --- это последовательность инструкций после
+вложенного вызова. Создание и отправка на конвейер подчиненного объекта --- это
+вложенный вызов процедуры. Наличие двух методов обуславливается асинхронностью
+вложенных вызовов и помогает заменить активное ожидание завершения подчиненных
+объектов пассивным при помощи конвейеров. Конвейеры, в свою очередь, позволяют
+реализовать пассивное ожидание и вызывают правильные методы, анализируя
+внутреннее состояние объектов.
+
*** Основополагающие принципы модели
Модель конвейера обработки данных строится по следующим принципам, следование
которым обеспечивает максимальную эффективность программы.
diff --git a/phd-diss.org b/phd-diss.org
@@ -1856,15 +1856,14 @@ nodes.
In principle, kernels and pipelines machinery reflect the one of procedures and
call stacks, with the advantage that kernel methods are called asynchronously
-and in parallel to each other. The stack, which ordinarily stores local
-variables, is modelled by fields of a kernel. The sequence of processor
-instructions before nested procedure calls is modelled by ~act~ method, and
-sequence of processor instructions after the calls is modelled by ~react~
-method. The procedure calls themselves are modelled by constructing and sending
-subordinate kernels to the pipeline. Two methods are necessary because calls are
-asynchronous and one must wait before subordinate kernels complete their work.
-Pipelines allow circumventing active wait, and call correct kernel methods by
-analysing their internal state.
+and in parallel to each other (as much as programme logic allows). Kernel field
+is the stack, ~act~ method is a sequence of processor instructions before nested
+procedure call, and ~react~ method is a sequence of processor instructions after
+the call. Constructing and sending subordinate kernels to the pipeline is nested
+procedure call. Two methods are necessary to make calls asynchronous, and
+replace active wait for completion of subordinate kernels with passive one.
+Pipelines, in turn, allow implementing passive wait, and call correct kernel
+methods by analysing their internal state.
*** Governing principles
- There are no messages in the model, a kernel is itself a message that can be