Shared Memory Systems in Computer Architecture

 
SHARED MEMORY SYSTEMS
 
From a strictly hardware point of view, shared memory
systems describe a computer architecture where all
processors have direct (usually bus-based) access to
common physical memory.
 
Shared memory parallel computers vary widely, but
generally have in common the ability for all processors to
access all memories as global address space.
 
It is an efficient means of passing data between programs.
 
Multiple processors can operate independently, but share
the same memory resources.
 
Shared memory consists of a global address space
which is accessible by all N-processors.
 
A processor can communicate with another
processor by writing into the global memory where
the second processor can read it.
 
Therefore, all of the processors share the same
memory and have access to it.
 
It is an efficient means of passing data between
programs. One program will create a memory portion
which other processes (if permitted) can access.
Changes in a memory location effected by one
processor are visible to all other processors.
 
In computer architecture, shared memory
architecture (SMA) refers to a 
multiprocessing design
where several processors access globally shared
memory.
 
Systems processors communicate by reading and
writing memory locations. However, there is usually
the problem of performance degradation due to
“contention” when several processors try to access
the same memory locations.
 
A fast, special interconnection network (e.g. a high-
speed  bus or cross bar switch) allows any processor
to access any part of the memory in parallel.
 
CLASSIFICATIONS OF SHARED MEMORY
 
Historically, shared memory
machines have been classified as:
Uniform Memory Access (UMA)
and
Non-Uniform Memory Access
(NUMA)
, based upon memory
access time
 
Uniform Memory Access (UMA)
 
Uniform Memory Access (UMA)
 is commonly represented by symmetric
multiprocessor (SMP). That is, multiple processors work together on the same
task and communicate with each other as needed.
 
UMA includes identical processors with equal access times to memory.
UMA gets its name from the fact that each processor must use the same shared
bus to access memory, resulting in a memory access time that is uniform across
all processors.
 
In UMA, access time remains the same independent of data location within
memory. It is sometimes called cache coherent (CC-UMA), cache coherent means
if one processor updates a location in shared memory, all other processors know
about the update.
 
UMA is suitable for general purpose and time sharing applications by multiple
users. It can be used to speed up the execution of a single large program.
All processors access shared memory through a bus (or another type of
Interconnect).
 
Shared Memory (UMA)
 
 Shared Memory (UMA)
 
NON-UNIFORM MEMORY ACCESS (NUMA)
 
 
Non-Uniform Memory Access (NUMA) 
is often by physically linking
two or more SMPs.
 
One SMP can directly access memory of another SMP.
 
In NUMA, not all processors have equal to access time to memory.
 
In NUMA, if data resides in local memory, access is fast but if data
resides in remote memory access is slower. That is under NUMA, a
processor can access its own local memory faster than memory local
to another processor or memory shared between processors.
 
Memory access time varies with location of data to be accessed
.
 
In NUMA, each processor has its own
local memory module that it can access
directly with a distinctive performance
advantage.
 
 
At the same time, it can also access any
memory module belonging to another
processor using a shared bus (or some
other types of Interconnect).
 
NUMA
 is a method of configuring a cluster
of microprocessor in a multiprocessing
system so that they can share memory
locally, improving performance and the
ability of the system to be expanded.
 
NUMA
 adds an intermediate level of
memory shared among a few
microprocessors so that all data accesses
do not have to travel on the main bus.
 
SHARED MEMORY (NUMA)
 
Most computers now have multi-core CPUs.
 
 Multicore CPUs are also found on 
smartphones
and 
tablets.
 
The more CPUs or cores a computer has, the more
activities it can perform at once, this helps to
improve performance.
Other cores can be used to perform background
tasks to avoid slowing down programs.
The advent of dual core CPUs offer dramatically
better desktop experience to PCs users.
 
When more computing power is needed,
multiprocessors are used. For example: dual
processor PC with motherboard having two
sockets for CPUs as present in some processors.
Some other examples are:
 
Sun Ultra Enterprise
72 Ultra SPARCIV + Processor 1.5GHZ
IBM Power5
AMD Quad Phenom
Intel Core i7 Quad
Sun Niagara
 
Examples
Dual-Core:
 AMD Phenom II X
2
, Intel core Duo
 
Quadcore:
 AMD Phenom II X
4
, Intels i5 and i7
 
Hexa-core:
 AMD Phenom II X
6
 and Intel core i7
 
Octa-core:
 Intel Xeon E
7
-2820 and AMD FX-8350
 
Deca-core
: Intel Xeon, E
7
-2850
 
 
DISTRIBUTED MEMORY
 
Like shared memory systems, distributed
memory systems vary widely but they share a
common characteristic.
 
Distributed memory systems require a
communication network to connect inter-
processor memory
 
DISTRIBUTED MEMORY
 
DISTRIBUTED MEMORY
 
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.
 
Advantages of Distributed Memory
 
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: DM can use commodity, off-
the-shelf processors and networking.
 
Disadvantages of Distributed Memory
 
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.
Slide Note
Embed
Share

