hpcs-17-subord

git clone https://git.igankevich.com/hpcs-17-subord.git
Log | Files | Refs

commit 2e8fd912892f483d44757ea1263f71c8872c757a
parent fcbac82068fb4edb6f83ceda00d90e1ed933657a
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Sat, 18 Feb 2017 14:35:10 +0300

Minor changes.

Diffstat:
src/body.tex | 19+++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/body.tex b/src/body.tex @@ -1,14 +1,13 @@ \section{Computational kernel hierarchy} The core provides classes and methods to simplify development of distributed -applications and middleware. The main focus of this package is to make -distributed application resilient to failures, i.e. make it fault tolerant and -highly available, and do it transparently to a programmer. All classes are -divided into two layers: the lower layer consists of classes for single node -applications, and the upper layer consists of classes for applications that run -on an arbitrary number of nodes. There are two kinds of tightly coupled -entities in the package~--- kernels and pipelines~--- which are used together -to compose a programme. +applications and middleware. The focus is to make distributed application +resilient to failures, i.e.~make it fault tolerant and highly available, and do +it transparently to a programmer. All classes are divided into two layers: the +lower layer consists of classes for single node applications, and the upper +layer consists of classes for applications that run on an arbitrary number of +nodes. There are two kinds of tightly coupled entities in the package~--- +kernels and pipelines~--- which are used together to compose a programme. Kernels implement control flow logic in theirs \Method{act} and \Method{react} methods and store the state of the current control flow branch. Both logic and @@ -26,7 +25,7 @@ used). Pipelines implement asynchronous calls to \Method{act} and \Method{react}, and try to make as many parallel calls as possible considering concurrency of the -platform (no.~of cores per node and no. of nodes in a cluster). A pipeline +platform (no.~of cores per node and no.~of nodes in a cluster). A pipeline consists of a kernel pool, which contains all the subordinate kernels sent by their parents, and a thread pool that processes kernels in accordance with rules outlined in the previous paragraph. A separate pipeline exists for each @@ -40,7 +39,7 @@ 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 \Method{act} method, and sequence of processor instructions after the calls is modelled by -\Method{react} method. The procedure calls themselves are modelled by +\Method{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