next up previous contents
Next: Charisma Interface Model Up: Related Work Previous: Chant   Contents

DMCS

Data Movement and Control Substrate (DMCS [19]) is an implementation of the API for communication and computation proposed by the PORTS consortium. DMCS consists of 3 subpackages:

Threads
This provides a non-preemptive user-level threads package for thread creation and initialization. Two levels of priority can be assigned to a thread - low and high priority. Converse supports user-defined number of priority levels.

Communication
This is implemented on top of a generic active message implementation on the SP2. Communication in DMCS is based on ``Get'' and ``Put'' operations on global pointers. In addition, asynchronous get and put operations are supported using acknowledgment variables. Global pointers, as well as other DMCS communication primitives can easily be implemented on Converse, using message handlers that get and put data from registered areas of memory upon arrival of a message.

Control
This is layered on top of the threads and the communication subpackage. It consists of 2 modules: Remote Service Requests (RSR) and Load balancing. RSRs are similar to Converse invocation of remote handlers, except that the RSRs can be asked to be executed in a separate thread whose priority is specified at the time of creating an RSR. Load balancing support in DMCS is similar to Converse's ``seed-based'' load balancer, which allows creation of remote work on the lightly loaded processor. There is no parallel to the migration-based load balancing provided by Converse.


next up previous contents
Next: Charisma Interface Model Up: Related Work Previous: Chant   Contents
Milind Bhandarkar 2002-06-12