ChronOS Distributed Threads
From ChronOS Linux
In addition to providing a framework for development and testing of uniprocessor and multiprocessor real-time scheduling algorithms, ChronOS aims to provide a first-class abstraction of Distributed Threads.
The Distributable Thread (or DT) programming abstraction first appeared in the Alpha OS and subsequently in Mach 3.0, MK7.3, Real-Time CORBA 2.0, and the emerging Distributed Real-Time Specification for Java (DRTSJ). A Distributable Thread is a single thread of execution with a globally unique identity that transparently extends and retracts through local and remote objects. A real-time Distributed Thread carries along its timing constraints (deadline, TUF, worst-case execution cost) as it makes remote invocations and travels through multiple nodes. On each node, the local instance of the Distributed Thread is scheduled with these timing constraints.
The Distributed Thread manager is implemented which provides first-class kernel level abstraction for Distributed Threads. Various Distributed Thread related algorithms, such as TPR, D-TPR, HUA, CUA, ACUA [33] have been implemented. The Distributed Thread manager and the scheduling framework extensions are exposed to the user-space through system calls. ChronOS adds a set of new system calls to Linux that are used to enable the DT and scheduling extensions. At the user-space level, a middleware API abstraction layer is provided that maps the system calls to the user-space.
ChronOS provides the application developer the freedom to write real-time applications directly using the middleware APIs without using any of the Distributed Thread services or to create a distributed applications using DTs without using any of the real-time functionality.