lecture 3
lecture 3
Lecture 3
2
Uniform Memory Access (UMA)
✓ Most commonly represented today by Symmetric
Multiprocessor (SMP) machines
✓ Symmetry – Each processor has equal access to
system resources (CPU, memory, and I/O).
✓ Identical processors
✓ Equal access and access times to memory
✓ Sometimes called CC-UMA - Cache Coherent UMA.
Cache coherent means if one processor updates a
location in shared memory, all the other processors
know about the update. Cache coherency is
accomplished at the hardware level.
3
Uniform Memory Access (UMA)
4
Non-Uniform Memory Access (NUMA)
✓ Often made by physically linking two or more SMPs
✓ One SMP can directly access memory of another SMP
✓ Not all processors have equal access time to all
memories
✓ Memory access across link is slower
✓ If cache coherency is maintained, then may also be
called CC-NUMA - Cache Coherent NUMA
5
Non-Uniform Memory Access (NUMA)
6
Advantages
✓ Global address space provides a user-friendly
programming perspective to memory
✓ Data sharing between tasks is both fast and uniform
due to the proximity of memory to CPUs
7
Disadvantages
✓ Primary disadvantage is the lack of scalability
between memory and CPUs. Adding more CPUs can
geometrically increase traffic on the shared memory-
CPU path, and for cache coherent systems,
geometrically increase traffic associated with
cache/memory management.
✓ Programmer responsibility for synchronization
constructs that ensure "correct" access of global
memory.
8
Distributed Memory
General Characteristics
10
Distributed Memory
11
Advantages
✓ Memory is scalable with the number of processors.
Increase the number of processors and the size of
memory increases proportionately.
✓ Each processor can rapidly access its own memory
without interference and without the overhead
incurred with trying to maintain global cache
coherency.
✓ Cost effectiveness: can use commodity, off-the-shelf
processors and networking.
12
Disadvantages
✓ The programmer is responsible for many of the
details associated with data communication between
processors.
✓ It may be difficult to map existing data structures,
based on global memory, to this memory
organization.
✓ Non-uniform memory access times - data residing on
a remote node takes longer to access than node local
data.
13
Hybrid Distributed-Shared Memory
General Characteristics
✓ The largest and fastest computers in the world today
employ both shared and distributed memory
architectures.
14
Hybrid Distributed-Shared Memory
✓ The shared memory component can be a shared memory
machine and/or graphics processing units (GPU).
✓ The distributed memory component is the networking of
multiple shared memory/GPU machines, which know only
about their own memory - not the memory on another
machine. Therefore, network communications are required to
move data from one machine to another.
✓ Current trends seem to indicate that this type of memory
architecture will continue to prevail and increase at the high
end of computing for the foreseeable future.
15
Advantages and Disadvantages
✓ Whatever is common to both shared and
distributed memory architectures.
✓ Increased scalability is an important advantage
✓ Increased programmer complexity is an important
disadvantage
16