A major goal in the design of DTS was programmability,
i.e. the ability to parallelize large codes under adverse and shifting
conditions, while preserving good, but not necessarily optimal,
efficiency. We need good performance of the exact same application
program on networks of different sizes, including the case of dynamic
addition or deletion of nodes. We also require that a parallel method
can later be called as a parallel subtask by other programs under
different conditions without reprogramming or reconfiguration.
Our programming style is based on the fork/join paradigm. We
attempt to saturate the network with dynamically created tasks of
various grainsizes. On a shared memory multiprocessor even
light-weight parallel tasks can be supported as concurrent threads of
control. The network analogue is an asynchronous RPC, i.e., a thread
of control which can execute remotely because it carries a copy of all
input data with it.
DTS is currently implemented on top of PVM, adding the remote RPC
abstraction and turning the net into a pool of anonymous compute
servers. Each node of DTS is multi-threaded and is thus ready to run
on a multiprocessor workstation.
There is an MPEG video, which contains a short introduction into the features
of DTS. It has a size of 330 MByte and can be played only on the campus
of the university of Tübingen.
The following changes must be done in your local Netscape configuration to
make it work:
seit 22.05.1997