ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
A UNIX clone with source code for operating systems courses
ACM SIGOPS Operating Systems Review
Communications of the ACM
The Sprite Network Operating System
Computer
Performance of the world's fastest distributed operating system
ACM SIGOPS Operating Systems Review
The performance of the Amoeba distributed operating system
Software—Practice & Experience
An efficient reliable broadcast protocol
ACM SIGOPS Operating Systems Review
On the design of the amoeba configuration manager
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
A distributed file service based on optimistic concurrency control
Proceedings of the tenth ACM symposium on Operating systems principles
Parallel Search of Strongly Ordered Game Trees
ACM Computing Surveys (CSUR)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Operating system support for database management
Communications of the ACM
A user authentication scheme not requiring secrecy in the computer
Communications of the ACM
Programming semantics for multiprogrammed computations
Communications of the ACM
Regeneration of Replicated Objects: A Technique and Its Eden Implementation
Proceedings of the Second International Conference on Data Engineering
Broadcast protocols in packet switched computer networks.
Broadcast protocols in packet switched computer networks.
Communication Facilities for Distributed Transaction-Processing Systems
Computer - Distributed computing systems: separate resources acting as one
An Object-Based Taxonomy for Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Media transports and distributed multimedia flows
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
Parallel Programming Using Shared Objects and Broadcasting
Computer - Special issue on sharing: high performance at low cost
Computer
The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
FLIP: an internetwork protocol for supporting distributed systems
ACM Transactions on Computer Systems (TOCS)
Accessing Files in an Internet: The Jade File System
IEEE Transactions on Software Engineering
Designing and implementing Choices: an object-oriented system in C++
Communications of the ACM
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
A brief survey of systems providing process or object migration facilities
ACM SIGOPS Operating Systems Review
The operating system kernel as a secure programmable machine
ACM SIGOPS Operating Systems Review
A comparison of system monitoring methods, passive network monitoring and kernel instrumentation
ACM SIGOPS Operating Systems Review
A brief survey of current work on network attached peripherals (extended abstract)
ACM SIGOPS Operating Systems Review
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Parallel retrograde analysis on a distributed system
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Exploiting process lifetime distributions for dynamic load balancing
Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A flexible operation execution model for shared distributed objects
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Security functions for a file repository
ACM SIGOPS Operating Systems Review
Exploiting process lifetime distributions for dynamic load balancing
ACM Transactions on Computer Systems (TOCS)
Implementing sequentially consistent shared objects using broadcast and point-to-point communication
Journal of the ACM (JACM)
EROS: a fast capability system
Proceedings of the seventeenth ACM symposium on Operating systems principles
Distributed virtual machines: a system architecture for network computing
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Interpreting Stale Load Information
IEEE Transactions on Parallel and Distributed Systems
ACM Computing Surveys (CSUR)
The operating system kernel as a secure programmable machine
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Using active messages to support shared objects
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Language- and application-oriented resource management for parallel architectures
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Simulating wide-area replication
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
An experimental comparison of remote procedure call and group communication
EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
Rule-based management of distributed operating systems
EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
Using the Cowichan Problems to Assess the Usability of Orca
IEEE Parallel & Distributed Technology: Systems & Technology
A Multimedia Enhanced Distributed Object Event Service
IEEE MultiMedia
A Group Membership Algorithm with a Practical Specification
IEEE Transactions on Parallel and Distributed Systems
Software Bottlenecking in Client-Server Systems and Rendezvous Networks
IEEE Transactions on Software Engineering
Probabilistic Queries in Large-Scale Networks
EDCC-4 Proceedings of the 4th European Dependable Computing Conference on Dependable Computing
An Open Distributed Shared Memory System
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Data-Object Oriented Design for Distributed Shared Memory
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Storage Management for Web Proxies
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
The Open-End Argument for Private Computing
HUC '99 Proceedings of the 1st international symposium on Handheld and Ubiquitous Computing
Persistent and Non-persistent Data Objects on Top of PVM and MPI
Proceedings of the 8th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Integrating polling, interrupts, and thread management
FRONTIERS '96 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation
An experimental study of load balancing on Amoeba
PAS '95 Proceedings of the First Aizu International Symposium on Parallel Algorithms/Architecture Synthesis
Building a Secure, Location Transparent Object Invocation System
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Issues in the Design of a Collaborative Distributed Operating System
ACM SIGOIS Bulletin - Special issue on workshop write-ups and position papers from CSCW'94
LISA '98 Proceedings of the 12th USENIX conference on System administration
Labels and event processes in the asbestos operating system
Proceedings of the twentieth ACM symposium on Operating systems principles
Scientific Programming
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Adaptive and reliable parallel computing on networks of workstations
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Antiquity: exploiting a secure log for wide-area distributed storage
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Panda: a portable platform to support parallel programming languages
Sedms'93 USENIX Systems on USENIX Experiences with Distributed and Multiprocessor Systems - Volume 4
Labels and event processes in the Asbestos operating system
ACM Transactions on Computer Systems (TOCS)
Securing distributed systems with information flow control
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Operating system support for distributed applications in real space-time
CSTST '08 Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology
Remote Process Execution and Remote File I/O for Heterogeneous Processors in Cluster Systems
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
Design and implementation of a public key-based group collaboration system
Computer Communications
Application-Tailored I/O with Streamline
ACM Transactions on Computer Systems (TOCS)
Scalability in a secure distributed proof system
PERVASIVE'06 Proceedings of the 4th international conference on Pervasive Computing
Distributed goal-oriented computing
Journal of Systems and Software
A migration tool to support resource and load sharing in heterogeneous computing environments
Computer Communications
Process migration and its influence on interprocess communication
Computer Communications
The case for tiny tasks in compute clusters
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Hi-index | 48.24 |
The Amoeba project is a research effort aimed at understanding how to connect multiple computers in a seamless way [16, 17, 26, 27, 31]. The basic idea is to provide the users with the illusion of a single powerful timesharing system, when, in fact, the system is implemented on a collection of machines, potentially distributed among several countries. This research has led to the design and implementation of the Amoeba distributed operating system, which is being used as a prototype and vehicle for further research. In this article we will describe the current state of the system (Amoeba 4.0), and show some of the lessons we have learned designing and using it over the past eight years. We will also discuss how this experience has influenced our plans for the next version, Amoeba 5.0.Amoeba was originally designed and implemented at the Vrije Universiteit in Amsterdam, and is now being jointly developed there and at the Centrum voor Wiskunde en Informatica, also in Amsterdam. The chief goal of this work is to build a distributed system that is transparent to the users. This concept can best be illustrated by contrasting it with a network operating system, in which each machine retains its own identity. With a network operating system, each user logs into one specific machine—his home machine. When a program is started, it executes on the home machine, unless the user gives an explicit command to run it elsewhere. Similarly, files are local unless a remote file system is explicitly mounted or files are explicitly copied. In short, the user is clearly aware that multiple independent computers exist, and must deal with them explicitly.In contrast, users effectively log into a transparent distributed system as a whole, rather than to any specific machine. When a program is run, the system—not the user—decides upon the best place to run it. The user is not even aware of this choice. Finally, there is a single, system-wide file system. The files in a single directory may be located on different machines, possibly in different countries. There is no concept of file transfer, uploading or downloading from servers, or mounting remote file systems. A file's position in the directory hierarchy has no relation to its location.The remainder of this article will describe Amoeba and the lessons we have learned from building it. In the next section, we will give a technical overview of Amoeba as it currently stands. Since Amoeba uses the client-server model, we will then describe some of the more important servers that have been implemented so far. This is followed by a description of how wide-area networks are handled. Then we will discuss a number of applications that run on Amoeba. Measurements have shown Amoeba to be fast, so we will present some of our data. After that, we will discuss the successes and failures we have encountered, so that others may profit from those ideas that have worked out well and avoid those that have not. Finally we conclude with a very brief comparison between Amoeba and other systems.Before describing the software, however, it is worth saying something about the system architecture on which Amoeba runs.