556 High performance computing and parallelism
0.0005
0.001
0.0015
0.002
0.0025
0.003
0.0035
0.004
0.0045
0.005
0 5 10 15 20 25
1/(CPU time)
Number of processors
Figure 16.8. Execution speed (given as the inverse of the execution time in
seconds) of the systolic MD algorithm for 864 particles executing 750 steps on a
Transtech Paramid parallel computer.
of the systolic algorithm is the fact that the interactions betweenallparticle pairs are
taken into account in the force calculation, whereas neglecting contributions from
pairs with a large separation, in the case of rapidly decaying forces, can reduce
the number of calculations considerably without affecting the accuracy noticeably.
Of course we can leave out these calculations in the systolic algorithm as well, but
this does not reduce the total number of steps (although some steps will be carried
out faster) and it requires the use of IF-statements within loops, which may degrade
performance of nodes with pipelining facilities (see Section 16.2.2). Therefore,
the efficiency gain by parallelising the force calculation (and the integration of the
equation of motion) may not be dramatic for rapidly decaying interactions.
In Figure 16.8, the execution speed is shown as a function of the number of
processors for an 864 Lennard–Jones system, integrating 750 time steps. A parallel
program is calledscalableif the execution speed is proportional to the number
of processors used. We see that for larger numbers of processors, the scalability
gets worse as a result of the increasing amount of interprocessor communication.
This is noticeable here because the runs were performed on a rather old machine: a
Transtech Paramid. On modern machines, the interprocessor communication is so
fast that this algorithm would be seen to be almost perfectly scalable.
References
[1]M. J. Flynn, ‘Very high speed computing systems,’Proc. IEEE, 54 (1966), 1901–9.
[2] M. J. Flynn, ‘Some computer architectures and their effectiveness,’IEEE Trans. Comp.,C-21
(1972), 948–60.
[3]W. D. Hillis and J. Barnes, ‘Programming a highly parallel computer,’Nature, 326 (1987), 27–30.
[4]A. J. van der Steen, ed.,Aspects of Computational Science: A Textbook on High-Performance
Computing. Den Haag, National Computing Facilities Foundation, 1995.