diff --git a/docu/mars-for-kernel-developers.lyx b/docu/mars-for-kernel-developers.lyx index 2e89548b..2dee3a3b 100644 --- a/docu/mars-for-kernel-developers.lyx +++ b/docu/mars-for-kernel-developers.lyx @@ -141,6 +141,163 @@ LatexCommand tableofcontents Basic Working Principle \end_layout +\begin_layout Section +Control Model +\begin_inset CommandInset label +LatexCommand label +name "sec:Control-Model" + +\end_inset + + +\end_layout + +\begin_layout Standard +Although MARS tries to +\emph on +approximate +\emph default + / +\emph on +emulate +\emph default + the synchronous control behaviour of DRBD at the interface level ( +\family typewriter +marsadm +\family default +) in many situations as best as it can, the +\emph on +internal +\emph default + control model is necessarily asynchronous. + As an experiencend sysadmin, you will be curious how it works in principle. + When you know something about it, you will no longer be surprised when + some (detail) behaviour is different from DRBD. +\end_layout + +\begin_layout Standard +The general principle is an asynchronous 2-edge handshake protocol, which + is used almost everywhere in MARS: +\begin_inset Separator latexpar +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +\align center +\begin_inset Graphics + filename images/handshake.fig + width 80col% + +\end_inset + + +\end_layout + +\begin_layout Standard +We have a binary todo switch, which can be either in state +\begin_inset Quotes eld +\end_inset + +on +\begin_inset Quotes erd +\end_inset + + or +\begin_inset Quotes eld +\end_inset + +off +\begin_inset Quotes erd +\end_inset + +. + In addition, we have an actual response indicator, which is similar to + an LED indicating the actual status. + In our example, we imagine that both are used for controlling a big ventilator, + having a huge inert mass. + Imagine a big machine from a power plant, which is as tall as a human. +\end_layout + +\begin_layout Standard +We start in a situation where the binary switch is off, and the ventilator + is stopped. + At point 1, we turn on the switch. + At that moment, a big contactor will sound like +\begin_inset Quotes eld +\end_inset + +zonggg +\begin_inset Quotes erd +\end_inset + +, and a big motor will start to hum. + At first you won't hear anything else. + It will take a while, say 1 minute, until the big wheel will have reached + its final operating RPM, due to the huge inert mass. + During that spin-up, the lights in your room will become slightly darker. + When having reached the full RPM at point 2, your workplace will then be + noisier, but in exchange your room lights will be back at ordinary strength, + and the actual response LED will start to lit in order to indicate that + the big fan is now operational. +\end_layout + +\begin_layout Standard +Assume we want to turn the system off. + When turning the todo switch to +\begin_inset Quotes eld +\end_inset + +off +\begin_inset Quotes erd +\end_inset + + at point 3, first nothing will seem to happen at all. + The big wheel will keep spinning due to its heavy inert mass, and the RPM + as well as the sound will go down only slowly. + During spin-down, the actual response LED will stay illuminated, in order + to warn you that you should not touch the wheel, otherwise you may get + injuried +\begin_inset Foot +status open + +\begin_layout Plain Layout +Notice that it is only safe to access the wheel when +\emph on +both +\emph default + the switch and the LED are off. + Conversely, if at least one of them is on, something is going on inside + the machine. + Transferred to MARS: always look at +\emph on +both +\emph default + the todo switch and the correponding actual indicator in order to not miss + something. +\end_layout + +\end_inset + +. + The LED will only go off after, say, 2 minutes, when the wheel has actually + stopped at point 4. + After that, the cycle may potentially start over again. +\end_layout + +\begin_layout Standard +As you can see, all four possible cartesian product combinations between + two boolean values are occurring in the diagram. +\end_layout + +\begin_layout Standard +The same handshake protocol is used in MARS for communication between userspace + and kernelspace, as well as for communication in the widely distributed + system. +\end_layout + \begin_layout Section The Lamport Clock \begin_inset CommandInset label diff --git a/docu/mars-user-manual.lyx b/docu/mars-user-manual.lyx index 8c0628fc..5d7ddd79 100644 --- a/docu/mars-user-manual.lyx +++ b/docu/mars-user-manual.lyx @@ -32021,152 +32021,6 @@ Old Structure (TO DISAPPEAR) Quick Start Guide \end_layout -\begin_layout Standard -Although MARS tries to -\emph on -approximate -\emph default - / -\emph on -emulate -\emph default - the synchronous control behaviour of DRBD at the interface level ( -\family typewriter -marsadm -\family default -) in many situations as best as it can, the -\emph on -internal -\emph default - control model is necessarily asynchronous. - As an experiencend sysadmin, you will be curious how it works in principle. - When you know something about it, you will no longer be surprised when - some (detail) behaviour is different from DRBD. -\end_layout - -\begin_layout Standard -The general principle is an asynchronous 2-edge handshake protocol, which - is used almost everywhere in MARS: -\begin_inset Separator latexpar -\end_inset - - -\end_layout - -\begin_layout Standard -\noindent -\align center -\begin_inset Graphics - filename images/handshake.fig - width 80col% - -\end_inset - - -\end_layout - -\begin_layout Standard -We have a binary todo switch, which can be either in state -\begin_inset Quotes eld -\end_inset - -on -\begin_inset Quotes erd -\end_inset - - or -\begin_inset Quotes eld -\end_inset - -off -\begin_inset Quotes erd -\end_inset - -. - In addition, we have an actual response indicator, which is similar to - an LED indicating the actual status. - In our example, we imagine that both are used for controlling a big ventilator, - having a huge inert mass. - Imagine a big machine from a power plant, which is as tall as a human. -\end_layout - -\begin_layout Standard -We start in a situation where the binary switch is off, and the ventilator - is stopped. - At point 1, we turn on the switch. - At that moment, a big contactor will sound like -\begin_inset Quotes eld -\end_inset - -zonggg -\begin_inset Quotes erd -\end_inset - -, and a big motor will start to hum. - At first you won't hear anything else. - It will take a while, say 1 minute, until the big wheel will have reached - its final operating RPM, due to the huge inert mass. - During that spin-up, the lights in your room will become slightly darker. - When having reached the full RPM at point 2, your workplace will then be - noisier, but in exchange your room lights will be back at ordinary strength, - and the actual response LED will start to lit in order to indicate that - the big fan is now operational. -\end_layout - -\begin_layout Standard -Assume we want to turn the system off. - When turning the todo switch to -\begin_inset Quotes eld -\end_inset - -off -\begin_inset Quotes erd -\end_inset - - at point 3, first nothing will seem to happen at all. - The big wheel will keep spinning due to its heavy inert mass, and the RPM - as well as the sound will go down only slowly. - During spin-down, the actual response LED will stay illuminated, in order - to warn you that you should not touch the wheel, otherwise you may get - injuried -\begin_inset Foot -status open - -\begin_layout Plain Layout -Notice that it is only safe to access the wheel when -\emph on -both -\emph default - the switch and the LED are off. - Conversely, if at least one of them is on, something is going on inside - the machine. - Transferred to MARS: always look at -\emph on -both -\emph default - the todo switch and the correponding actual indicator in order to not miss - something. -\end_layout - -\end_inset - -. - The LED will only go off after, say, 2 minutes, when the wheel has actually - stopped at point 4. - After that, the cycle may potentially start over again. -\end_layout - -\begin_layout Standard -As you can see, all four possible cartesian product combinations between - two boolean values are occurring in the diagram. -\end_layout - -\begin_layout Standard -The same handshake protocol is used in MARS for communication between userspace - and kernelspace, as well as for communication in the widely distributed - system. -\end_layout - \begin_layout Chapter Basic Working Principle \end_layout