Microprocessors/Multicomputers

27
MULTIPROCESSORS/ MULTICOMPUTERS Prof. Snehal Laddha Prof. Snehal Laddha 1

Transcript of Microprocessors/Multicomputers

Page 1: Microprocessors/Multicomputers

Prof. Snehal Laddha 1

MULTIPROCESSORS/MULTICOMPUTERS

Prof. Snehal Laddha

Page 2: Microprocessors/Multicomputers

2

Parallel Computer Memory Architectures Two categories of parallel computers are

distinguished on the basis of: Shared Memory

1. Uniform Memory Access (UMA)2. Non-Uniform Memory Access (NUMA)

Distributed Memory Hybrid Distributed-Shared Memory

Prof. Snehal Laddha

Page 3: Microprocessors/Multicomputers

Prof. Snehal Laddha 3

Shared MemoryGeneral Characteristics: Shared memory parallel computers vary widely,

but generally have in common the ability for all processors to access all memory as global address space.

Multiple processors can operate independently but share the same memory resources.

Changes in a memory location effected by one processor are visible to all other processors.

Historically, shared memory machines have been classified as UMA and NUMA, based upon memory access times.

Page 4: Microprocessors/Multicomputers

Prof. Snehal Laddha 4

Page 5: Microprocessors/Multicomputers

Prof. Snehal Laddha 5

Symmetric and asymmetric multiprocessors• Symmetric:

- all processors have equal access to all peripheral devices.- all processors are identical.

• Asymmetric: - one processor (master) executes the operating system- other processors may be of different types and may be dedicated to special tasks.

Page 6: Microprocessors/Multicomputers

Prof. Snehal Laddha 6

Symmetric multiprocessing Symmetric multiprocessing (SMP) involves a

symmetric multiprocessor system hardware and software architecture where two or more identical processors connect to a single, shared main memory, have full access to all I/O devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes

Most multiprocessor systems today use an SMP architecture

In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors

Page 7: Microprocessors/Multicomputers

Prof. Snehal Laddha 7

Page 8: Microprocessors/Multicomputers

Prof. Snehal Laddha 8

Asymmetric multiprocessing Asymmetric multiprocessing (AMP) was the only method for

handling multiple CPUs before symmetric multiprocessing(SMP) was available.

It has also been used to provide less expensive options on systems where SMP was available.

Additionally, AMP is used in applications that are dedicated, such as embedded systems, when individual processors can be dedicated to specific tasks at design time.

In an asymmetric multiprocessing system, not all CPUs are treated equally; for example, a system might only allow (either at the hardware or operating system level) one CPU to execute operating system code or might only allow one CPU to perform I/O operations.

Other AMP systems would allow any CPU to execute operating system code and perform I/O operations, so that they were symmetric with regard to processor roles, but attached some or all peripherals to particular CPUs, so that they were asymmetric with regard to peripheral attachment.

Page 9: Microprocessors/Multicomputers

Prof. Snehal Laddha 9

Asymmetric multiprocessing

Page 10: Microprocessors/Multicomputers

Prof. Snehal Laddha 10

SMP systems are tightly coupled multiprocessor systems with a pool of homogeneous processors running independently, each processor executing different programs and working on different data and with capability of sharing common resources (memory, I/O device, interrupt system and so on) and connected using a system bus or a crossbar

Page 11: Microprocessors/Multicomputers

Prof. Snehal Laddha 11

1. Uniform Memory Access (UMA) Most commonly represented today by Symmetric

Multiprocessor (SMP) machines 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

Page 12: Microprocessors/Multicomputers

Prof. Snehal Laddha 12

Page 13: Microprocessors/Multicomputers

Prof. Snehal Laddha 13

2. 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

Page 14: Microprocessors/Multicomputers

Prof. Snehal Laddha 14

Page 15: Microprocessors/Multicomputers

Prof. Snehal Laddha 15

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

Page 16: Microprocessors/Multicomputers

Prof. Snehal Laddha 16

Disadvantages Primary disadvantage is the lack of

scalability between memory and CPUs. Adding more CPUs can geometrically

increases 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

Page 17: Microprocessors/Multicomputers

Prof. Snehal Laddha 17

3.Cache Only Memory Access(COMA)

Page 18: Microprocessors/Multicomputers

Prof. Snehal Laddha 18

Page 19: Microprocessors/Multicomputers

Prof. Snehal Laddha 19

Distributed MemoryGeneral Characteristics: Like shared memory systems, distributed

memory systems vary widely but share a common characteristic. Distributed memory systems require a communication network to connect inter-processor memory.

Page 20: Microprocessors/Multicomputers

Prof. Snehal Laddha 20

Processors have their own local memory. Memory addresses in one processor do not map to another processor, so there is no concept of global address space across all processors.

Because each processor has its own local memory, it operates independently. Changes it makes to its local memory have no effect on the memory of other processors. Hence, the concept of cache coherency does not apply.

When a processor needs access to data in another processor, it is usually the task of the programmer to explicitly define how and when data is communicated. Synchronization between tasks is likewise the programmer's responsibility.

The network "fabric" used for data transfer varies widely, though it can be as simple as Ethernet.

Page 21: Microprocessors/Multicomputers

Prof. Snehal Laddha 21

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.

Page 22: Microprocessors/Multicomputers

Prof. Snehal Laddha 22

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.

Page 23: Microprocessors/Multicomputers

Prof. Snehal Laddha 23

Hybrid Distributed-Shared Memory

General Characteristics:The largest and fastest computers in the

world today employ both shared and distributed memory architectures.

Page 24: Microprocessors/Multicomputers

Prof. Snehal Laddha 24

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.

Page 25: Microprocessors/Multicomputers

Prof. Snehal Laddha 25

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

Page 26: Microprocessors/Multicomputers

Prof. Snehal Laddha 26

Page 27: Microprocessors/Multicomputers

Prof. Snehal Laddha 27