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