A system for parallel programming
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Communications of the ACM
Making asynchronous parallelism safe for the world
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Multi-model parallel programming in psyche
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Strand: new concepts in parallel programming
Strand: new concepts in parallel programming
Parallel skeletons for structured composition
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Compositional parallel programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Performance evaluation of the Orca shared-object system
ACM Transactions on Computer Systems (TOCS)
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Co-array Fortran for parallel programming
ACM SIGPLAN Fortran Forum
The design, implementation, and evaluation of Jade
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic binding of separately compiled objects under program control
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
OpenMP: parallel programming API for shared memory multiprocessors and on-chip multiprocessors
Proceedings of the 15th international symposium on System Synthesis
System Software for Ubiquitous Computing
IEEE Pervasive Computing
POEMS: End-to-End Performance Design of Large Parallel Adaptive Computational Systems
IEEE Transactions on Software Engineering
Distributed communication via global buffer
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
A brief history of just-in-time
ACM Computing Surveys (CSUR)
Compositional Development of Performance Models in Poems
International Journal of High Performance Computing Applications
Novel runtime systems support for adaptive compositional modeling in PSEs
Future Generation Computer Systems - Special section: Complex problem-solving environments for grid computing
Develop once deploy anywhere achieving adaptivity with a runtime linker/loader framework
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
The Distributed Open Network Emulator: Using Relativistic Time for Distributed Scalable Simulation
Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation
The next generation software program
International Journal of Parallel Programming - Special issue: The next generation software program
Scalable execution of legacy scientific codes
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part I
Hi-index | 0.00 |
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 run-time 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.