The distributed management scheme implemented in our prototype
allows access to the cluster from any node within the system. Having no
need for a centralised point of information enables the
support for fault tolerant operation.
This is achieved through the replication of the task
information to every node on which the task executes. Here we
can see a drawback of the taken approach. The total memory consumption in
the cluster grows roughly with
. For each task
resources
are used, if started on
nodes. Each node has to keep
entries for the tasks in the worst case: that is, if
each task is started on each and every node.
Thus the memory consumption exhibits
behaviour.
We argue however that this additional overhead does
not affect the system performance. In the prototype we had to store
about 30 Bytes of management information for each task clone.
Suppose the task is started on 500 computers, rather than on each of the 500
nodes, we have to store
of
information. Estimating that about 50 tasks are under the control of the
framework on each node the amount of management data grows to 750
KBytes. The image size of the execution environment on each of the nodes
was about 5 MBytes. Logging data and information that is pending for
output from the tasks will be orders of magnitude larger than the
amount of information needed for management in a fully distributed
control approach. Allowing access to the cluster services from
any node raises another problem.
That is synchronisation of operations. For
addressing this issue we first have to ask ourselves when at all
synchronisation problems can occur. The following cases have to be distinguished:
It is indeed necessary to provide a scheme for command synchronisation in the distributed system. One solution that we developed for the prototype of the task control system is presented in the following section.