Coyote: a system for constructing fine-grain configurable communication services
ACM Transactions on Computer Systems (TOCS)
Profile-directed optimization of event-based programs
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Symphony: An Infrastructure for Managing Virtual Servers
Cluster Computing
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
IEEE Concurrency
Scalable Stability Detection Using Logical Hypercube
IEEE Transactions on Parallel and Distributed Systems
Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
Symphony: Managing Virtual Servers in the Global Village
Euro-Par '99 Proceedings of the 5th International Euro-Par Conference on Parallel Processing
Parallel Processing with Autonomous Databases in a Cluster System
On the Move to Meaningful Internet Systems, 2002 - DOA/CoopIS/ODBASE 2002 Confederated International Conferences DOA, CoopIS and ODBASE 2002
Semantics of Protocol Modules Composition and Interaction
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
A Framework to Dynamically Manage Distributed Virtual Environments
VW '00 Proceedings of the Second International Conference on Virtual Worlds
Fault-Tolerant Distributed Theorem Proving
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Scalable Stability Detection Using Logical Hypercube
SRDS '99 Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems
BASE: Using abstraction to improve fault tolerance
ACM Transactions on Computer Systems (TOCS)
ITRA: Inter-Tier Relationship Architecture for End-to-end QoS
The Journal of Supercomputing
Fast Paths in Concurrent Programs
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Adaptive middleware for data replication
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
MIDDLE-R: Consistent database replication at the middleware level
ACM Transactions on Computer Systems (TOCS)
WS-replication: a framework for highly available web services
Proceedings of the 15th international conference on World Wide Web
Pandora: a flexible network monitoring platform
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Melange: creating a "functional" internet
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
A step towards a new generation of group communication systems
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Future directions in distributed computing
Database replication based on group communication: implementation issues
Future directions in distributed computing
Database replication: a tale of research across communities
Proceedings of the VLDB Endowment
Using selective acknowledgements to reduce the memory footprint of replicated services
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part II
EG VE'00 Proceedings of the 6th Eurographics conference on Virtual Environments
Hi-index | 0.00 |
Ensemble is a group communication system that demonstrably achieves a wide range of goals. It is a general-purpose communication system intended for constructing reliable distributed applications; it is a flexible framework for carrying out research in group ware protocols; it is a large-scale, system-style implementation built in a state-of-the-art programming language\rc{lines of ML?}; and it is also a mathematical object designed to be amenable to formal analysis and manipulation. Thus, Ensemble straddles a number of disciplines of computer science ranging from systems architectures to formal methods. The principal advances described in this thesis are the creation of the Ensemble system and the demonstration that it exhibits the properties just mentioned. The thesis begins by presenting the Ensemble architecture, as well as background in group communication. We describe the various components of the architecture, give examples of their interactions, and compare this architecture with that of other layered communication systems. The Ensemble protocols make heavy use of layered micro-protocols. We describe optimization techniques that greatly reduce the performance overheads introduced by layering and show how the architecture facilitates these optimizations. In addition we show how to formalize these optimizations in type theory and implement them using the Nuprl theorem prover. Ensemble is implemented in a dialect of the ML programming language. We describe how the use of ML impacted the system, and present a wide range of comparisons between Ensemble and a similar system implemented in C.