1 Shared Memory Vs. Distributed Memory Vs
Adolph Gil edited this page 6 days ago


In computer science, distributed memory refers to a multiprocessor computer system by which every processor has its own private memory. Computational tasks can only function on local information, and if distant knowledge are required, the computational activity must talk with one or more distant processors. In distinction, a shared memory multiprocessor presents a single Memory Wave house utilized by all processors. Processors don't should bear in mind the place data resides, besides that there may be performance penalties, and that race conditions are to be prevented. In a distributed memory system there is often a processor, a memory, and a few type of interconnection that permits packages on each processor to interact with each other. The interconnect could be organised with level to level hyperlinks or separate hardware can provide a switching network. The network topology is a key factor in determining how the multiprocessor machine scales. The links between nodes will be applied using some commonplace community protocol (for instance Ethernet), using bespoke network links (utilized in for instance the transputer), or utilizing dual-ported reminiscences.


The key problem in programming distributed memory systems is learn how to distribute the info over the memories. Relying on the problem solved, the information may be distributed statically, or it can be moved through the nodes. Knowledge will be moved on demand, or knowledge will be pushed to the brand new nodes prematurely. For example, if an issue may be described as a pipeline the place knowledge x is processed subsequently by way of capabilities f, g, h, and many others. (the result is h(g(f(x)))), then this can be expressed as a distributed memory problem the place the data is transmitted first to the node that performs f that passes the result onto the second node that computes g, and at last to the third node that computes h. That is also referred to as systolic computation. Knowledge will be saved statically in nodes if most computations occur regionally, and solely adjustments on edges have to be reported to different nodes. An instance of this is simulation where knowledge is modeled using a grid, and every node simulates a small a part of the larger grid.


On each iteration, nodes inform all neighboring nodes of the new edge knowledge. Similarly, in distributed shared memory each node of a cluster has access to a large shared memory in addition to every node's limited non-shared non-public memory. Shared memory vs. distributed memory vs. The benefit of (distributed) shared memory is that it gives a unified handle area in which all knowledge can be found. The advantage of distributed memory is that it excludes race situations, and that it forces the programmer to think about knowledge distribution. Distributed shared Memory Wave Program hides the mechanism of communication, it does not cover the latency of communication. Pardo, David