Abstract
We define a normed metric space for computer programs and derive from it the Principle of Computational Least Action. In our model, programs follow trajectories determined by Newton’s equation of motion in an abstract computational phase space and generate computational action as they evolve. A program’s action norm is the L 1-norm of its action function, and its distance from other programs is the distance derived from the action norm. The Principle of Computational Least Action states the goal of performance optimization as finding the program with the smallest action norm. We illustrate this principle by analyzing a simple program.
Similar content being viewed by others
References
Arnold VI (1989) Mathematical methods of classical mechanics, 2nd edn. Springer, New York
Barenblatt GI (2003) Scaling. Cambridge University Press, Cambridge
Bridgman PW (1931) Dimensional analysis, 2nd edn. Yale University Press, New Haven
Callahan D, Cocke J, Kennedy K (1988) Estimating interlock and improving balance for pipelined architectures. J Parallel Distrib Comput 5:334–358
Goldstein H (1950) Classical mechanics. Addison–Wesley, Reading
Hockney RW (1995) Computational similarity. Concurr Pract Exp 7(2):147–166
Hockney RW (1996) The science of computer benchmarking. SIAM, Philadelphia
Hockney RW, Curington IJ (1989) f-Half: a parameter to characterise memory and communication bottlenecks. Parallel Comput 10:277–286
Hockney RW, Jesshope CR (1988) Parallel computers 2: architecture, programming and algorithms. Hilger/IOP, Bristol/Philadelphia
Knopp K (1928) Theory and application of infinite series. Blackie, Glasgow
Kolmogorov AN, Fomin SV (1970) Introductory real analysis. Dover, New York
Lanczos C (1986) The variational principles of mechanics, 4th edn. Dover, New York
McCalpin JD (1995) Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society, Technical committee on computer architecture newsletter, December 1995
Miles D (1993) Compute intensity and the FFT. In: Proceedings supercomputing 1993, pp 676–684, 1993
Naylor AW, Sell GR (1979) Linear operator theory in engineering and science. Holt Rinehart and Winston, New York
Numrich RW (1997) The computational action norm and the principle of computational least action. In: Proceedings of the eighth SIAM conference on parallel processing for scientific computing, Philadelphia, March 1997. SIAM Activity Group on Supercomputing, Society for Industrial and Applied Mathematics
Numrich RW (1997) Computational force, mass and energy. Int J Mod Phys C 8(3):437–457
Numrich RW (2004) Performance metrics based on computational action. Int J High Perform Comput Appl 18(4):449–458
Numrich RW (2007) A note on scaling the Linpack benchmark. J Parallel Distrib Comput 67(4):491–498
Numrich RW (2007) Computational force: a unifying concept for scalability analysis. In: Proceedings of ParCo2007 (to appear)
Numrich RW, Hochstein L, Basili V (2005) A metric space for productivity measurement in software development. In Proceedings SE-HPCS’05, second international workshop on software engineering for high performance computing system applications, St. Louis, Missouri, 15 May 2005
Penrose R (2005) The road to reality: a complete guide to the laws of the universe. Knopf, New York
Saavedra-Barrera RH, Smith AJ, Miya E (1989) Machine characterization based on an abstract high-level language machine. IEEE Trans Comput 38(12):1659–1679
Tyagi A (1992) A principle of least computational action. In: Proceedings PhysComp ’92: workshop on physics and computation. IEEE, New York, pp 262–266
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Numrich, R.W. A metric space for computer programs and the principle of computational least action. J Supercomput 43, 281–298 (2008). https://doi.org/10.1007/s11227-007-0145-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0145-1