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

commit 7fa78d0e4501eab3e40e058b0402c8fd2798dc4f
parent edfabff12a728a6b91b97cf770be55fcc9f0b922
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Sat,  4 Feb 2017 23:47:18 +0300

Add results from brainstorm session.

src/body.tex | 29+++++++++++++++++++++++++++++
1 file changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/body.tex b/src/body.tex @@ -0,0 +1,29 @@ +\section{Failure scenarios} + +% Brainstorming results. + +There are two scenarios of failures. Failure of more than one node at a time +and electricity outage. In the first scenario failure is handled by sending a +list previous ip addresses to the subsequent kernels in the batch. Then if +subordinate node and its master fail simultaneously, the surviving subordinate +nodes scan all of the ip addresses they received until they find alive node and +parent is revived on this node. + +We believe that kernel coordinates and inter dependecies is enough to mitigate +any type of failure: given that at least one node survives, all applications +continue their ececution in possibly degraded state. However it requires +duplicating all parents in the hierarchy on the subordinate node. + +Only electricity outage requires writing data to disk other failures can be +mitigated by duplicating kernels in memory. + +The only purpose of kernel hierarchy is to provide fail over for kernels. The +only purpose of daemon heirarchy is to provide load balancing and automatically +reconfigurable topology and to reduce the number of sinultaneous connections. +This topology reduces the number of simultaneous connections, thus preventing +network overload. This topology is used to distribute the load from the current +node to its neighbours by simply iterating over all directly connected daemons. + +Transmitting ip addresses of previous nodes is an optimisation over mapping to +only linear hierarchies, that is hierarchies where only one subordinate is +allowed at any given point of time.