Chapter 2 Introduction to Distributed systems 1 Chapter 2 2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts Client-Server Approach Producer-consumer approach Message oriented Stream oriented 2 1
Chapter 2 2.3 Concepts and challenges for distributed systems Design goals Hardware / Software Concepts 2.4 Distributed real time systems (our main focus) real time delay, jitter and other parameters Examples 3 Chapter 2 2.3 Concepts and challenges for distributed systems Design goals Hardware / Software Concepts 2.4 Distributed real time Systems (our main focus) Real time Delay, Jitter and other parameters Examples 4 2
Design goals in distributed systems Connecting users to resources basic function of a distributed system Transparency hiding internal structure Openness Ability to add more services Scalability Ability to expand system 5 Transparency Free the client from having to know some details for distribution (i.e. use information hiding). It is the ultimate goal of many distributed systems 6 Access Location Migration Relocation Replication Concurrency Failure Persistence Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource may be shared by several competitive users Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Hide whether a (software) resource is in memory or on disk 3
Openess An open distributed system offers services according to standard rules Rules are formalized in protocols Services are generally specified trough interfaces Specification are complete and neutral Complete: everything necessary to make an implementation is specified Neutral: it is not prescribed what an implementation should look like Interoperability: two implementations of systems or components can co-exist and work together Portability / Flexibility 7 Scalability A distributed system s ability to grow to meet increasing demands (e.g. number of users or clients) Problems Concept Centralized services Centralized data Centralized algorithms Example A single server for all users A single on-line telephone book Doing routing based on complete information 8 4
Scaling techniques Hiding communication latencies Only asynchrony communication Multi tasking / threads Not always possible Distribution Splitting thinks into smaller pieces DNS (Names in each Zone handled by single name server) Replication Having copies at different location 9 Dealing with complexity Abstraction and modeling Client, Server, Service Interface versus Implementation Information hiding interface design Separation of concerns Layering 10 5
methods It can be achieved by providing lower-level (system) services (i.e. use another layer) The client uses this services instead of hardcoding the information The service layer provides a service with a certain Quality of Service (QoS) 11 Hardware concepts Hardware distributed 12 6
Hardware concepts Multiprocessor Multicomputer 13 Different basic organization of memories in distributed systems Software concepts 14 7
Software Concepts System DOS NOS Middleware Description Tightly-coupled operating system for multi- processors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Additional layer atop of NOS implementing general-purpose services An overview of DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware Main Goal Hide and manage hardware are resources Offer local services to remote clients Provide distribution transparency 15 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11 16 8
Multiprocessor Operating System Access to shared memory Operating system data into shared memory Accessible by different processors Concurrent access Consistency Transparency: user shall not know, how many processors Communication: manipulation of Data in shared memory Only protect against simultaneous access Done by synchronization Semaphore / Monitor 17 Multicomputer Operating Systems (1) General structure of a multicomputer operating system 1.14 message passing 18 9
Multicomputer Operating Systems (2) Alternatives for blocking and buffering in message passing. 1.15 19 communication: reliable or not Multicomputer Operating Systems (3) Relation between blocking, buffering, and reliable communications. Synchronization point Send buffer Reliable comm. guaranteed? Block sender until buffer not full Block sender until message sent Block sender until message received Block sender until message delivered Yes No No No Not necessary Not necessary Necessary Necessary 20 10
Network Operating System (1) General structure of a network operating system. 1-19 21 Network Operating System (2) Two clients and a server in a network operating system. 1-20 22 11
Network Operating System (3) Different clients may mount the servers in different places. 1.21 23 Positioning Middleware General structure of a distributed system as middleware. 1-22 24 12
Middleware and Openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 25 Comparison between Systems Item Distributed OS Multiproc. Multicomp. Network OS Middlewarebased OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS Basis for communication Resource management Scalability Openness 1 Shared memory Global, central No Closed N Messages Global, distributed Moderately Closed N Files Per node Yes Open N Model specific Per node Varies Open 26 13
AUTOSAR (1) 27 Nico Maldener, AUTOSAR, Architecture & Standards for Automotive E/E Systems, Robert Bosch GmbH, 100th VDE Symposium, March 2007 AUTOSAR (2) 28 Nico Maldener, AUTOSAR, Architecture & Standards for Automotive E/E Systems, Robert Bosch GmbH, 100th VDE Symposium, March 2007 14
AUTOSAR (3) 29 Nico Maldener, AUTOSAR, Architecture & Standards for Automotive E/E Systems, Robert Bosch GmbH, 100th VDE Symposium, March 2007 15