[Company Logo Image]    

Home Feedback Contents Search

6.5 Distr. Memory
6.1 Node Model 6.2 ASM Model 6.3 Lock Constructs 6.4 Shared Memory 6.5 Distr. Memory 6.6 VPP Systems 6.7 OS View 

Back Home Up Next

6.5 Distributed Memory Systems

 

FIG. 34A: Implementation of stress-flow on distributed memory, processor-mesh type systems

TRIs and TSIs implemented with distributed, decentralized architectures, are likewise decentralized. They become separate components of every node, becoming the interface connecting nodes together. Consider distributed memory, multiprocessor, two-dimensional mesh architecture previously discussed and shown on FIG. 30A. The key characteristic determining details of implementation of TRIs and TSIs here is the fact that each node is only directly connected to its neighbors, has its own memory, and can access memory of other nodes but with overhead penalty substantially increasing with number of node hops required by a specific memory access. Organization of TRIs and TSIs in such a situation is shown on FIG. 34A. The drawing shows architecture of two-dimensional mesh system with each node having only connections to four of its neighbors. The same exact concepts do apply to any mesh architectures, including more dimensional ones and one that has more connections, diagonal ones, for example.

A node’s TRI is its communication input. It has one input that can receive task definitions from all four of its neighbors. When a node receives a task it checks if it is intended preferred destination using previously discussed “location” information and current node load information. If this node is not the preferred destination, the task is simply passed on to the node’s TSI, and routed further down the mesh from there. If this node is the task’s preferred destination, the task is placed in the TRI’s FIFO. The processor and a lock on this drawing are greatly simplified here, shown only to explain connections of TRI and TSI. Full architecture of these parts was shown on FIGs 31 and 31A. When the processor becomes available, it takes a task from the TRI’s FIFO and executes it. If it needs to initiate a new task, it communicates with a lock, which in turn can eventually send a new task definition to a node’s TSI. A more sophisticated organization of TRI will allow it to check/react to the neighbors’ load situation and take waiting tasks out of its FIFO and send them away if load situation changed enough to justify doing so – for example a neighbor ending all his tasks while there are several tasks waiting in FIFO here.

The TSI is a node’s communication output. It has an output connecting it with TRIs of all of its immediate neighbors. The TSI looks at “location” information of all tasks sent to it, compares it against node load information and routes the task to one of its neighbors or to the task FIFO of its own node.

Back Home Up Next
Send mail to info@stressflow.com with questions or comments.
Copyright © 2005-2010. All Rights Reserved. Patents Pending in Multiple Jurisdictions.
First published 03/29/06. Last modified: 06/25/10