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