Classification of Distributed Systems Properties of Distributed ...

89 downloads 797 Views 58KB Size Report
Classification of Operating Systems (cont.) ▫ “True” Distributed Operating System . ○ Loosely-coupled hardware. ▫ No shared memory, but provides the “feel” of ...
Classification of Distributed Systems Properties of Distributed Systems

Classification of Operating Systems (cont.) n

n

n

n

motivation: advantages of distributed systems classification l architecture based n on interconnection n on memory access l design based (OS models) design issues of a distributed system l transparency l heterogeneity l autonomy l others

“True” Distributed Operating System l

Loosely-coupled hardware n

No shared memory, but provides the “feel” of a single memory

l

Tightly-coupled software

l

Machines are somewhat, but not completely, autonomous

n

One single OS, or at least the feel of one

Disk1 M1

P1

P2

M2

P3

M3

Network M4

P4

Why Use Distributed Systems? What are the Advantages? Price / performance l Network of workstations provides more MIPS for less $ than a mainframe does Higher performance: l n processors potentially give n times the computational power Resource sharing: l Expensive (scarce) resources need not be replicated for each processor Scalability: l Modular structure makes it easier to add or replace processors and resources Reliability: l Replication of processors and resources yields fault tolerance

n

n

n

n

n

Classification of MIMD Architectures

Two main types of interconnection: l l

n

M1

M2

Switch (crossbar, multistage switch)

MIMD parallel and distributed computers loosely coupled

tightly coupled

bus Sequent

switched Ultracomputer

multicomputers (distributed / private memory)

bus Workstations on a LAN

switched Hypercube

n

Tightly coupled ≈ parallel processing

n

Processors share clock and memory, run one OS, communicate frequently Loosely coupled ≈ distributed computing l

l

Each processor has its own memory, runs its own OS (?), communicates infrequently

Classification of Multiprocessors Based on Interconnection Network (cont.)

Mm

n

Bus P1

Disk5

multiprocessors (shared memory)

Tanenbaum (date?)

Classification of Multiprocessors Based on Interconnection Network n

P5

M5

Printer4

P2

Pn

Corssbar switch: l

Bus-based interconnection

little contention for memory access — multiple memories can be accessed in parallel

l

Simple

l

Simple routing

l

Bus is a broadcast medium

l

l

Contention for access to bus (does not scale well)

Number of crossbar switches grows quadratically

l

Complicates caches (need snoopy cache)

M1

M2

Mm

P1

P2

switch Pn

Classification of Multicomputers Based on Interconnection Network

Classification of Multiprocessors Based on Interconnection Network (cont.)

Two main types of interconnection: n

Multistage switch l

Reduced number of switches

l

Increased communication delay (number of hops Increased contention for memory access

l

P1

M1

P2

M2

P3

M3

P4

M4

P5

M5

P6

M6

P7

M7

P8

M8

l

LAN (local area network) – bus based

l

Switching network 2 n Grid n - nodes arranged as an n x n grid – easy to lay-out – Maximum route proportional to n2 – Most messages take multiple hops n n Hypercube – a n-degree hypercube (n-cube) consists of 2 nodes (processors) arranged in an n-dimensional cube, where each node is connected to n other nodes – Maximum route proportional to n – Most messages take multiple hops

Complex network

l

Classification of Multiprocessors and Multicomputers, Based on Memory Access

Distributed System Models n

Minicomputer model l

n

UMA — Uniform Memory Access l

n

n

Main memory is at a central location

n

NUMA — Non-Uniform Memory Access l

Main memory is physically partitioned, with each partition attached to a different processor

l

Each processor can access its own memory (fast), or the memory of another processor (slow)

n

NORMA — No Remote Memory Access l

Main memory is physically partitioned, with each partition attached to a different processor

l

A processor can not access the memory of another processor

n

Workstation model l

Many workstations connected to a network

l

Particularly useful if users can use remote workstations (process migration)

Workstation-server model l

Same, plus more some machines run as servers: file server, print server, etc.

l

Good resource sharing (printers, etc.), cheap workstations (don’t need big disks)

Processor-pool model l

Goals of a Distributed System: Transparency n

Access transparency l User is unaware whether a resource is local or remote

n

Location transparency l User is unaware of physical location of hardware or software resources n location transparency n user mobility Migration transparency l User is unaware if OS moves processes or resources (e.g., files) move to a different physical locations Replication transparency l Resource duplication is invisible to users Concurrency transparency l Resource sharing is invisible to users

n

n

n

Several minicomputers connected to a network, each with several terminals

Terminals connect to network, pool of processors connect to network

Goals of a Distributed System: Support Heterogeneity n

Heterogeneity means “consisting of a number of completely different elements”

n

Computer hardware heterogeneity l

n

Network heterogeneity l

n

Different computer architectures (e.g., instruction sets, data representations) of components in distributed systems

Different transmission media, signaling, network interfaces, and protocols

Software heterogeneity l

Different operating systems, application programs

Goals of a Distributed System: Right Degree of Autonomy n

Autonomy is a measure of the independence of the components in a distributed system

n

Low degree of autonomy = dependent

n

Other design issues of a distributed system n

l

Inflexible

n

l

Little robustness in the presence of failures

n

High degree of autonomy = independent l

More flexibility

l

High redundancy

l

May still require some central control

l

Poor resource sharing and coordination

n

fault tolerance – system should be able to withstand failure of its components and continue (in possibly diminished capacity) its operation flexibility – to ease modification and enhancement scalability – system’s performance should not dramatically deteriorate as the system size decreases security l

the communicating parties should be sure of each other identity (be able to trust each other)

l

the communicating parties should be sure that the communication is not compromised (altered or eavesdropped)

l

hard because there is no single point of control/authentication