Skip to main content
Log in

A metric space for computer programs and the principle of computational least action

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arnold VI (1989) Mathematical methods of classical mechanics, 2nd edn. Springer, New York

    Google Scholar 

  2. Barenblatt GI (2003) Scaling. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  3. Bridgman PW (1931) Dimensional analysis, 2nd edn. Yale University Press, New Haven

    Google Scholar 

  4. Callahan D, Cocke J, Kennedy K (1988) Estimating interlock and improving balance for pipelined architectures. J Parallel Distrib Comput 5:334–358

    Article  Google Scholar 

  5. Goldstein H (1950) Classical mechanics. Addison–Wesley, Reading

    Google Scholar 

  6. Hockney RW (1995) Computational similarity. Concurr Pract Exp 7(2):147–166

    Article  Google Scholar 

  7. Hockney RW (1996) The science of computer benchmarking. SIAM, Philadelphia

    Google Scholar 

  8. Hockney RW, Curington IJ (1989) f-Half: a parameter to characterise memory and communication bottlenecks. Parallel Comput 10:277–286

    Article  MATH  Google Scholar 

  9. Hockney RW, Jesshope CR (1988) Parallel computers 2: architecture, programming and algorithms. Hilger/IOP, Bristol/Philadelphia

    MATH  Google Scholar 

  10. Knopp K (1928) Theory and application of infinite series. Blackie, Glasgow

    MATH  Google Scholar 

  11. Kolmogorov AN, Fomin SV (1970) Introductory real analysis. Dover, New York

    MATH  Google Scholar 

  12. Lanczos C (1986) The variational principles of mechanics, 4th edn. Dover, New York

    Google Scholar 

  13. McCalpin JD (1995) Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society, Technical committee on computer architecture newsletter, December 1995

  14. Miles D (1993) Compute intensity and the FFT. In: Proceedings supercomputing 1993, pp 676–684, 1993

  15. Naylor AW, Sell GR (1979) Linear operator theory in engineering and science. Holt Rinehart and Winston, New York

    Google Scholar 

  16. 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

  17. Numrich RW (1997) Computational force, mass and energy. Int J Mod Phys C 8(3):437–457

    Article  Google Scholar 

  18. Numrich RW (2004) Performance metrics based on computational action. Int J High Perform Comput Appl 18(4):449–458

    Article  Google Scholar 

  19. Numrich RW (2007) A note on scaling the Linpack benchmark. J Parallel Distrib Comput 67(4):491–498

    Article  MATH  Google Scholar 

  20. Numrich RW (2007) Computational force: a unifying concept for scalability analysis. In: Proceedings of ParCo2007 (to appear)

  21. 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

  22. Penrose R (2005) The road to reality: a complete guide to the laws of the universe. Knopf, New York

    Google Scholar 

  23. 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

    Article  Google Scholar 

  24. Tyagi A (1992) A principle of least computational action. In: Proceedings PhysComp ’92: workshop on physics and computation. IEEE, New York, pp 262–266

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert W. Numrich.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-007-0145-1

Keywords