edj@ksr.com (E. Douglas Jensen) (01/26/88)
Alpha is a highly adaptable decentralized OS oriented towards real-time applications. It provides reliable resource management transparently across physically dispersed nodes, integrating them together so they can all contribute to the same application. Alpha achieves this global resource management without employing any physically or even logically centralized entities or services. Alpha's programming model is based on passive objects (i.e., abstract data types) and node-transparent threads. Because instances of Alpha execute cooperatively as a distributed program on physically dispersed nodes, it maintains consistency of its data structures and correctness of its actions with nested atomic transactions. All contention for resources are resolved by Alpha on the basis of application specified time constraints (e.g., deadlines). Time constraints are nested block structures with asynchonous aborts, exactly like transactions. Time constraints are among the attributes propagated across node boundaries with threads so that resource management can be global. Alpha provides orphan detection and elimination in response to node or communication link failures, and to transaction or time constraint aborts. Alpha's performance is optimized for the most important cases, which for real-time systems are the emergency exceptions as opposed to the normal or most frequent cases. Alpha is kernelized with strict adherence to policy/mechanism seperation; for example, it provides atomicity, serializability, and permanance as orthogonal mechanisms rather than bundling them together with the resulting overhead regardless of application requirements. The prototype of Alpha is being created by the Archons Project at CMU, directly on Sun hardware, and applications have already been done by its first user on another copy of the system at General Dynamics. A second-generation, commercial-quality, portable version of Alpha is being created by Kendall Square Research, in Cambridge MA. For further information, contact the Archons/Alpha Principal Investigator: E. Douglas Jensen edj@k.cs.cmu.edu ksr!edj@harvard.harvard.edu 617-494-1146.