Sustained Simulation Performance 2013 by Michael M. Resch Wolfgang Bez Erich Focht Hiroaki Kobayashi & Yevgeniya Kovalenko

Sustained Simulation Performance 2013 by Michael M. Resch Wolfgang Bez Erich Focht Hiroaki Kobayashi & Yevgeniya Kovalenko

Author:Michael M. Resch, Wolfgang Bez, Erich Focht, Hiroaki Kobayashi & Yevgeniya Kovalenko
Language: eng
Format: epub
Publisher: Springer International Publishing, Cham


Although the use of Newton’s 3rd law in this algorithm lessens the computational effort, it raises the requirements regarding synchronization. This is because the calculated force between a pair of molecules has to be written to the data structure of both molecules.

3 Porting CMD to FastFlow

FastFlow provides powerful constructs to define patterns in an application. The two most basic constructs are pipeline and farm [2, 3, 1], whereas both of these constructs can be nested with each other. Other constructs include farm and pipeline with feedback, farm as software accelerator and map.

In a pipeline construct, multiple stages can be added as per requirement. The output of the first stage is fed to the next stage in the pipeline, which consumes its input and produce output to be used as input by the next stage and so on. Defining a pipeline allows for multiple stages to be executed in parallel on different data.

The farm pattern can be thought of as a two or three stage pipeline pattern. The first stage is an emitter which is used to offload the tasks to the second stage. The second stage is a set of worker threads which process the tasks assigned to them. The third stage is called collector and is optional. Either the second stage can directly store the result in the memory or it can feed its result to the collector, which is responsible for the reduction (or some similar operation) of the results received.

For the BasicN2 algorithm, we utilized the farm pattern in an accelerator mode. Similarly for the MoleculeBlocks algorithm, the farm pattern is used in accelerator mode and synchronization among threads is provided using locking constructs available in FastFlow.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.