|
Distributed run-time support
The Hades run-time support is made of :
-
the Chorus micro-kernel
which provides low-level operating system mechanisms (e.g.
thread switch) ;
-
a small execution kernel, called the dispatcher, which
executes non-distributed pieces of tasks built in Hades task
model ;
-
several services built in Hades task model ;
-
one or several applications built in Hades task model.
For this demonstration, to execute the bees application,
we use several services:
-
a service which wakes up periodic tasks ;
-
a service which synchronizes the clock of every computer ;
-
a reliable multicast service ;
-
a group membership service ;
-
a service for fault-tolerant execution of distributed tasks
;
-
a service in charge of executing the plans generate by the
sched tool (in this demonstration, we use the scheduling algorithm
of Xu and Parnas).
The demonstration platform for Hades is made of four Pentium 90
processors and of a 155 Mbits ATM network :
The following animation corresponds to a screen copy every second
of the execution of the bees application. The wasp is represented
by a blue point, the critical bees by red lines, and the non-critial
bees by green lines.
The unfolding of the execution is :
-
t=0: starting of the four PCs ;
-
t=5: the run-time support is initialized on every site,
and the display of the wasp and the bees begins on Hades
0 ;
-
t=20: stop of Hades 1 (which executes the critical
bees in coordination with Hades 3): the critical bees
continue their pursuit ;
-
t=22: restarting of Hades 1: when the run-time
support of Hades 1 is initialized, its computation state
is recovered from Hades 3 ;
-
t=40: stop of Hades 3: the state of execution
on Hades 1 has already been recovered: the critical bees
continue their pursuit ;
-
t=50: Stop of Hades 2 (which executes the non-critical
bees): the non-critical bees stop because their execution is
not replicated ;
-
t=60: Stop of Hades 1: the critical bees stop
because the two sites where their execution is replicated are
stopped. Only the wasp continues to move.
|