Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 1 Introduction.

Similar presentations


Presentation on theme: "Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 1 Introduction."— Presentation transcript:

1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 1 Introduction DISTRIBUTED SYSTEMS (dDist) 2014

2 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Plan Definition Characteristics of distributed systems Main types of distributed systems

3 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Definition of a Distributed System (1) A distributed system is: –“A collection of independent computers that appears to its users as a single coherent system.”

4 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Definition of a Distributed System (2) Dropbox Google docs NFS DNS Computer science’s home page Other examples of distributed systems? A distributed system is a collection of independent computers that appears to its users as a single coherent system.

5 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Definition of a Distributed System (3) Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

6 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Definition of a Distributed System (4) Handling errors is central to distributed systems –Computer will crash –Network cables will be cut –Administrators will make stupid mistakes But a few mistakes should not take down the entire system! Q: Google has more than 1,000,000 servers. What should be the probability per day that a server crashes for Google to be able to assume that all servers run error free throughout the year with probability 99%

7 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Replication, an example Price of one reliable computer along with reliable network connection, power supply and administration such that it is guaranteed to only fail for one day during a year with probability.1%: 100000$ Price of one cheap computer, normal network and power supply such that it is guaranteed to only fail for a day during a year with probability 10%: 10000$ How to save 70000$ and do better: Buy three cheap machines, place them at distinct locations and build a system which ensure that the replicated system work as long as two out of three servers are operational at a time Q: What is the probability that the replicated system fails? A: Less that 0.05%

8 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Motivation and Goals Making resources available –Systems should allow for efficient and controlled access to and sharing of distributed/remote resources Hiding distribution – Distribution Transparency –Systems should look as if only a single computer system is running Openness – Interoperability –Systems should offer services according to standard rules that describe the syntax and semantics of those services Scalability –Systems should scale with respect to size, geography, and administrative boundaries

9 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Transparency in a Distributed System Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995).

10 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Scalability? Figure 1-3. Examples of scalability limitations.

11 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Scalability Use decentralized algorithms: –No machine has complete information about the system state –Machines make decisions based only on local information –Failure of one machine does not ruin the algorithm –There is no implicit assumption that a global clock exists Why the last requirement?

12 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Scaling Techniques Asynchronous Communication Synchronous communication –Ttotal > T1 + T2 Asynchronous communication –Possible that Ttotal <= T1 + T2

13 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Scaling Techniques Unload the server Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they are being filled.

14 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Scaling Techniques Distribution, Replication Can distribution and replication give problems? Figure 1-5. An example of dividing the DNS name space into zones.

15 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Pitfalls when Developing Distributed Systems Lazy assumptions made by first-time developer: –The network is reliable –The network is secure –The network is homogeneous –The topology does not change –Latency is zero –Bandwidth is infinite –Transport cost is zero –There is one administrator

16 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

17 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

18 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Cluster Computing Systems Figure 1-6. An example of a cluster computing system.

19 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Cluster Computing Systems Figure 1-6. An example of a cluster computing system.

20 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 NFIT Spam Cluster University of Aarhus cluster –2 * 2 redundant front-ends at two sites –2 redundant back-ends at each site –It is possible to add new back-ends Use –Spam filtering for AU, ST, SAMF, HUM, ADM, HIH –25k-40k users –Now around 200k spams a day

21 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Grid Computing Systems Figure 1-7. A layered architecture for grid computing systems.

22 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

23 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Transaction Processing Systems Figure 1-8. Example primitives for transactions.

24 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Example BEGIN_TRANSACTION balance1 = account1.getBalance() account1.setBalance(account1 + transfer) balance2 = account2.getBalance() account2.setBalance(account2 - transfer) END_TRANSACTION

25 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Characteristic properties of transactions ACID: Atomic –To the outside world, the transaction happens indivisibly Consistent –The transaction does not violate system invariants Isolated –Concurrent transactions do not interfere with each other Durable –Once a transaction commits, the changes are permanent

26 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Isolation/Serializability T1 and T2 executed concurrently/interleaved, effects will be as –T1 executed, then T2 executed, or –T2 executed, then T1 executed Simple, but slow approach: –Run transactions serially, i.e., no interleaving... The point here is that a database server may optimize based on interleaved scheduling of transcation steps!

27 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Lost Update T1 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance2 = account2.getBalance() –account2.setBalance(balance2 - trans) T2 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance3 = account3.getBalance() –account3.setBalance(balance3 - trans)

28 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 An Interleaving but Serializable Transaction T1 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance2 = account2.getBalance() –account2.setBalance(balance2 - trans) T2 –balance1 = account1.getBalance() –account1.setBalance(balance1 + trans) –balance3 = account3.getBalance() –account3.setBalance(account3 - trans)

29 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Transaction Processing Systems Durable when? Figure 1-9. A nested transaction

30 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Transaction Processing Monitor Figure 1-10. The role of a TP monitor in distributed systems.

31 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Enterprise Application Integration Interclient communication Figure 1-11. Middleware as a communication facilitator in enterprise application integration

32 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Main Distributed System Types Distributed computing systems –Cluster: Focus on computation, –Grid: Focus on accessing remote resources Distributed information systems –Databases –Focus on interoperability in reading and manipulating data Distributed pervasive systems –Focus on mobile, embedded, communicating systems

33 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Distributed Pervasive Systems per·va·sive adj \pər- ˈ vā-siv, -ziv\ : existing in or spreading through every part of something

34 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Distributed Pervasive Systems Requirements for pervasive systems –Embrace contextual changes E.g., base station jumping –Encourage ad-hoc composition E.g., make it easy to configure devices in a personalized way or for new use –Recognize sharing as the default E.g., to facilitate the discovery of new context and available resources

35 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Electronic Health Care Systems Figure 1-12. Monitoring a person in a pervasive electronic health care system, using –(a) a local hub or –(b) a continuous wireless connection.

36 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Sensor Networks (1) E.g., thousands of sensors sitting in tree tops throughout a forest and collecting information on CO 2 levels Typically: –Relatively cheap components –Connected by wireless communication –No external power supply Makes efficiency in communication a high priority Also makes high failure tolerance important

37 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Sensor Networks (2) Questions concerning sensor networks: –How do we (dynamically) set up an efficient tree in a sensor network? –How does aggregation of results take place? –What happens when network links fail?

38 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Sensor Networks (3) Figure 1-13. Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

39 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Sensor Networks (4) Figure 1-13. Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.

40 Summary Goals and problems include –Access to resources –Transparency –Openness –Scalability Types of systems –Distributed Computing Systems –Distributed Information Systems –Distributed Pervasive Systems Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 A distributed system is a collection of independent computers that appears to its users as a single coherent system.


Download ppt "Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 1 Introduction."

Similar presentations


Ads by Google