[[Wiki Schedule]]
*Shared-memory and distributed-memory systems [#ufc37a24]

**Shared memory [#l02a31a9]
- Shared memory is memory that can be simultaneous accessed by multiple programs. It allows data communications among programs and avoid redundant data copies. The structure allows programs to run on a single processor or on multiple separate processors.
- Using memory for communications among multiple threads is also called as shared memory.
- Hardware-wise, this is RAM.
- Software-wise, shared memory is a method of inter-process communication or a virtual memory.

**Distributed memory [#m3ffff72]


- Distributed memory is a multiprocessor system in which each processor has its own private memory. A processor can only work with its own local data. So if it wants remote data, it needs to communicate with other processors.
Because processors are separated, it needs to be interconnected. Network topology is crucial in this case.

** Third category: Distributed shared memory [#c1520783]
- Somewhere in between. Each node of a cluster has access to a large shared memory, yet also has non-shared private memory spaces.
- Here, the term "shared" does not mean that there is a single centralized memory, but that the address space is "shared" (same physical address on two processors refers to the same location in memory)

Shared vs Distributed

Merit of Shared
- Unified address space
- Easier to design
- Can leverage the conventional architecture better
Demerit of shared
- Shared bus can be a "single point of failure"
- Protocols are hidden 

Merit of Distributed
- Excludes race conditions among processors
- Users have full control over the communication management
Demerit of distributed
- Very complicated for programmers to handle communication
- Programmers might have to explicitly write code for communication

+ [[https://en.wikipedia.org/wiki/Shared_memory]]
+ [[https://en.wikipedia.org/wiki/Distributed_memory]]
+ [[https://en.wikipedia.org/wiki/Distributed_shared_memory]]
+ [[http://www.new-npac.org/projects/cdroms/cewes-1999-06-vol1/nhse/hpccsurvey/architecture/slide7.html]]
+ [[https://en.wikipedia.org/wiki/Network_topology#Point-to-point]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS