Requirements.
You don't need a framework. You need a painting, not a frame.
Klaus Kinski
This post states the requirements for the Skeleton based on the requirements established for Architecture model in the post “Conclusion” of the series “Notes on SPMD architecture”.
--------------------
As the Skeleton has to support the Architecture model, like this one, it has also to support 1-D and 2-D processing, both in the cases of using Local memory and Distributed memory as well as in conditions of steady and non-steady nodes’ workload over time.
Therefore, according to the conclusions of the aforementioned post with respect to the Architecture model, the requirements for the Skeleton can be stated as follows:
- For the Skeleton, it must be possible to define the number of processing nodes.
- For each node, it must be possible to define the necessary transfers. The different types of transfers are the Data distribution, the Data collection, and the Data redistribution.
- The Data distribution transfer is started by the source node and the Data collection transfer by the destination node. Both of them have to support flow control at data block level. Also, both of them performs the transfers in a rotatory basis.
- The Data redistribution transfer is carried out by means of multiple Data distribution transfers. Each node of the source processing nodes set performs Data distribution transfers to every node of the destination processing nodes set. The node of the source processing nodes set to perform the transfer is selected following -in the first term- the rule “first come, first served”; possible conflicts of coincidence in time are solved -in the second term- in a sequential rotatory basis.
- For each transfer, it must be possible to define the necessary number of buffers for both input and output. That number has to be calculated to get the maximum Throughput from the machine and guarantee no-data-loss (see the post “Conclusion” of the “Notes on SPMD architecture” series.
- The processor’s network is static. That means that the architecture is defined only after the code starts to run. Therefore, once the Skeleton code is running, it has to be re-started in order to re-define its configuration.
Additionally, we will also consider that:
- The SPMD machine application’s software consists of three executable files. Those files are the correspondent to the input, output and processing nodes.
- The SPMD machine has some kind of non-volatile storage media (hard disk or memory) accessible by all the nodes. Its purpose is, among others, to hold the configuration of the machine.
In the writing of this article, King Crimson (Starless, Radical action to unseat the hold of monkey mind) has collaborated in an involuntary but decisive way.
1. Picture: 2904641-digital-art-minimalism-simple-cube-red-white-3d___mixed-wallpapers.jpg. Link to the source.
0 Comments