Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011.

Similar presentations


Presentation on theme: "Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011."— Presentation transcript:

1 Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011

2 What is a distributed system ? Abstract definition: It is a network of processes. (The nodes are processes, and the edges are communication channels.) 11 1 2 3 4 5 6 7 8 9 10 2 0

3 Example 2 Email communication among 436 employees of one of the Hewlett Packard Research Labs. It is a trivial example of a distributed system. Collectively these communications help complete an unspecified job.

4 Facts  Technology has dramatically reduced the cost of processors, so their population is exploding.  User demands for services have increased the scale of systems (Facebook has 500 million users)  We live in a networked society. 3

5 Examples Large networks are very commonplace these days. Think of the world wide web. A few examples of distributed systems are: - Facebook (the oxygen of many people) - Sensor networks - BitTorrent for downloading video / audio - Skype for making free audio and video communication - Process control networks in engineering factories - Computational grids ( OSG, Teragrid, SETI@home ) - Network of mobile robots collectively doing a job 4

6 Sensor Network The sensor network is checking the structural integrity of the bridge 5

7 Mobile robots I-Swarm Robot (See a video of the I-Swarm Robots on YouTube) 6 The I-Swarm project, consisting of 10 research institutes, is coordinated by Professor Heinz Wörn and Jörg Seyfried of the University of Karsruhe in Germany.

8 Goal of a distributed system The application layer software enables the computers to coordinate their activities and to share hardware and software, and data, so that users perceive a single, integrated computing facility. 7 D ownloading music in Bittorrent

9 Goal continued Distributed computing relies on inter-process communication, which involves all layers of networking. In fact, the communication system Itself helps create simple abstractions of inter- process communication and facilitate program writing. Example: (1) TCP implements a reliable end-to-end communication channel, (2) Media Access protocol used in Ethernet LAN or Wireless networks helps resolve network access conflict. P Q Create a reliable channel between P and Q that are 10,000 miles away 8

10 Why distributed systems Geographic distribution of processes Resource sharing ( example: P2P networks, grids ) Computation speed up ( as in a grid ) Fault tolerance 9

11 Important services Internet banking Web search Net meeting Distance education Video distribution Internet auction Skype Publish subscribe 10

12 Important challenges Knowledge is local Clocks are not synchronized No shared address space Topology and routing : everything is dynamic Scalability: all solutions do not scale well Processes and links fail: Fault tolerance 11

13 Some common subproblems Leader election Mutual exclusion Time synchronization Distributed snapshot Replica management Consensus 12

14 Implementation Practical distributed systems has a real network as its backbone. However, such systems can also be simulated on a shared-memory multiprocessor, or even on a single processor. (How will you do it? Think of simulating multiple processes, and mailboxes between pairs of communicating processes) 13

15 Models We will reason about distributed systems using models. There are many dimensions of variability in distributed systems. Examples: - types of processors - inter-process communication mechanisms - timing assumptions - failure classes - security features, etc 14

16 Models Models are simple abstractions that help overcome the variability -- abstractions that preserve the essential features, but hide the implementation details from observers who view the system at a higher level. We don’t care whether a process runs on a PC or a Mac. A link may use optical communication or radio communication For simplicity, in a specific model, we may assume that all clocks are perfectly synchronized. 15

17 A classification Client-server model Ser ver is the coordinator Peer-to-peer model No unique coordinator Server Clients 16

18 Parallel vs Distributed In both parallel and distributed systems, the events are partially ordered. The distinction between parallel and distributed is not always very clear. In parallel systems, the primarily issues are speed-up and increased data handling capability. In distributed systems the primary issues are fault-tolerance, synchronization, scalability etc. 17 ParallelDistributed GridP2P

19 The Case of Facebook 17 30,000 servers The servers are networked, both for speed-up and for fault-tolerance. The set up mimics client- server kind of operation, with the servers having a high level of parallelism, although the network of servers may be viewed as a distributed system. user

20 Objective of the course To understand how a system works, why it fails, how can we guarantee our design, so that it behaves the way we want it to behave. A system that “sometimes works” is no good. Disclaimer: We are not discussing implementation or programming, although they are also important issues. 18


Download ppt "Distributed Systems and Algorithms Sukumar Ghosh University of Iowa Spring 2011."

Similar presentations


Ads by Google