Conclusion.
Crew is life, everything else is just detailsAnonymous
This post reviews and
rewrites the initial requirements for the Architecture model stated
in the post "Requirements" in the light of the description and
characterization of the model carried out throughout the series.
--------------------
As was stated as an
initial requirement in the aforementioned post, three different types
of transfers among nodes have to be supported, these are the Data
distribution, Data collection and Data
redistribution transferences. The first two are necessary in the case of
working on Local memory and the three of them, where performing a 2-D
processing on Distributed memory.
Additionally, the initial no-data-loss requirement stated in the aforementioned post, has lead to a lower lever requirement concerning every Data transference that consists on supporting flow control at data block level.
On the other hand, as
has been shown throughout this series, a minimum number of memory
buffers for the data transferences is necessary in order to allow the
nodes to work at the maximum Throughput as well as in order to avoid
data-loss.
With respect to
achieving maximum Throughput, this number may vary depending on the
processing (1-D or 2-D) and the working load of the nodes over time
(steady or non-steady).
Certainly, as was shown in the post
"Local and Distributed memory processing in steady workload" of this
series, a different number of buffers is necessary for the nodes to
achieve maximum Throughput when performing 1-D or 2-D processing.
Otherwise, in what concerns to no-data-loss, as
was shown in the previous post "Operation in non-steady workload", memory buffers allow the node to temporarily not to lose
input data when the processor can not process input data units at the
rate required by the input device; similarly, they allow the node to
temporarily not lose output data when the output device can not send
output data units at the rate required by the processor.
In order to adequate the number of processing nodes to the necessities –in terms of memory and/or Throughput– of the processing, the Architecture model has to be scalable.
According to all the
above, the requirements for the Architecture model can, finally, be stated as follows:
For each node, it must be possible to define the necessary transfers. The different types of transfers are the Data distribution transfer, the Data collection and the Data redistribution transfer. All of them have to support flow control at data block level.
For the Architecture
model, 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 transfer, the Data collection and the Data redistribution transfer. All of them have to support flow control at data block level.
For each transfer, it
must be possible to define the necessary number of buffers for both
input and output.
In the writing of this
article, Heroes del Silencio (Mar adentro, April 1992 Munich
(Germany)) have collaborated in an involuntary but decisive way.
---------------------
1. Picture:
http://www.eldiario.es/norte/cantabria/cultura/Traineras-liturgia-deporte_12_507569240.html
2. I want to thank Carol G. for her revision of this text.
0 Comments