Issue No. 06 - June (1989 vol. 15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.24721
<p>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.</p>
Charlotte distributed operating system; computation-intensive problems; large-grain parallelism; Crystal multicomputer; VAX-11/750 computers; local area network; kernel/process interface; bidirectional communication paths; synchronous nonblocking communications; abstraction; finite-state machines; multitask kernel; absolute distributed information; high-level tools; Lynx distributed programming language; kernal primitives; concurrency; computer communications software; local area networks; multiprocessing programs; operating systems (computers); software packages
Y. Artsy, M. Scott, R. Finkel and H. Chang, "Experience with Charlotte: Simplicity and Function in a Distributed Operating System," in IEEE Transactions on Software Engineering, vol. 15, no. , pp. 676-685, 1989.