Experience with Charlotte: simplicity and function in a distributed operating system
- 1 June 1989
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 15 (6), 676-685
- https://doi.org/10.1109/32.24721
Abstract
A retrospective view is presented of the Charlotte distributed operating system, a testbed for developing techniques and tools to solve computation-intensive problems with large-grain parallelism. The final version of Charlotte runs on the Crystal multicomputer, a collection of VAX-11/750 computers connected by a local area network. The kernel/process interface is unique in its support for symmetric, bi-directional communication paths (called links), and synchronous nonblocking communications. Several lessons were learned in implementing Charlotte. Links have proven to be a useful abstraction, but the primitives do not seem to be at quite the right level of abstraction. The implementation uses finite-state machines and a multitask kernel, both of which work well. It also maintains absolute distributed information which is more expensive that using hints. The development of high-level tools, particularly the Lynx distributed programming language, has simplified the use of kernal primitives and helps to manage concurrency at the process level.Keywords
This publication has 21 references indexed in Scilit:
- A simple mechanism for type security across compilation unitsIEEE Transactions on Software Engineering, 1988
- The Crystal Multicomputer: Design and Implementation ExperienceIEEE Transactions on Software Engineering, 1987
- Language Support for Loosely Coupled Distributed ProgramsIEEE Transactions on Software Engineering, 1987
- SODAACM SIGOPS Operating Systems Review, 1985
- End-to-end arguments in system designACM Transactions on Computer Systems, 1984
- The V Kernel: A Software Base for Distributed SystemsIEEE Software, 1984
- Implementing remote procedure callsACM Transactions on Computer Systems, 1984
- AccentPublished by Association for Computing Machinery (ACM) ,1981
- The Roscoe distributed operating systemPublished by Association for Computing Machinery (ACM) ,1979
- Finite state description of communication protocolsComputer Networks (1976), 1978