Presentation is loading. Please wait.

Presentation is loading. Please wait.

1- Distributed Systems Principles and Paradigms 2002 - 2007 2- Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.

Similar presentations


Presentation on theme: "1- Distributed Systems Principles and Paradigms 2002 - 2007 2- Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003."— Presentation transcript:

1 1- Distributed Systems Principles and Paradigms 2002 - 2007 2- Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003

2 1 INTRODUCTION 1.1 DEFINITION AND CHARACTERISTICS OF A DISTRIBUTED SYSTEM 1.2 TYPES OF DISTRIBUTED SYSTEMS 2 ARCHITECTURES 2.1 ARCHITECTURAL STYLES 2.2 SYSTEM ARCHITECTURES 3 PROCESSES, THREADS, MIGRATION 4 COMMUNICATION 4.1 FUNDAMENTALS 4.2 Types of Communication 4.2.1 REMOTE PROCEDURE CALL 4.2.2 MESSAGE-ORIENTED COMMUNICATION 4.2.3 STREAM-ORIENTED COMMUNICATION 4.2.4 MULTICAST COMMUNICATION 7 CONSISTENCY AND REPLICATION 7.1 INTRODUCTION 7.2 DATA-CENTRIC CONSISTENCY MODELS 7.3 CLIENT-CENTRIC CONSISTENCY MODELS 7.4 REPLICA MANAGEMENT 7.5 CONSISTENCY PROTOCOLS 10 DISTRIBUTED OBJECT-BASED SYSTEMS

3 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 Definition of a Distributed System (2) A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

5 Motivation and Goals  Making resources available – Systems should allow for efficient and controlled access to and sharing of distributed resources  Transparency Hiding distribution – Systems should look as if only a single computer system is running  Openness – 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

6 Features 1-Transparency

7 Access Transparency

8 Location Transparency http://www.azad.com/index.html

9 Migration Transparency

10 Relocation Transparency

11 Replication Transparency

12 Concurrency Transparency

13 Failure Transparency

14 Interoperability Portability extensible

15 2-Scalability: Size scalable: easily add more users & recourses to the system Geographically scalable : users & resources may lie far apart Administratively scalable: it can still be easy to manage even if it spans independent administrative organizations

16 Scalability

17 Characteristics of 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.

18 Techniques for Scaling Hide communication latencies Distribution Replication

19 Avoid waiting for responses; do something else: Make use of asynchronous communication Have separate handler for incoming response Problem: not every application fits this model Hide communication latencies Techniques for Scaling

20 Scaling Techniques (1) 1.4 The difference between letting: a)a server or b)a client check forms as they are being filled

21 Partition data and computations across multiple machines: Move computations to clients (Java applets) Decentralized naming services (DNS) Decentralized information systems (WWW) Distribution Techniques for Scaling

22 Scaling Techniques (2) An example of dividing the DNS name space into zones.

23 Scaling Techniques (2) address: nl.vu.cs.flits z1 z2 z3

24 Make copies of data available at different machines: Replicated file servers and databases Mirrored Web sites Web caches (in browsers and proxies) File caching (at server and client) Replication/caching Techniques for Scaling

25 Scaling – The Problem Observation Applying scaling techniques is easy, except for one thing: Having multiple copies (cached or replicated), leads to inconsistencies: modifying one copy makes that copy different from the rest. Always keeping copies consistent and in a general way requires global synchronization on each modification. Global synchronization precludes large-scale solutions. Observation If we can tolerate inconsistencies, we may reduce the need for global synchronization, but tolerating inconsistencies is application dependent.

26 Pitfalls when Developing Distributed Systems 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.

27 Types of Distributed Systems: 1- Distributed Computing Systems :Focus on computation Cluster Computing Systems Grid Computing Systems 2- Distributed Information Systems: Focus on interoperability Transaction Processing Systems Enterprise Application Integration (Exchange info via RPC or RMI) 3- Distributed Pervasive Systems (usually small, battery- powered systems, Mobile & wireless): Focus on mobile, embedded, communicating Home Systems (e.g. Smart phones, PDAs) Electronic Health care systems (Heart monitors, BAN: Body Area Networks) Sensor Networks (distributed Databases connected wirelessly )

28 Cluster Computing Systems - Hooking up a collection of simple computers via high-speed networks to build a supercomputing environment - Mostly homogenous - Example: server clusters at Banks

29 Grid Computing Systems - have a high degree of heterogeneity -Users and recourses from different organizations are brought together to allow collaboration (i.e. a V.O. = Virtual Organization) - Members belonging to the same V.O. have access rights to a common set of recourses (e.g. Police, FBI, and some local agencies may form a computing grid)

30 Grid Computing Layers Fabric layer: provides interface to local resources at a specific site within a V.O. Connectivity layer: transfer data between resources or access a resource from a remote location Resource layer: managing a single recourse such as creating a process or reading data Collective layer: access to multiple resources and typically consists of services for resource discovery, allocation and scheduling.

31 Transaction Processing Systems (1)

32 Transaction Processing Systems (2) (ACID) Characteristic: Atomic: 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.

33 A nested transaction Transaction Processing Systems (3)

34 Transaction Processing Systems (4) The role of a Transaction Processing (TP) monitor in distributed systems

35 Enterprise Application Integration -CORBA (Common Object Request Broker Architecture) -DCOM (Distributed Component Object Management) -RPC (Remote Procedure Call) -RMI (Remote Method Invocation)

36 Distributed Pervasive Systems Embrace contextual changes ( a phone now is a web access device. A device must continuously be aware of the fact that its environment may change) Encourage ad hoc composition (used differently by different users, e.g. PDA) Recognize sharing as the default (easily read, store, manage, and share info)

37 Electronic Health Care Systems (1) Where and how should monitored data be stored? How can we prevent loss of crucial data? What infrastructure is needed to generate and propagate alerts? How can physicians provide online feedback? How can extreme robustness of the monitoring system be realized? What are the security issues and how can the proper policies be enforced?

38 Electronic Health Care Systems (2) Monitoring a person in a pervasive electronic health care system, using (a) a local hub or - (b) a continuous wireless connection.

39 Sensor Networks (1) How do we (dynamically) set up an efficient tree in a sensor network? How does aggregation of results take place? Can it be controlled? What happens when network links fail?

40 Sensor Networks (2) Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

41 Sensor Networks (3) Organizing a sensor network database, while storing and processing data … or (b) only at the sensors.


Download ppt "1- Distributed Systems Principles and Paradigms 2002 - 2007 2- Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003."

Similar presentations


Ads by Google