previous up next index
Previous: Streams Up: The MagicEight Virtual Machine Next: Task Scheduling and Fault-Tolerance

Instructions

Tasks will eventually be represented using a generic functional description, which is interpreted for the appropriate processor architectures. Currently, tasks will be precompiled for expected architecture. In order to allow system specific hardware to be supported, these tasks may be accessed through a shared library mechanism.

Mapping the algorithm segment onto a processing unit may be as simple as selecting one code segment from a set pre-compiled for general-purpose or specialized processors, or involve interpreting (and caching for possible re-use) a generic byte-code into an executable code segment.

The instructions comprising a task (the thread) may access data passed in the Input parameters or the Internal Parameters, either by value or by reference. Storage may be allocated dynamically for the duration of a task token's execution (e.g. hardware registers or stack).

No attempt to make or reference ``global'' data, or data structure that persists between task invocations (i.e. static data) except through data objects referenced by tags.

This subsection is still being written...



magiceight-web@media.mit.edu