Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Microprocessors/Multicomputers
-
Upload
snehal-laddha -
Category
Engineering
-
view
224 -
download
0
Transcript of Microprocessors/Multicomputers
Prof. Snehal Laddha 1
MULTIPROCESSORS/MULTICOMPUTERS
Prof. Snehal Laddha
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
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.
Prof. Snehal Laddha 4
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.
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
Prof. Snehal Laddha 7
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.
Prof. Snehal Laddha 9
Asymmetric multiprocessing
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
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
Prof. Snehal Laddha 12
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
Prof. Snehal Laddha 14
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
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
Prof. Snehal Laddha 17
3.Cache Only Memory Access(COMA)
Prof. Snehal Laddha 18
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.
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.
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.
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.
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.
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.
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
Prof. Snehal Laddha 26
Prof. Snehal Laddha 27