Professional Documents
Culture Documents
concepts issues, problems, and solutions and functionality systems (Tanenbaum, Ch. 1)
Structured
Content:
Distributed
tolerance (Ch. 7)
Course Material
Tanenbaum, van Steen: Distributed Systems, Principles
and Paradigms; Prentice Hall 2002
October 23, 08
Course Exams
Normal way (recommended)
Exercises,
Grading:
Exam
48 points 12 points (~ 20 exercises, scaled to 012) exercises 6 points (3 exercises) based on 60 point maximum 30 points to pass with minimum 16 points in exam
Exercises Home
Grading Need 50
October 23, 08
Exercises
Weekly exercises:
Smaller
assignments
Home exercises
1
study diary, 2 design exercises dates will be announced later diary individual work exercises can be done in groups of up to 3
Due
Study
Design
October 23, 08
People
Jussi Kangasharju
Lectures: Office
Mika Karlstedt
Exercise
groups:
- 1. Mika Karlstedt Tue 12-14 in C221 (in English) - 2. Mika Karlstedt Thu 12-14 in CK111
Home Office
October 23, 08
Questions?
October 23, 08
Chapter Outline
Defining distributed system Examples of distributed systems Why distribution? Goals and challenges of distributed systems Where is the borderline between a computer and a
distributed system? Examples of distributed architectures
October 23, 08
A distributed system is a collection of independent computers that appears to its users as a single coherent system. ... or ... as a single system.
October 23, 08
size (open
ended)
no
backbone
communication
- a firewall - total isolation may be worldwide typical services: - infrastructure services: file service, name service - application services
devices devices
embedded in appliances
October 23, 08
12
Mobile nodes come and go No infrastructure - wireless data communication - multihop networking - long, nondeterministic dc delays
October 23, 08 13
Service resources
search
engines
computer-supported
cooperative working
Activity.html
Mastering openness
HTML URL HTTP
October 23, 08
14
Distributed application
one single system one or several autonomous subsystems a collection of processors => parallel processing => increased performance, reliability, fault tolerance partitioned or replicated data => increased performance, reliability, fault tolerance Dependable systems, grid systems, enterprise systems
Kangasharju: Distributed Systems October 23, 08 15
Why Distribution?
Sharing of information and services Possibility to add components improves availability reliability, fault tolerance performance scalability
Goals
Making resources accessible Distribution transparency Openness Scalability Security System design requirements
October 23, 08
18
October 23, 08
19
Transparency
concealment
October 23, 08
20
Transparencies
Transparency
Access Location
Description
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 (*)
Migration (the resource does not notice) Hide that a resource may be moved to another location (*) Relocation while in use (the others dont notice) Replication Concurrency Failure Persistence Hide that a resource is replicated 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
(*) Notice the various meanings of location : network address (several layers) ; geographical address Kangasharju: Distributed Systems October 23, 08 21
concurrency heterogeneity
October 23, 08
22
October 23, 08
23
Description Processs local clock exceeds the bounds on its rate of drift from real time. Process exceeds the bounds on the interval between two steps. A messages transmission takes longer than the stated bound.
October 23, 08
24
Failure Handling
More components => increased fault rate Increased possibilities
more no
Issues
Detecting Masking
failures
Recovery Tolerating
Redundancy
October 23, 08
25
Concurrency
Concurrency:
Several
data: consistency of information? data: how to determine the state of the system?
of messages?
October 23, 08
26
Consistency Maintenance
Update ... Replication ... Cache ... Failure ... Clock ... User interface ....
... consistency
October 23, 08
27
Heterogeneity
Heterogeneity of
networks computer operating
programming
implementations
Portability, interoperability Mobile code, adaptability (applets, agents) Middleware (CORBA etc) Degree of transparency? Latency? Location-based
services?
October 23, 08
28
Activities addresses
extensions:
re-implementations
Supported by
public
standardized
October 23, 08
29
of resources of users
architecture and the implementation must allow it algorithms must be efficient under the circumstances to the Internet
be expected
Example:
October 23, 08
30
forms)
caching
(all sorts of hierarchical memories: data is closer to i.e. partitioning of tasks or information (domains)
(e.g., DNS)
Kangasharju: Distributed Systems October 23, 08 31
Copy of m
The enemy
Process p
m
Communication channel
m
Process q
Current issues: denial-of-service attacks, security of mobile code, information flow; open wireless ad-hoc environments
October 23, 08
32
Threats
Threats to channels (Fig. 2.14)
eavesdropping (data, tampering, replaying masquerading denial of service
CoDoKi, Fig. 2.14
traffic)
Copy of m
The enemy
Process p
m
Communication channel
m
Process q
identity
unauthorized
access model)
unauthorized
October 23, 08
control techniques
Policies
access lattice
models
information
October 23, 08
34
Environment challenges
A distributed system:
HW
/ SW components in different nodes communicate (using messages) coordinate actions (using messages)
components components
October 23, 08
35
issue:
Quality of service
correctness reliability, security performance adaptability
October 23, 08
36
Hardware Concepts
Characteristics which affect the behavior of software
systems The platform ....
the
individual nodes (computer, processor) between two nodes of the system (network of nodes)
communication organization
October 23, 08
38
1.6
Multiprocessors (1)
1.7
A bus-based multiprocessor.
Essential characteristics for software design fast and reliable communication (shared memory) => cooperation at instruction level possible bottleneck: memory (especially the hot spots)
October 23, 08
40
Multiprocessors (2)
1.8
a) A crossbar switch
1-9
a) Grid
b) Hypercube
communication: =>
Application architectures
multiprocessor multicomputer (
different?)
October 23, 08
43
Software Concepts
System Description Tightly-coupled operating system for DOS multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Main Goal
NOS
Middleware
process management
with distributed services standard transport protocols and provides standard for multiple hardware, protocol stacks, operating
API
available
systems
e.g.,
October 23, 08
46
Misconceptions tackled
The network is reliable The network is secure The network is homogeneous The topology does not change Latency is zero Bandwith is infinite Transport cost is zero There is one administrator There is inherent, shared knowledge
October 23, 08
47
1.14
1.15
b)
c)
October 23, 08
50
1.18
October 23, 08
51
1-19
Kangasharju: Distributed Systems October 23, 08 52
1-20
Two clients and a server in a network operating system.
October 23, 08
53
1.21
Software Layers
Platform: computer & operating system & .. Middleware:
mask
(at least: provide a homogeneous platform) - implement communication - implement sharing of resources
mask
October 23, 08
55
Positioning Middleware
1-22
Middleware
Operations offered by middleware
RMI,
Limitations
ignorance
End-to-end argument: Communication of application-level peers at both ends is required for reliability
October 23, 08
57
Middleware
Host 1
Distributed application Middleware API Middleware Operating System API communication processing storage Distributed application
Host 2
Operating system
Operating system
network
Kangasharju: Distributed Systems October 23, 08 58
Middleware
Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is defined as a layer of software above the operating system but below the application program that provides a common programming abstraction across a distributed system.
Bakken 2001: Encyclopedia entry
October 23, 08
59
1.23
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.
October 23, 08
60
October 23, 08
61
Architectural Models
Architectural models provide a high-level view of the
distribution of functionality between system components and the interaction relationships between them
nodes)
communication
Criteria
performance reliability scalability,
..
October 23, 08
63
Client-Server
Client-server model: CoDoKi, Fig. 2.2 Service provided by multiple
servers: Fig. 2.3
Needed:
name
service service
trading/broker browsing
service
CoDoKi, Fig. 2.4
October 23, 08
64
October 23, 08
65
A sample server.
October 23, 08
66
1-27 b
Processing Level
1-28
The general organization of an Internet search engine into three different layers
October 23, 08
68
1-29
October 23, 08
69
node 1
A
reply
node 2
node 3
node 4
1-30
October 23, 08
71
Mobile agents
October 23, 08
72
for execution
Thin clients
Network computer or PC
Thin Client
network
Application Process
CoDoKi, Fig. 2.7
October 23, 08
73
gateway Internet
Music service
Alarm service
Problems
Discovery service
Discovery service
TV/PC
Laptop
PDA
Guests devices
Modern Architectures
1-31
Other Architectures
Andrews paradigms:
filter: a generalization of producers and consumers heartbeat probe echo
Peer to peer
CoDoKi, Fig. 2.5
October 23, 08
76
Chapter Summary
Introduction into distributed systems Challenges and goals of distributing Examples of distributed systems
October 23, 08
77