No Slide Title

Download Report

Transcript No Slide Title

COMP28112 Lecture 3
•Architectures of distributed systems
•Fundamental Models
Architectures of Distributed Systems
• Tightly coupled
– Highly integrated machines that may look as a single
computer.
• Loosely coupled (share nothing)
– Client-Server
– Peer-to-Peer
– A Key differentiation based on the Programming Interface:
• Distributed Objects
• Web Services
• Read “Web Services are not Distributed Objects”, Internet Computing, Nov-Dec. 2003,
http://www.allthingsdistributed.com/historical/archives/000343.html
17-Jul-15
COMP28112 Lecture 3
2
Tightly coupled systems
• Distributed shared memory (DSM)provides the
illusion of a single shared memory: it spares the
programmer the concerns of message passing.
Figure 18.1
The distributed shared memory abstraction
Distri buted shared memory
DSM appears as
memory in addres s
space of process
Process
acces sing DSM
17-Jul-15
Physic al
memory
Physic al
memory
COMP28112 Lecture 3
Physic al
memory
3
Issues with Distributed Shared Memory
• Machines are still connected by a network:
– Minimize network traffic
– Reduce the latency between request and completion
•
•
•
•
How to keep track of the location of shared data
How to overcome delays when accessing remote data
How to make shared data concurrently accessible
Replicate shared data on multiple machines:
– Need memory coherence
• Lots of research in the context of building parallel
computers – see Chapter 18 in Coulouris et al book.
17-Jul-15
COMP28112 Lecture 3
4
Architectural Styles
(talking about loosely-coupled systems)
Based on the logical organization of the
components of distributed systems:
• Layered architectures
• Object-based architectures
• Data-centered architectures
• Event-based architectures
17-Jul-15
COMP28112 Lecture 3
5
The layered architectural style
See Figure 2-1 in Tanenbaum and Van Steen book
17-Jul-15
COMP28112 Lecture 3
6
The object-based architectural style
See Figure 2-1 in Tanenbaum and Van Steen book
17-Jul-15
COMP28112 Lecture 3
7
The Event-Based architectural style
• See Figure 2-2 in Tanenbaum and Van Steen book
17-Jul-15
COMP28112 Lecture 3
8
Shared-Data Space Architectural Style
• See Figure 2-2 in Tanenbaum and Van Steen book
17-Jul-15
COMP28112 Lecture 3
9
System Architectures of Distributed Systems
Figure 2.1
Software and hardware service layers in distributed systems
Applications, services
Middleware
Operating system
Platform
Computer and networ k hardware
17-Jul-15
COMP28112 Lecture 3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
10
Middleware
• Middleware: a software layer that provides a
programming abstraction to mask the heterogeneity
of the underlying platforms (networks, languages,
hardware, …)
– E.g., CORBA, Java RMI
• But… the end-to-end argument implies that some
aspects of communication support cannot always be
abstracted away from applications.
17-Jul-15
COMP28112 Lecture 3
11
The end-to-end argument
“The function in question can completely and correctly be
implemented only with the knowledge and help of the
application standing at the end points of the communication
system. Therefore, providing that questioned function as a
feature of the communication system itself is not possible.
(Sometimes an incomplete version of the function provided by
the communication system may be useful as a performance
enhancement.)”
• See Coulouris pages 33-34 and http://www.reed.com/dpr/locus/Papers/EndtoEnd.html
17-Jul-15
COMP28112 Lecture 3
12
Client-Server Model
Figure 2.2
Clients invoke individual servers
Cl ient
invocation
resul t
invocation
Server
Server
resul t
Cl ient
Key:
Process:
17-Jul-15
COMP28112 Lecture 3
Computer:
13
Client-Server Model
• Characteristics of a server:
–
–
–
–
Passive (slave)
Waits for requests
Upon receipts of requests, it processes them and sends replies
Can be stateless (does not keep any information between requests)
or stateful (remembers information between requests)
• Characteristics of a client:
– Active (master)
– Sends requests
– Waits for and receives server replies
17-Jul-15
COMP28112 Lecture 3
14
Peer-to-Peer (P2P)
Figure 2.3
A distributed application based on peer processes
Peer 2
Peer 1
Appl ication
Appl ication
Peer 3
Sharable
objects
Earlier Example:
•Usenet News
Other examples:
•Napster, Gnutella,
Freenet, …
Appl ication
Peer 4
Appl ication
Peers 5 .... N
17-Jul-15
COMP28112 Lecture 3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
15
Client-Server vs P2P
• Client-Server
–
–
–
–
–
17-Jul-15
• P2P
Widely Used
Functional Specialisation
Asymmetrical
Tends to be centralised
Tends to scale poorly
– Symmetrical, computers
have same “rights”
– Truly Distributed
– Share / exploit resources
with a large number of
participants
– Resource discovery is a
challenge
COMP28112 Lecture 3
16
Variations on a theme…
• Sometimes we need to consider:
– The use of multiple servers to increase performance
and resilience
– The use of mobile code
– Users’ need for low-cost computers
– Requirements to add and remove mobile devices
17-Jul-15
COMP28112 Lecture 3
17
Multiple Servers
Figure 2.4
A service provided by multiple servers
Ser vice
Ser ver
Cli ent
Ser ver
Cli ent
Ser ver
17-Jul-15
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
COMP28112 Lecture 3
18
Proxies and Caches
Figure 2.5
Web proxy server
Web
server
Client
Proxy
server
Web
server
Client
17-Jul-15
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
COMP28112 Lecture 3
19
Mobile Code…
Figure 2.6
Web applets
a) client request results in the downloading of applet code
Client
Applet code
Web
serv er
b) client interacts with the applet
Client
17-Jul-15
Applet
COMP28112 Lecture 3
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
Web
serv er
20
Thin Clients
Figure 2.7
Thin clients and compute servers
Compute server
Network computer or PC
Thin
Client
17-Jul-15
network
COMP28112 Lecture 3
Application
Process
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4
© Pearson Education 2005
21
Design Requirements
• Performance
– Responsiveness
– Throughput
– Load balancing
• Quality of Service
• Caching and Replication
• Dependability
– Correctness
– Security
– Fault-Tolerance
17-Jul-15
COMP28112 Lecture 3
22
Fundamental Models
• Models include all the essential ingredients that we
need to consider in order to understand and reason
about some aspects of a system’s behaviour.
• A way of abstracting from reality.
• Aspects that we need to capture include:
– Process Interaction
– Failure
– Security
Managing concurrency and failure underlies many of the
problems we face!
17-Jul-15
COMP28112 Lecture 3
23
Factors affecting process interaction
• Performance of communication channels
• Computer Clocks and Timing Events
• Two variants of the process interaction model:
– Synchronous systems:
• Process Execution Speeds: has known lower and upper bound
• Message transmitted delay: bounded
• Clock drift rates: drift rate from real time has a known bound
– Asynchronous systems:
• All the above may take an arbitrarily long time.
17-Jul-15
COMP28112 Lecture 3
24
Event Ordering
Figure 2.8
Real-time ordering of events
send
X
1
receive
m1
2
receive
Y
receive
4
send
3
m2
receive
Physi cal
ti me
send
Z
receive
m3
A
t1
17-Jul-15
receive
t2
m1
m2
receive receive receive
t3
COMP28112 Lecture 3
25
Failures in distributed systems
• What can go wrong?
– (see Figure 2.10 in Coulouris)
• How to mask failures?
– Read about checksums in network protocols
17-Jul-15
COMP28112 Lecture 3
26
In Summary...
• Different Architectures have different solutions
• Managing Concurrency, Failures, and Security
underlies many of the problems we face.
• Reading:
– Coulouris (4th or 5th edition), Chapter 2; Tanenbaum, Sec. 2.1, 2.2
(skim through the rest of Chapter 2)
– Read the text associated with the figures from Coulouris et al and
Tanenbaum et al textbooks that are shown in this handout.
• Next time: Remote procedure calls.
17-Jul-15
COMP28112 Lecture 3
27