Distributed Computing: - not everything centralized - many processors
Distributed Systems: Internet The machines of our department ATM machines, bank accounts
What is then parallel computing? Many processors in the same machine All processors solve the same task A restricted form of distributed computing
Basic Distributed Systems: Message passing Shared Memory
Message Passing Systems Easy to implement in hardware
Shared Memory Systems Harder to implement in hardware Easy to program
Distributed Algorithms Several problems: Communication Problems Coordination Problems Specific problems
Example: The counting problem Shared variable Sequential Bottleneck!!!
A better solution: Counting network many shared variables
Example: Routing Problems
Example: Finding the spanning tree problem
Example: Leader election problem
Example: Mutual Exclusion Problem Critical Region One processor allowed
Example: Consensus Problem Time 0 Final Time 1 1 1 1 1 1 1 1 1
Topics: Message Passing Model Spanning Trees Independent Set Coloring Clustering Shared Memory Mutual Exclusion Byzantine Agreement Consensus Distributed Counting