DCS Intro
DCS Intro
DCS Intro
Distributed System
A collection of independent
computers that appears to its
users as a single coherent
system.
Why Distributed Systems?
• Distributed (and mobile) users
– Desire to access data/resources
• Distributed data/information
– World Wide Web
• Distributed organizations
– Multi-location & multinational corporations
• Distributed resources
– Distributed file systems, grids, web farms
• Enabling technology:
– Advances in communications and networks
Characteristics of Distributed Systems
• Hides heterogeneity and internal workings
• Easy to expand or scale
• Continuous availability
• Layered design
• Examples
– Networked workstations
– Distributed databases
– WWW
– Cloud and edge systems
– Internet of Things, Sensor networks, etc.
Distributed System Organization
1.1
Concept Example
Scalability Problems
Characteristics of Distributed Algorithms
• Single machine does not have complete
information
• Decisions are made based on local information
• Failure of a node does not cause the algorithm to
fail
• No global clock
• Distributed algorithms are much harder than
centralized algorithms
Geographical Scalability Challenges
• Synchronous communication
– Waiting for a reply does not scale well!!
• Unreliable networks
– Broadcasting does not work
• Centralized components
– Will eventually become bottlenecks
• Multiple administrative domains
– Security mechanisms do not come for free
Scalability Techniques
• Hiding communication latencies
– Asynchronous communication
– Reduce amount of data transmitted
• Distribution
– Spreading work across system
• Caching and replication
– Make copies of data and services
• Balance load
– Avoid hot spots
Scaling Techniques
1.4
1.5
• Banking example