Shared memory systems in computer architecture allow all processors to have direct access to common physical memory, enabling efficient data sharing and communication among processors. These systems consist of a global address space accessible by all processors, facilitating parallel processing but also introducing challenges such as contention and performance degradation. Classifications include Uniform Memory Access (UMA) and Non-Uniform Memory Access (NUMA), each with distinct characteristics and suitability for different applications.

  • Shared Memory Systems
  • Computer Architecture
  • Parallel Processing
  • UMA
  • NUMA

Uploaded on Jul 20, 2024 | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. SHARED MEMORY SYSTEMS From a strictly hardware point of view, shared memory systems describe a computer architecture where all processors have direct (usually bus-based) access to common physical memory. Shared memory parallel computers vary widely, but generally have in common the ability for all processors to access all memories as global address space. It is an efficient means of passing data between programs. Multiple processors can operate independently, but share the same memory resources.

  2. Shared memory consists of a global address space which is accessible by all N-processors. A processor processor by writing into the global memory where the second processor can read it. can communicate with another Therefore, all of the processors share the same memory and have access to it. It is an efficient means of passing data between programs. One program will create a memory portion which other processes (if permitted) can access. Changes in a memory location effected by one processor are visible to all other processors.

  3. In computer architecture, shared memory architecture (SMA) refers to a multiprocessing design where several processors access globally shared memory. Systems processors communicate by reading and writing memory locations. However, there is usually the problem of performance degradation due to contention when several processors try to access the same memory locations. A fast, special interconnection network (e.g. a high- speed bus or cross bar switch) allows any processor to access any part of the memory in parallel.

  4. CLASSIFICATIONS OF SHARED MEMORY Historically, machines have been classified as: Uniform Memory Access (UMA) and Non-Uniform Memory (NUMA), based access time shared memory Access memory upon

  5. Uniform Memory Access (UMA) Uniform Memory Access (UMA) is commonly represented by symmetric multiprocessor (SMP). That is, multiple processors work together on the same task and communicate with each other as needed. UMA includes identical processors with equal access times to memory. UMA gets its name from the fact that each processor must use the same shared bus to access memory, resulting in a memory access time that is uniform across all processors. In UMA, access time remains the same independent of data location within memory. It is sometimes called cache coherent (CC-UMA), cache coherent means if one processor updates a location in shared memory, all other processors know about the update. UMA is suitable for general purpose and time sharing applications by multiple users. It can be used to speed up the execution of a single large program. All processors access shared memory through a bus (or another type of Interconnect).

  6. Shared Memory (UMA)

  7. Shared Memory (UMA)

  8. NON-UNIFORM MEMORY ACCESS (NUMA) Non-Uniform Memory Access (NUMA) is often by physically linking two or more SMPs. One SMP can directly access memory of another SMP. In NUMA, not all processors have equal to access time to memory. In NUMA, if data resides in local memory, access is fast but if data resides in remote memory access is slower. That is under NUMA, a processor can access its own local memory faster than memory local to another processor or memory shared between processors. Memory access time varies with location of data to be accessed.

  9. In NUMA, each processor has its own local memory module that it can access directly with a distinctive performance advantage. At the same time, it can also access any memory module belonging to another processor using a shared bus (or some other types of Interconnect).

  10. NUMA is a method of configuring a cluster of microprocessor in a multiprocessing system so that they can share memory locally, improving performance and the ability of the system to be expanded. NUMA adds an intermediate level of memory shared microprocessors so that all data accesses do not have to travel on the main bus. among a few

  11. SHARED MEMORY (NUMA)

  12. Most computers now have multi-core CPUs. Multicore CPUs are also found on smartphones and tablets. The more CPUs or cores a computer has, the more activities it can perform at once, this helps to improve performance. Other cores can be used to perform background tasks to avoid slowing down programs. The advent of dual core CPUs offer dramatically better desktop experience to PCs users.

  13. When multiprocessors are used. For example: dual processor PC with motherboard having two sockets for CPUs as present in some processors. Some other examples are: more computing power is needed, Sun Ultra Enterprise 72 Ultra SPARCIV + Processor 1.5GHZ IBM Power5 AMD Quad Phenom Intel Core i7 Quad Sun Niagara

  14. Examples Dual-Core: AMD Phenom II X2, Intel core Duo Quadcore: AMD Phenom II X4, Intels i5 and i7 Hexa-core: AMD Phenom II X6and Intel core i7 Octa-core: Intel Xeon E7-2820 and AMD FX-8350 Deca-core: Intel Xeon, E7-2850

  15. DISTRIBUTED MEMORY Like memory systems vary widely but they share a common characteristic. shared memory systems, distributed Distributed communication processor memory memory network systems to require a connect inter-

  16. DISTRIBUTED MEMORY

  17. DISTRIBUTED MEMORY 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.

  18. Advantages of Distributed Memory Memory is scalable processors. Increase the number of processors and the size of memory increases proportionately. with the number of Each processor can rapidly access its own memory without interference and without the overhead incurred with trying to maintain global cache coherency. Cost effectiveness: DM can use commodity, off- the-shelf processors and networking.

  19. Disadvantages of Distributed Memory 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, organization. to this memory Non-uniform memory access times - data residing on a remote node takes longer to access than node local data.

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#