COMP 413: Distributed Program Construction
Fall 2002
Lecture 1: Introduction
Reading:
COMP 413
Distributed System
- collection of computer nodes
- connected by a network
- software that makes it appear as a single system
COMP 413
Driving Forces
- Composition of existing systems (e.g., WWW, peer-to-peer)
- information sharing
- resource sharing
- diversity of resources, interests (trust)
- Decomposition of existing systems (e.g., mainframes,
client/server)
- scalability
- economy
- extensibility
- reliability
COMP 413
Key Characteristics
- Distributed state
- Concurrency
- Scalability
- Consistency problem
- Multiple, independent failure modes
- Availability
- Fault tolerance problem
- Heterogeneity (hardware, software)
- Flexibility, economy, innovation
- Transparency problem
- Geographic distribution
- Matches physical world
- Scalability, economy
- Communication latency problem
- Transparency problem
- Administrative distribution
- Flexibility, scalability, innovation
- Security problem
COMP 413
Design Issues
- Transparency
- simplifies programming
- complete transparency impossible/undesirable
- Openness
- well-defined interfaces and protocols
- ensures innovation, competition, flexibility
- Scalability and Performance
- leverage distributed state, administrative distribution,
hardware performance
- must distribute state, computation, minimize communication
- Security
- Authentication
- Access control
- Privacy
- Integrity
- Reliability
COMP 413
Topics
- Naming
- how to locate an object in the system?
- scalability
- location-transparence
- Communication
- how to exchange information?
- unicast/multicast/broadcast/anycast
- reduce via caching, replication
- State maintenance
- where and how is the system's state maintained?
- distribution, caching, replication, persistence
- coherence problem
- Workload distribution
- where in the system should a given task be executed?
- Reliability, Availability
- how do we recover from partial failures?
- redundancy, membership, group communication
- Security
- how to ensure privacy, integrity, authorized use?
- Software structure
- how is it all put together?
- architecture, protocols, middleware
COMP 413
Examples
- WWW
- Air-traffic control
- Stock brockerage systems
- Banking
- Distributed supercomputing, simulation
- Distributed filesystems/ network storage/file sharing
- Streaming media distribution
- Event notification
- Gaming
- Embedded distributed systems (factory automation,
vehicles)