Title :
Experience with Charlotte: simplicity and function in a distributed operating system
Author :
Finkel, Raphael A. ; Scott, Michael L. ; Artsy, Yeshayahu ; Chang, Hung-Yang
Author_Institution :
Dept. of Comput. Sci., Kentucky Univ., Lexington, KY, USA
fDate :
6/1/1989 12:00:00 AM
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, bidirectional 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 :
computer communications software; local area networks; multiprocessing programs; operating systems (computers); software packages; Charlotte distributed operating system; Crystal multicomputer; Lynx distributed programming language; VAX-11/750 computers; absolute distributed information; abstraction; bidirectional communication paths; computation-intensive problems; concurrency; finite-state machines; high-level tools; kernal primitives; kernel/process interface; large-grain parallelism; local area network; multitask kernel; synchronous nonblocking communications; Bidirectional control; Computer languages; Computer networks; Concurrent computing; Distributed computing; Kernel; Local area networks; Operating systems; Parallel processing; System testing;
Journal_Title :
Software Engineering, IEEE Transactions on