Language Support for Loosely Coupled Distributed Programs
IEEE Transactions on Software Engineering - Special issue on distributed systems
The Crystal Multicomputer: Design and Implementation Experience
IEEE Transactions on Software Engineering
DEMOS/MP: the development of a distributed operating system
Software—Practice & Experience
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Simple Mechanism for Type Security Across Compilation Units
IEEE Transactions on Software Engineering
Matchmaker: an interface specification language for distributed processing
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
End-to-end arguments in system design
ACM Transactions on Computer Systems (TOCS)
Medusa: an experiment in distributed operating system structure
Communications of the ACM
An Axiomatic Description of the Transport Protocol of Cyclades
Rechnernetze und Datenfernverarbeitung, Fachtagung der GI und NTG
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
The Roscoe distributed operating system
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
NIL: An integrated language and system for distributed programming
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
SODA: a simplified operating system for distributed applications
ACM SIGOPS Operating Systems Review
Ordering errors in distributed programs (communication, debug, operating system, language)
Ordering errors in distributed programs (communication, debug, operating system, language)
Design and implementation of a distributed systems language (crystal, charlotte, lynx, soda)
Design and implementation of a distributed systems language (crystal, charlotte, lynx, soda)
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
Distributed data flow computing system
ACM-SE 30 Proceedings of the 30th annual Southeast regional conference
Communication State Transfer for the Mobility of Concurrent Heterogeneous Computing
IEEE Transactions on Computers
Hi-index | 0.01 |
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.