Transparency Description

Download Report

Transcript Transparency Description

Primitive Concepts of
Distributed Systems
Chapter 1
Why Distribution?
More complex computing problems
 Grosch’s Law
 CPU speed will not increase by time

Parallelism vs. Distribution
Sometimes a user’s program which is inherently
parallel, can be run on a multiprocessor.
 This will happen by a parallelizing compiler,
proper operating system and specific hardware.
 In a distributed system, this will happen among
more than a computer.

Distributed System’s Goal
Connecting users and resources
 Transparency
 Openness
 Scalability

Transparency in a Distributed System
Transparency
Description
Access
Hide differences in data representation and how a
resource is accessed
Location
Hide where a resource is located
Migration
Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another
location while in use
Replication
Hide that a resource may be shared by several
competitive users
Concurrency
Hide that a resource may be shared by several
competitive users
Failure
Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory or
on disk
Different forms of transparency in a distributed system.
Transparency vs. Performance
There is also a trade-off between a high degree of
transparency and the performance of a system.
 Examples:

– Multiple retries for a crashed server
– Keeping a group of replicated servers strictly
consistent
Openness
An open system is such a system that its syntax
and semantic is properly defined.
 Interoperability and Portability
 Separating Policy and Mechanism

Scalability
Size
 Geographical
 Administrative

Scalability Problems
Concept
Example
Centralized services
A single server for all users
Centralized data
A single on-line telephone book
Centralized algorithms
Doing routing based on complete information
Examples of scalability limitations.
Scalability Techniques
Asynchronous Communication
 Distribution
 Replication

Scaling Techniques (1)
The difference between letting:
a) a server or
b) a client check forms as they are being filled
Hardware Concepts
Cable TV
Telephone
Multicomputer vs. Multiprocessor (global address space)
Multiprocessors (1)


A bus-based multiprocessor.
Problem of bus-based systems: scalability
– Solution: cache


Cache problem: makes the memory incoherent
What can we do?
Multiprocessors (2)
a)
b)
c)
A crossbar switch
An omega switching network
NUMA?
Spectrum of HW Systems

MPP (Massively Parallel Processors)
– Expensive, need HP networking, simultaneous access
to shared memory, single address space, hardwired,
tightly couples

COW (Cluster of Workstations)
– Cheaper, easy to make, message passing, not
hardwired, flexible, loosely coupled
Software Concepts
System
Description
Main Goal
DOS
Tightly-coupled operating system for multiprocessors 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
An overview of
 DOS (Distributed Operating Systems)
 NOS (Network Operating Systems)

Uniprocessor Operating Systems

Separating applications from operating
system code through a microkernel.
Which is easier for programming?

Question: Which one is easier for programming? A
multicomputer or a multiprocessor?
Distributed Shared Memory Systems (1)
a)
Pages of address
space distributed
among four
machines
b)
Situation after CPU
1 references page 10
c)
Situation if page 10
is read only and
replication is used
Distributed Shared Memory Systems (2)
 False
sharing of a page between two
independent processes.
Network Operating System (1)

General structure of a network operating system.
Middleware
NOS
(Openness and Scalability)
DOS
(Transparency)
Middleware
Positioning Middleware

General structure of a distributed system as middleware.
Middleware Problems
An application developed on top of a
middleware system may not work on another
one.
 Using an upperware may solve the problem.

Comparison between Systems
Item
Distributed OS
Network
OS
Middlewarebased OS
Multiproc.
Multicomp.
Degree of transparency
Very High
High
Low
High
Same OS on all nodes
Yes
Yes
No
No
Number of copies of OS
1
N
N
N
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
Processing Level
Multitiered Architectures (1)

Alternative client-server organizations (a) – (e).
Questions









A complex algorithm is going to be executed. Which one
is cheaper? Using a multicomputer or a multiprocessor?
What’s the idea behind the DSM?
What’s the idea behind a middleware?
What’s the problems of using a middleware system?
What’s the difference of policy and mechanism?
Why open distributed systems are interoperable?
What’s false sharing?
Discuss about COW and MPP for OS, cost, EoP,
scalability, speed, model of programming,
Why microkernel OS? Pros and cons?