Chapter 1
Chapter 1
Chapter 1
Introduction
CUP 2008
1 / 36
Definition
Introduction
CUP 2008
2 / 36
P M
P M
P M
P processor(s)
M memory bank(s)
Communication network
(WAN/ LAN)
P M
P M
P M
P M
Introduction
CUP 2008
3 / 36
Extent of
distributed
Application layer
Operating
Transport layer
system
Network layer
Data link layer
protocols
Distributed software
(middleware libraries)
Introduction
CUP 2008
4 / 36
Scalability
Modularity and incremental expandability
Introduction
CUP 2008
5 / 36
Parallel Systems
Introduction
CUP 2008
6 / 36
PM
PM
PM
Interconnection network
Interconnection network
PM
(a)
PM
PM
(b)
M memory
P processor
Figure 1.3: Two standard architectures for parallel systems. (a) Uniform memory
access (UMA) multiprocessor system. (b) Non-uniform memory access (NUMA)
multiprocessor. In both architectures, the processors may locally cache data from
memory.
Introduction
CUP 2008
7 / 36
P0 000
P1 001
000 M0 P0 000
001 M1 P1 001
000 M0
001 M1
P2 010
P3 011
010 M2 P2 010
011 M3 P3 011
010 M2
011 M3
P4 100
P5 101
100 M4 P4 100
101 M5 P5 101
100 M4
101 M5
P6 110
P7 111
110 M6 P6 110
111 M7 P7 111
110 M6
111 M7
Introduction
CUP 2008
8 / 36
Omega Network
Introduction
CUP 2008
9 / 36
0100
0000
0101
0001
0110
0010
1100
1000
0111
0011
1101
1001
1110
1010
1111
1011
processor + memory
(a)
(b)
Figure 1.5: (a) 2-D Mesh with wraparound (a.k.a. torus) (b) 3-D hypercube
Introduction
CUP 2008
10 / 36
Flynns Taxonomy
I
I
C
I
C
I
P
(a) SIMD
I
C
I
P
I
C
I
P
(b) MIMD
I
P
Control Unit
P Processing Unit
P
I instruction stream
D data stream
(c) MISD
E.g., visualization
Introduction
CUP 2008
11 / 36
Terminology
Coupling
I
Concurrency of a program
I
Granularity of a program
I
I
Introduction
CUP 2008
12 / 36
Introduction
CUP 2008
13 / 36
Synchronous (send/receive)
I
I
I
Asynchronous (send)
I
Introduction
CUP 2008
14 / 36
Blocking (send/receive)
I
Nonblocking (send/receive)
I
I
I
Introduction
CUP 2008
15 / 36
Non-blocking Primitive
Figure 1.7: A nonblocking send primitive. When the Wait call returns, at least
one of its parameters is posted.
Return parameter returns a system-generated handle
I
I
I
I
Introduction
CUP 2008
16 / 36
Blocking/nonblocking; Synchronous/asynchronous;
send/receive primities
process i
S_C
buffer_i
W
P, S_C
kernel_i
kernel_j
buffer_j
process j
R_C
S
process i
S_C
P, R_C
W
buffer_i
P,
S_C
kernel_i
S
R
P
W
Introduction
CUP 2008
17 / 36
P0
m1
m7
P1
m2
m6
m4
P2
m3
m5
P3
internal event
send event
receive event
Introduction
CUP 2008
18 / 36
round 2
round 3
Introduction
CUP 2008
19 / 36
Sync execution
I
I
I
Introduction
CUP 2008
20 / 36
Emulations:
I
I
Introduction
CUP 2008
21 / 36
System Emulations
Asynchronous
messagepassing (AMP)
MP>SM
A>S
S>A
SM>MP
Asynchronous
shared memory (ASM)
Synchronous
messagepassing (SMP)
MP>SM
A>S
S>A
SM>MP
Synchronous
shared memory (SSM)
Introduction
CUP 2008
22 / 36
Schemes for data storage, search, and lookup should be fast and scalable
across network
Revisit file system design
Introduction
CUP 2008
23 / 36
Secure channels, access control, key management (key generation and key
distribution), authorization, secure group management
Introduction
CUP 2008
24 / 36
I
I
I
I
I
I
Access: hide differences in data rep across systems, provide uniform operations
to access resources
Location: locations of resources are transparent
Migration: relocate resources without renaming
Relocation: relocate resources as they are being accessed
Replication: hide replication from the users
Concurrency: mask the use of shared resources
Failure: reliable and fault-tolerant operation
Introduction
CUP 2008
25 / 36
Useful execution models and frameworks: to reason with and design correct
distributed programs
I
I
I
I
Interleaving model
Partial order model
Input/Output automata
Temporal Logic of Actions
I
I
Introduction
CUP 2008
26 / 36
I
I
3D space, 1D time
Physical time (clock) accuracy
Logical time captures inter-process dependencies and tracks relative time
progression
Global state observation: inherent distributed nature of system
Concurrency measures: concurrency depends on program logic, execution
speeds within logical threads, communication speeds
Introduction
CUP 2008
27 / 36
Synchronization/coordination mechanisms
I
I
I
I
Introduction
CUP 2008
28 / 36
Introduction
CUP 2008
29 / 36
Introduction
CUP 2008
30 / 36
Register constructions
F
F
Consistency models:
F
F
Introduction
CUP 2008
31 / 36
I
I
I
I
Introduction
CUP 2008
32 / 36
Real-time scheduling: difficult without global view, network delays make task
harder
Performance modeling and analysis: Network latency to access resources
must be reduced
I
I
Introduction
CUP 2008
33 / 36
Mobile systems
I
I
I
Introduction
CUP 2008
34 / 36
Peer-to-peer computing
I
Distributed agents
I
Introduction
CUP 2008
35 / 36
Grid computing
I
I
Security
I
I
Introduction
CUP 2008
36 / 36