Title: Hardware and Software Concepts
1Introduction
Chapter 1
- Part II
- Hardware and Software Concepts
2Hardware Concepts (1)
- A DS machines connected together
- How are these machines connected together?
- Review multiple-CPU computer Characterization
3Hardware Concepts (2)
1.6
Different basic organizations and memories in
distributed computer systems
4Multiprocessors (1)
A bus-based multiprocessor
1.7
- Traffic Problems
- Caching (hit ratio, consistency)
- Scalable?
5Multiprocessors (2)
1.8
- A crossbar switch
- An omega switching network
6Multicomputers
- Each node is an autonomous machine
- Private memory
- Lower traffic than multiprocessors
- CPU-CPU versus CPU-Memory traffic
- Homogeneous or Heterogeneous
7Homogeneous Multicomputers (1)
- Similar nodes
- Same processors and memory space
- Homogeneous access to network
- Single network
- Bus-based or point-to-point communication
8Homogeneous Multicomputers (2)
1-9
- Grid
- Hypercube
9Heterogeneous Multicomputers
- Different nodes
- Nodes can be complex systems
- Non-homogeneous access to network
- Different networks
- DS are commonly built on this hardware category
- Need software to make it transparent
10Software Concepts
- A DS is similar to an OS
- Resource management
- Virtual machine
- OS
- Tightly coupled
- Loosely coupled
11Uniprocessor Operating Systems
1.11
- Separating applications from operating system
code through a microkernel.
12Multiple CPU Operating Systems
System Description Main Goal
DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources
NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients
Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency
- An overview between
- DOS (Distributed Operating Systems)
- NOS (Network Operating Systems)
- Middleware
13Multiprocessor OS (1)
- Similar to uniprocessor
- Single ready queue
- Mutual exclusion through monitors and semaphores
- Multiple CPUs
14Multiprocessor DOS (1)
15Multiprocessor DOS (2)
CPU
CPU
CPU
Kernel
16Multiprocessor DOS (3)
- A blocks or time-quantum expires
- CPU 1 runs the scheduler and chooses D
A (WR)
A (X)
- Schedule A again on which CPU??
B (X)
C (X)
D (R)
D (X)
C
E (R)
B
A
D
OS
17Java Monitors (1)
public class Counter private int count 0
public synchronized void reset() count 0
public synchronized int value() return count
public synchronized void inc() count count
1 public synchronized void dec() count
count 1
- A monitor to protect an integer against
concurrent access.
18Java Monitors (2)
Lock object
Counter Object
public synchronized void reset() count 0
public synchronized void reset()
acquire(this.lock) count 0 release(this.lo
ck)
19Multicomputer DOS (1)
1.14
- General structure of a multicomputer operating
system
20Multicomputer DOS (2)
1.15
- Alternatives for blocking and buffering in
message passing.
21Multicomputer DOS (3)
Synchronization point Send buffer Reliable comm. guaranteed?
Block sender until buffer not full Yes Not necessary
Block sender until message sent No Not necessary
Block sender until message received No Necessary
Block sender until message delivered No Necessary
- Relation between blocking, buffering, and
reliable communications.
22Distributed-Shared Memory
- Multicomputers are harder to program
- Multiprocessors are easier to program
- Multicomputers are more efficient and better
scalable than multiprocessors - DSM offers a reconciliation
23Page-Based DSM Example (1)
- 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
24Page-Based DSM Example (2)
X
Y
1.18
- False sharing of a page between two independent
processes.
25Network OS (1)
- Hardware is not homogeneous
- More primitive than DS
- Not fully transparent
26Network OS (2)
1-19
- General structure of a network operating system.
27Network OS (3)
- Services
- rlogin
- File transfer
- This led to the client/server organization
28Network OS (4)
1-20
- Two clients and a server in a network operating
system.
29Network OS (5)
1.21
- Different clients may mount the servers in
different places.
30DOS and NOS versus DS (1)
- DOS qualifies as DS?
- Computers are not independent
- Easy to use and transparent
- NOS qualifies as DS?
- No single coherent view
- Scalable and open
31Positioning Middleware
1-22
- General structure of a distributed system as
middleware.
32Middleware
- Local system provides
- Local resource management
- Communication mechanism
- Middleware does not manage the local nodes
- Middleware hides heterogeneity
- Should not call local services directly
33Middleware Types
- File-based (NOS Transparency)
- For traditional files only
- RPC-based
- Hides communication
- Object-based
- Remote Method Invocation
- Document-based
- The Web
34Middleware Services
- Communication Facilities
- Naming
- Persistence
- Distributed Transactions
- Security
35Middleware and Openness
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.
36Comparison between Systems
Item Distributed OS Distributed OS Network OS Middleware-based DS
Item Multiproc. Multicomp. Network OS Middleware-based DS
Degree of transparency
Same OS on all nodes
Number of copies of OS
Basis for communication
Resource management
Scalability
Openness
Very High
High
Low
High
Yes
No
Yes
No
1
N
N
N
Shared memory
Messages
Files
Model specific
Global, distributed
Per node
Global, Central
Per node
Yes
Varies
Moderately
No
Closed
Closed
Open
Open
- A comparison between multiprocessor operating
systems, multicomputer operating systems, network
operating systems, and middleware based
distributed systems.