Scalable Execution of Legacy Scientific Codes

  • Joy Mukherjee
  • Srinidhi Varadarajan
  • Naren Ramakrishnan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3991)


This paper presents Weaves, a language neutral framework for scalable execution of legacy parallel scientific codes. Weaves supports scalable threads of control and multiple namespaces with selective sharing of state within a single address space. We resort to two examples for illustration of different aspects of the framework and to stress the diversity of its application domains. The more expressive collaborating partial differential equation (PDE) solvers are used to exemplify developmental aspects, while freely available Sweep3D is used for performance results. We outline the framework in the context of shared memory systems, where its benefits are apparent. We also contrast Weaves against existing programming paradigms, present use cases, and outline its implementation. Preliminary performance tests show significant scalability over process-based implementations of Sweep3D.


Shared Memory Common Component Architecture Scalable Execution Lightweight Thread Bootstrap Module 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Varadarajan, S., Ramakrishnan, N.: Novel Runtime Systems Support for Adaptive Compositional Modeling in PSEs. Future Generation Computing Systems (Special Issue) 21(6), 878–895 (2005)CrossRefGoogle Scholar
  2. 2.
    Chandy, K.M., Kesselman, C.: Compositional C++: Compositional Parallel Programming. Technical Report CaltechCSTR:1992.cs-tr-92-13, California Institute of Technology CA USA (2001)Google Scholar
  3. 3.
    Foster, I.: Compositional Parallel Programming Languages. ACM Transactions on Prog. Lang. and Sys. 18(4), 454–476 (1996)CrossRefGoogle Scholar
  4. 4.
    Drashansky, T.T., Houstis, E.N., Ramakrishnan, N., Rice, J.R.: Networked Agents for Scientific Computing. Communications of the ACM 42(3), 48–54 (1999)CrossRefGoogle Scholar
  5. 5.
    McFaddin, H.S., Rice, J.R.: Collaborating PDE Solvers. Applied Numerical Mathematics 10, 279–295 (1992)zbMATHCrossRefGoogle Scholar
  6. 6.
    Rice, J.R.: An Agent-based Architecture for Solving Partial Differential Equations. SIAM News 31(6) (August 1998)Google Scholar
  7. 7.
    Carriero, N., Gelernter, D.: Linda in Context. Communications of the ACM 32(4), 444–458 (1989)CrossRefGoogle Scholar
  8. 8.
    Sato, M.: OpenMP: Parallel Programming API for Shared Memory Multiprocessors and On-Chip Multiprocessors. In: Proceedings of the 15th International Symposium on System Synthesis (ISSS 2002), Kyoto Japan, October 2-4 (2002)Google Scholar
  9. 9.
    Common Component Architecture,
  10. 10.
    Mahmood, N., Deng, G., Browne, J.C.: Compositional Development of Parallel Programs. In: Proceedings of the 16th Workshop on Langs. and Compilers for Parallel Computing (LCPC 2003), College Station TX (2003)Google Scholar
  11. 11.
    Tools Interface Standards Committee: Executable and Linkable Format (ELF) Specification (May 1995)Google Scholar
  12. 12.
  13. 13.
    Mukherjee, J., Varadarajan, S.: Weaves: a framework for reconfigurable programming. International Journal forParallel Programming 33(2), 279–305 (2005)CrossRefGoogle Scholar
  14. 14.
    Koch, K.R., Baker, R.S., Alcouffe, R.E.: Solution of the First-Order Form of the 3D Discrete Ordinates Equation on a Massively Parallel Processor. Transactions of the American Nuclear Society 65(198) (1992)Google Scholar
  15. 15.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Joy Mukherjee
    • 1
  • Srinidhi Varadarajan
    • 1
  • Naren Ramakrishnan
    • 1
  1. 1.Dept of Computer ScienceVirginia TechBlacksburgUSA

Personalised recommendations