commit 3d1d1bad9e84d9cd2bde95b5e4079d789aec0055
parent 1d19e39b4cfad1a515f46bf786389e3f63d37257
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Tue, 13 Jun 2017 12:48:57 +0300
Add a table of kernel fields.
Diffstat:
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/arma-thesis.org b/arma-thesis.org
@@ -3282,7 +3282,6 @@ which maximises efficiency of a programme.
So, control flow objects (or kernels) possess properties of both cooperative
routines and event handlers.
-
**** Definitions of hierarchies
To disambiguate hierarchical links between daemon processes and kernels and to
simplify the discussion, we will use the following naming conventions throughout
@@ -3300,6 +3299,34 @@ less number of hops when kernels are distributed between cluster nodes. Since
there is one-to-one correspondence between daemons and cluster nodes, they are
used interchangeably in the work.
+**** Kernel structure and algorithms
+Each kernel has three types of fields (listed in table\nbsp{}[[tab-kernel-fields]]):
+- fields related to control flow,
+- fields defining the source location of the kernel,
+- fields defining the current location of the kernel, and
+- fields defining the target location of the kernel.
+
+#+name: tab-kernel-fields
+#+caption: Kernel fields and their purpose.
+#+attr_latex: :booktabs t :align lp{0.7\textwidth}
+| Field | Description |
+|-------------------+------------------------------------------------------------------------------------------------|
+| ~process_id~ | Identifier of a cluster-wide process (application) a kernel belongs to. |
+| ~id~ | Identifier of a kernel within a process. |
+| ~pipeline~ | Identifier of a pipeline a kernel is processed on. |
+| | |
+| ~exit_code~ | A status of a kernel execution. |
+| ~flags~ | Auxiliary flags affecting scheduling. |
+| ~time_point~ | A time point at which a kernel is scheduled to be executed. |
+| | |
+| ~parent~ | Address/identifier of a parent kernel. |
+| ~src_ip~ | IP-address of a source cluster node. |
+| ~from_process_id~ | Identifier of a cluster-wide process from which a kernel was sent. |
+| | |
+| ~principal~ | Address/identifier of a target kernel (a kernel to which the current one is sent or returned). |
+| ~dst_ip~ | IP-address of a destination cluster node. |
+
+
** SMP implementation
**** Load balancing algorithm.
The simplest approach to balance the load on a multi-processor system is to