Software Implementation
Based on the Condor package developed by the University of Wisconsin,
Madison,
we have implemented the proposed task management mechanism
as a software layer
that lies between the OS and the application processes:
- We implement the first version entirely outside the OS
kernel and at the user level. This eliminates the need to
access/change the internals of OS, allows us to concentrate
on varying the degree of design complexity, and facilitates
later expansion or generalization.
- We configure the proposed task management mechanism
into three daemons, Collector, Schedd,
and Startd, all of which reside constantly on each
participating node. Two additional processes, Shadow
and Starter, run on the home node and on the server
node, respectively, whenever a task is remotely executed.
- We configure the module allocation scheme and the transfer,
information, and location policies of the load sharing scheme into
Schedd, Startd, and Collector, and
leave the OS-related process transfer, execution, suspension,
resumption, and checkpoint operations of the load sharing
scheme in Shadow and Starter.
- Shadow on the home node and Starter
on the server node cooperate to achieve locality
transparency. By transparency, we mean a process's
behavior should not be affected by its transfer.
To this end, we configure Shadow to act as an agent
for the remotely executed task in performing system calls.
To facilitate monitoring of the task management system, we have
also implemented a Java monitor.
The monitor runs on a machine (which needs not be one of the
participating workstations), and communicates with a statistics
collector daemon that runs at each participating machine.
The statistics collector daemon is implemented in such a way that
it behaves like a "remote shell" daemon.
That is, it takes the command from a socket, executes it locally
and then returns the result to the command initiator (i.e., the
Java monitor).
In this manner, the Java monitor has full control of the commands to
invoke, the arguments that goes with the commands,
and when to invoke the commands.
More details on the Java monitor can be
found here.
Return
to Project Home Page
Date last modified -- August 15, 1998
Direct comments concerning this WWW site to:
jhou@ece.osu.edu.