Go backward to Programming Interface Go up to Distributed Maple |
The core of Distributed Maple is a scheduler program which is implemented
in Java (package dist
with main class
Scheduler
) and is completely independent and even
unaware of Maple; it can in fact embed and schedule tasks from any kind
of computation kernels that implement a specific communication protocol.
Correspondingly each node connected to a Distributed Maple session comprises
two components (see Figure *):
This program coordinates the interaction between nodes and schedules tasks
among nodes. The initial scheduler process (invoked from the Maple kernel
attached to the user frontend) reads all application-specific information from
the configuration file dist.systems
; it then starts instances of the
scheduler on other machines and communicates with them via Internet sockets.
The Maple file dist.maple
read by every Maple kernel implements the
interface between Maple kernel and scheduler. Communication between both
components is based on Unix pipes to which and from which messages are
written; these messages may embed Maple expressions (in the compact linear
format that Maple uses for library files).