Professional Documents
Culture Documents
Distributed Systems: What Is A Distributed System?: Fall 2008 Jussi Kangasharju
Distributed Systems: What Is A Distributed System?: Fall 2008 Jussi Kangasharju
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