Skip to main content
Log in

Weaves: A Framework for Reconfigurable Programming

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

This paper presents a language independent runtime framework—called Weaves—for object based composition of unmodified code modules that enables selective sharing of state between multiple control flows through a process. Furthermore, the framework allows dynamic instantiation of code modules and control flows through them. In effect, weaves create intra-process modules (similar to objects in OOP) from code written in any language. Applications can be built by instantiating Weaves to form Tapestries of dynamically interacting code. The framework enables objects to be arbitrarily shared—it is a true superset of both processes as well as threads, with code sharing and fast context switching time similar to threads. Weaves does not require any special support from either the language or application code—practically any code can be weaved. Weaves also include support runtime loading and linking of object modules enabling the next generation of highly dynamic applications. This paper presents the elements of the Weaves framework and its implementation on the Linux platform over source-code independent ELF object files. The current implementation has been validated over Sweep3D, a benchmark for 3D discrete ordinates neutron transport (Koch et al. Trans. Am. Nucl. Soc. 65 (198) [1992]), and a user-level port of the Linux 2.4 family kernel TCP/IP protocol stack.

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

Access this article

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. K. R. Koch R. S. Baker R. E. Alcouffe (1992) ArticleTitle.Solution of the First-Order form of the 3D Discrete Ordinates Equation on a Massively Parallel Processor Trans. Am. Nucl. Soc. 65 198

    Google Scholar 

  2. Microsoft Corporation, DCOM Technical Overview, http://www.microsoft.com, 1996–2004.

  3. Object Management Group, COBRA Faqs and Basics, http//www.omg.org1, 1997–2004.

  4. I. Foster R. Olsen S. Tuecke (1992) ArticleTitleProductive Parallel Programming: The PCN Approach J. Scientific Comput. 1 IssueID1 51–66

    Google Scholar 

  5. I. Foster S. Taylor (1998) Strand: New concepts in Parallel Programming Prentice-Hall Eagle wood cliffs NJ

    Google Scholar 

  6. OpenMP Architecture Review Board, OpenMP, http://www.openmp.org, 1997–2004.

  7. D. Gelernter and A. Bernstein, Distributed Communication via Global Buffer, in Proc. of the ACM Symposium on Principles of Principles of Distributed Computing, pp. 10–18 (August 1982).

  8. N. Carriero and D. Gelernter, Linda in Context, Communications of the ACM (April 1989).

  9. V. S. Adve, R. Bagrodia, J. C. Browne, E. Deelman, A. Dube, E. Houstis, J. Rice, R. Sakellariou, D. Sundaram-Stukel, P. J. Teller, and M. K. Vernon, POEMS: End-to End Performance Design of Large Parallel Adaptive Computational Systems, IEEE Trans. on Software Eng. (Special Issue on Software and Performance), 26(11):1027–1048 (November 2002).

  10. J. C. Browne, E. Berger, and A. Dube, Compositional Development of Performance Models in POEMS, Int. J. High Perform. Comput. Applicat. 14(4):283–291 (Winter 2000).

  11. T. Kindberg A. Fox (March 2002) ArticleTitleSystem software for ubiquibtous computing IEEE, J. Pervasive Comput. 1 IssueID1 70–81

    Google Scholar 

  12. Sun Microsystems, Lesson: Object-Oriented Programming concepts, The JavaTM Tutorial, http://java.sun.com/, 1995–2004.

  13. S. Liang and G. Bracha, Dynamic Class Loading in the Java Virtual Machine, ACM SIGPLAN Notices, in Proc. of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, language, and application, Vol. 33(10) (October 1998).

  14. J. Aycock, A Brief History of Just-in-time, ACM Comput. Surveys (CSUR), 35(2), (June 2003).

  15. J. Darlington, Y. Guo, H. W. To, and J. Yasng, Parallel Skeletons for Structured Composition, ACM SIGPLAN Notices, in Proc. of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming (August 1995).

  16. M.C. Rinar M.S. Lam (May 1998) ArticleTitleThe Design, Implementation, and Evaluation of Jade ACM Trans. on Program. Languages and Sys. (TOPLAS) 20 IssueID3 483–545

    Google Scholar 

  17. H.E. Bal R. Bhoedjan R. Hofman C. Jacops K. Langendoen T. Rühl M. F. Kaashoek (Feburary 1998) ArticleTitlePerformance Evaluation of theOrca Shared-object system ACM Trans. on Computer Sys. (TOCS) 16 IssueID1 1–40

    Google Scholar 

  18. M. Sato and OpenMP: Parallel Programming API for Shared Memory Multiprocessors and On-chip Multiprocessors, in Proc. of the 15th international symposium on System Synthesis (Special session on on-chip multi-processing) (October 2002).

  19. I. Foster (July 1996) ArticleTitleCompositional Parallel Programming Language ACM Trans. on Program Languages and Sys 18 IssueID4 454–476

    Google Scholar 

  20. R. W. Numrich J. Reid (August 1998) ArticleTitleCo-array Fortran for Parallel Programming ACM SIGPLAN Fortran Forum 17 IssueID2 1–31

    Google Scholar 

  21. Schwan K., Ramnath R., Vasudevan S., Ogle D. (1987). A system for Parallel Programming, in Proc. of the 9th international conference of Software Engineering (March 1987).

  22. G. L. Steele, Making Asynchronous Parallelism Safe for the World, in Proc. of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (December 1989).

  23. M. L. Scott, T. J. LeBlanc, and B. D. Marsh, Multi-model Parallel Programming in Psyche, ACM SIGPLAN Notices, Second ACM SIGPLAN symposium on Principles and practice of parallel programming (February 1990).

  24. J. Kempf and P. B. Kessler, Cross-address Space Dynamic Linking, in Proc. of the Second International Workshop on Workshop on Object Orientation in Operating Systems (IEEE), Vol. 24(25): pp. 250–256 (September 1992).

  25. Tool Interface Standard (TIS) committee, Executable and Linkable Format (ELF) Specification, Portable Formats Specification, Version 1.2 (May 1995)

  26. R. E. Gantenbein and D. W. Jones, Dynamic Binding of Separately Compiled under Program Control, in Proc. of the 1986 ACM fourteenth annual conference on Computer science (February 1986).

  27. S. Varadarajan and N. Ramakrishnan, Novel Runtime Systems Support for Adaptive Compositional Modeling in PSEs, FGCS Special Issue on PSEs, 21(6) (April 2005, to appear).

  28. S. Varadarajan, J. Mukherjee, and N. Ramakrishnan, Weaves: A Novel Direct Code Execution Interface for Parallel High Performance Scientific Codes, Department of Computer Science, Virginia Tech, Technical Report cs.DC/0205004, Computing Research Repository (CoRR) (May 2002).

  29. N. Rasmakrishnan L. T. Watson D. G. Kafura C.J. Ribbens C. A. Shaffer (2002) ArticleTitleProgramming Environments for Multidisciplinary Grid Communities Concurrency and Computation: Practice and Experience (Special Issue on Grid Computing Environments) 14 1241–1273

    Google Scholar 

  30. Mukherjee J. (2002). A Compiler Directed Framework for Parallel Compositional Systems. MS Thesis, Department of Computer Science, Virginia Tech (December 2002).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Srinidhi Varadarajan.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mukherjee, J., Varadarajan, S. Weaves: A Framework for Reconfigurable Programming. Int J Parallel Prog 33, 279–305 (2005). https://doi.org/10.1007/s10766-005-3591-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-005-3591-5

Keywords

Navigation