Upload
eashel
View
249
Download
0
Embed Size (px)
Citation preview
7/28/2019 Chap01 Prasad
1/34
Distributed System: Definit
A distributed system is a piece of software
sures that:
A collection of independent computers
appears to its users as a single coherent s
tem
7/28/2019 Chap01 Prasad
2/34
Goals of Distributed System
Connecting resources and users
Distribution transparency
Openness
Scalability
7/28/2019 Chap01 Prasad
3/34
Backgrou
Developing Collaborative applications ovheterogeneous devices and data stores
Autonomous and mobile data stores
Wireless (or wired) networks of various
Devices of varying capabilities (pagers, c
Limitations of Current Technology
Explicit andtedious(dataandnetwork) p
7/28/2019 Chap01 Prasad
4/34
System on Mobile D
An Integrated Programming and
UniformUniform WebWeb ServiceServiceview of devview of dev
persistent objectpersistent object--viewviewof mobile da
Rapid development of reliable and
high-level programming and deplo
Leverageoff existingserver applic
7/28/2019 Chap01 Prasad
5/34
SyD Kernel Architecture
SyDDirectory
SyDListener
SyDEngine
S DLi k
3. Regis ter
GloballySyDAppO
Server
Client UI
SyD Kernel
2. Invoke
2. publish
1. Lookup
2
.Lookup
3.Re
SyD
SyD service
intellig
SyD deviceinvoca
7/28/2019 Chap01 Prasad
6/34
Distribution Transparency
Transparency Description
Access Hides differences in datarepresentation and invocationmechanisms
Location Hides where an object residesMigration Hides from an object the ability o
system to change that objects lo
Relocation Hides from a client the ability of asystem to change the location of
object to which the client is bound
7/28/2019 Chap01 Prasad
7/34
Degree of Transparency
Observation: Aiming at full distribution trans
may be too much:
Users may be located in different contine
tribution is apparent and not something yto hide
Completely hiding failures of networks an
is (theoretically and practically) impossib
7/28/2019 Chap01 Prasad
8/34
Openness of Distributed Sys
Open distributed system: Be able to inter
services from other open systems, irrespectiv
underlying environment:
Systems should conform to well-defined in Systems should support portability of
tions
Systems should easily interoperate
7/28/2019 Chap01 Prasad
9/34
Policies versus Mechanism
Implementing openness: Requires suppor
ferent policies specified by applications and
What level of consistency do we require fo
cached data? Which operations do we allow download
to perform? Which QoS requirements do we adjust in
of varying bandwidth?
7/28/2019 Chap01 Prasad
10/34
Scale in Distributed System
Observation: Many developers of modern dis
system easily use the adjective scalable with
ing clear why their system actually scales.
Scalability: At least three components:
Number of users and/or processes
(size scalability)
7/28/2019 Chap01 Prasad
11/34
Techniques for Scaling
Distribution: Partition data and computation
multiple machines:
Move computations to clients (Java apple Decentralized naming services (DNS) Decentralized information systems (WWW
Replication Make copies of data a ailable
7/28/2019 Chap01 Prasad
12/34
Scaling The Problem
Observation: Applying scaling techniques
except for one thing:
Having multiple copies (cached or replica
leads toinconsistencies: modifying one
makes that copy different from the rest.
Al k i i i t t d
7/28/2019 Chap01 Prasad
13/34
Distributed Systems:
Hardware Concepts
Multiprocessors
Multicomputers
Networks of Computers
7/28/2019 Chap01 Prasad
14/34
Multiprocessors and
Multicomputers
Distinguishing features:
Private versus shared memory Bus versus switched interconnection
Shared memory Private memory
M MM M M M
7/28/2019 Chap01 Prasad
15/34
Networks of Computers
High degree of node heterogeneity:
High-performance parallel systems (mult
sors as well as multicomputers) High-end PCs and workstations (servers) Simple network computers (offer users o
work access) Mobile computers (palmtops, laptops)
7/28/2019 Chap01 Prasad
16/34
Distributed Systems:
Software Concepts
Distributed operating system
Network operating system
Middleware
7/28/2019 Chap01 Prasad
17/34
Distributed Operating Syste
Some characteristics:
OS on each computer knows about the ot
puters OS on different computers generally the Services are generally (transparently) dis
across computers
7/28/2019 Chap01 Prasad
18/34
Multicomputer Operating Sys
Harder than traditional (multiprocessor) O
cause memory is not shared, emphasis shifts
cessor communication by message passing:
Often no simple global communication:
Only bus-based multicomputers provi
ware broadcasting
Effi i t b d ti i t
7/28/2019 Chap01 Prasad
19/34
Network Operating System
Some characteristics:
Each computer has its own operating sys
networking facilities Computers work independently (i.e., they
have different operating systems) Services are tied to individual nodes (ftp
WWW)
7/28/2019 Chap01 Prasad
20/34
Distributed System (Middlew
Some characteristics:
OS on each computer need not know ab
other computers OS on different computers need not gene
the same Services are generally (transparently) dis
t
7/28/2019 Chap01 Prasad
21/34
Need for Middleware
Motivation: Too many networked applicatio
hard or difficult to integrate:
Departments are running different NOSs Integration and interoperability only at leve
itive NOS services Need for federated information systems:
C bi i diff d b b
7/28/2019 Chap01 Prasad
22/34
Middleware Services (1/2
Communication services: Abandon primitive
based message passing in favor of:
Procedure calls across networks Remote-object method invocation Message-queuing systems Advanced communication streams
E ifi i i
7/28/2019 Chap01 Prasad
23/34
Middleware Services (2/2
Control services: Services giving applicatio
trol over when, where, and how they access d
Distributed transaction processing Code migration
Security services: Services for secure pro
d i i
7/28/2019 Chap01 Prasad
24/34
Comparison of DOS, NOS
and Middleware
1: Degree of transparency
2: Same operating system on each node?
3: Number of copies of the operating system
4: Basis for communication
5: How are resources managed?
I h l ?
7/28/2019 Chap01 Prasad
25/34
ClientServer Model
Basic model
Application layering
ClientServer architectures
7/28/2019 Chap01 Prasad
26/34
Basic ClientServer Model (
Characteristics:
There are processes offering services (se There are processes that use services (c Clients and servers can be distributed ac
ferent machines Clients follow request/reply model with re
using services
7/28/2019 Chap01 Prasad
27/34
Basic ClientServer Model (
Servers: Generally provide services related to
resource:
Servers for file systems, databases, impl
tion repositories, etc. Servers for shared, linked documents (W
tus Notes) Servers for shared applications
7/28/2019 Chap01 Prasad
28/34
Application Layering (1/2
Traditional three-layered view:
User-interface layer contains units for an
tions user interface Processing layer contains the functions o
plication, i.e. without specific data Data layer contains the data that a client
manipulate through the application comp
7/28/2019 Chap01 Prasad
29/34
Application Layering (2/2
Querygenerator
Rankingcomponent
HTMLgenerator
User interface
Keyword expression
Database queries
Ranked listof page titles
HTML pagecontaining list
Ple
Ule
7/28/2019 Chap01 Prasad
30/34
Client-Server Architecture
Single-tiered: dumb terminal/mainframe con
Two-tiered: client/single server configuration
Three-tiered: each layer on separate machin
Traditional two-tiered configurations:
7/28/2019 Chap01 Prasad
31/34
Alternative C/S Architectures
Observation: Multi-tiered architectures seem
stitute buzzwords that fail to capture many
clientserver organizations.
Cooperating servers: Service is physicallyuted across a collection of servers:
Traditional multi-tiered architectures Replicated file systems
7/28/2019 Chap01 Prasad
32/34
Alternative C/S Architectures
Essence: Make distinction between vertical a
izontal distribution
Replicated Web servers eachcontaining the same Web pages
Front endhandlingincomingrequests
Requestshandled inround-robinf
ashion
7/28/2019 Chap01 Prasad
33/34
r B H !
! !
&
&
7/28/2019 Chap01 Prasad
34/34
r B F ! C B !