Professional Documents
Culture Documents
Introduction
Manish Parashar
parashar@ece.rutgers.edu
Department of Electrical &
Computer Engineering
Rutgers University
1.1
Distributed Systems
System where hardware/software components located
at networked computers communicate and
coordinate their actions only by message passing.
Concurrency
No global clock
Independent failures
backbone
satellite link
desktop computer:
server:
network link:
A typical intranet
email server
Desktop
computers
Web server
Local area
network
email server
File server
print
other servers
the rest of
the Internet
router/firewall
Host intranet
Wireless LAN
Printer
Camera
Mobile
phone
Laptop
WAP
gateway
Host site
Home intranet
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
www.cdk3.net
Internet
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
Openness
Access, extendibility,
Security
Confidentiality, integrity, availabilty
Scalability
Failure Handling
Detecting failures, masking failures, tolerating failures, tolerating
failures, recovery from failures, redundancy
Concurrency
Consistency, causality, mutual exclusion, etc, ..
Transparency
Description
Access
Location
Migration
Relocation
Replication
Concurrency
Failure
Persistence
Openness
Openness means that a number of different
platforms can be used in a network, all that is
needed is some common protocol for them to
communicate
Scalability Problems
Concept
Example
Centralized services
Centralized data
Centralized algorithms
1.4
1.5
Hardware Concepts
1.6
Multiprocessors (1)
1.7
A bus-based multiprocessor.
Multiprocessors (2)
1.8
a) A crossbar switch
b) An omega switching network
1-9
a) Grid
b) Hypercube
Software Concepts
System
Description
Main Goal
DOS
NOS
Offer local
services to remote
clients
Middleware
Provide
distribution
transparency
An overview between
DOS (Distributed Operating Systems)
NOS (Network Operating Systems)
Middleware
1.11
void decr() {
if (count ==0) {
int blocked_procs = 0;
blocked_procs = blocked_procs + 1;
condition unblocked;
wait (unblocked);
public:
blocked_procs = blocked_procs 1;
void incr () {
else
if (blocked_procs == 0)
count = count + 1;
else
count = count 1;
}
}
signal (unblocked);
}
1.14
1.15
Send buffer
Reliable comm.
guaranteed?
Yes
Not necessary
No
Not necessary
No
Necessary
No
Necessary
b)
c)
Pages of address
space distributed
among four
machines
Situation after
CPU 1 references
page 10
Situation if page
10 is read only
and replication is
used
1.18
1-19
1-20
1.21
Positioning Middleware
1-22
1.23
Distributed OS
Network
OS
Middlewarebased OS
Multiproc.
Multicomp.
Very High
High
Low
High
Yes
Yes
No
No
Basis for
communication
Shared
memory
Messages
Files
Model specific
Resource management
Global,
central
Global,
distributed
Per node
Per node
Scalability
No
Moderately
Yes
Varies
Openness
Closed
Closed
Open
Open
Degree of transparency
Same OS on all nodes
Number of copies of OS
A sample server.
1-27 b
Processing Level
1-28
1-29
1-30
Modern Architectures
1-31