Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | cori-fleming |
View: | 214 times |
Download: | 0 times |
1
System Models
2
Outline
• Introduction
• Architectural models
• Fundamental models
• Guideline
3
Introduction
• An architectural model defines – the way in which the components of systems
interact with one another and – the way in which they are mapped onto an
underlying network of computers
• There are three fundamental models that help to reveal key problems for the designers of distributed system.
4
Difficulties and threats for distributed systems
5
Difficulties and threats for distributed systems
• Widely varying modes of use• Wide range of system environments• Internal problems:
– non-synchronized clocks– conflicting data updates– many modes of hardware and software failure
involving the individual components of a system
6
Architectural models
• An architectural model of a distributed system – first simplifies and abstracts the functions of the
individual components of a DS and – then it considers:
• The placement of the components across a network of computers
• The interrelationships between the components.
7
Architectural models (cont.)
• Software layers
• System architectures
• Variations on the client-server model
• Interfaces and objects
• Design requirements for distributed architectures
8
Software layers
• Applications, services
• Middleware
• Operating system
• Computer and network hardware
9
System architectures
• Client-server model
• Services provided by multiple servers
• Proxy srvers and caches
• Peer processes
10
Variations on the client-server model
• Mobile code
• Mobile agents
• Network computers
• Thin client
• Mobile devices and spontaneous networking
• The X-11 window system
11
Design requirements for distributed architectures
12
Design requirements for distributed architectures
• Performance issues
• Use of caching and replication
• Dependability issues
13
Performance issues
14
Performance issues
• Responsiveness– Users of interactive aplication require a fast and
consistent response to interaction.
• Throughput– The rate at which computational work is done.
• Quality of services– The ability to meet the deadlines of users need.
• Balancing computer loads– In some case load balancing may involve moving
partially-completed work as the loads on hosts changes.
15
Use of caching and replication
• The performance issues often appear to be major obstacles to the successful deployment of DS, but much progress has been made in the design of systems that overcome them by the use of data replication and caching.
16
Dependability issues
17
Dependability issues
• The dependability of computer systems as correctness, security and fault tolerance
• Fault tolerance: reliability is achieved through redundancy.
• Security: the architectural impact of the requirement for security concerns the need to locate sensitive data and other resources only in computers that can be effectively secured against attack
18
Fundamental Models
• A) Interaction model
• B) Failure model
• C) Security model
19
A) Interaction model
• Performance of communication channels
• Computer clocks and timing events
• Two variants of the interaction model
• Agreement in pepperland
• Event ordering
20
Performance of communication channels
• Communication performance is often a limiting characteristic.
• The delay between the sending of a message by one process and its receipt by another is referred to as latency.
• Bandwidth• Jitter is the variation in the time taken to
deliver a series of messages.
21
Computer clock and timing event
• It is impossible to maintain a single global notion of time.
• There are several approaches to correcting the times on computer clocks. (from GPS)
22
Two variants of the interaction model
• Synchronous distributed system– The time to execute each step of a process has known
lower and uper bounds.– Each message transmitted over a channel is received
within a known bounded time– Each process has a local clock whose drift rate from real
time has a known bound.
• Asynchronous distributed system– No bound on process executiong speeds– No bound on message transmisson delays– No bound on clock drift rates.
23
Agreement in pepperland
• The pepperland divisions need to agree on which of them will lead the charge against the Blue Meanies, and when the charge will take place.
• In asynchronous pepperland, the messengers are very variable in their speed.
• The divisions know some useful constraints: every message takes at least min. minutes and at most max minutes to arive.
• The leading division sends a message ’charge!’, then waits for min minutes, then it charges.
• The other division’s charge is guaranteed to be after the leading division’s, but no more than (max-min) after it.
24
Event ordering
• In many cases, we are interested in knowing whether an event (sending or receiving a message) at one process occurred before, after or concurrently with another event at another process.
• The execution of a system can be described in terms of events and their ordering despite the lack of accurate clocks.
25
B) Failure model
• Omission failures
• Arbitrary failures
• Failure detection
• Impossibility of reaching agreement in the presence of failure
• Masking failure
• Reliability of one to one communication
26
C) Security model
• Protecting objects
• Securing processes and their interactions
• The enemy
• Defeating security threats
• Other possible threats from the enemy
• The uses of security models
27
Guideline
• Most DS are arranged according to one of a variety of architectural models.
• The fundamental models – interaction, failure, and security – identify the common characteristics of the basic
components from which distributed systems are constructed.