Title page for ETD etd-08222006-002829

Type of Document Dissertation
Author Mukherjee, Joy
Author's Email Address jmukherj@vt.edu
URN etd-08222006-002829
Title A Runtime Framework for Parallel Programs
Degree PhD
Department Computer Science
Advisory Committee
Advisor Name Title
Varadarajan, Srinidhi Committee Chair
Arthur, James D. Committee Member
Midkiff, Scott F. Committee Member
Ramakrishnan, Naren Committee Member
Ribbens, Calvin J. Committee Member
  • Dynamic Adaptation
  • Runtime Linking and Loading
  • Lightweight Threads
  • Component Composition
  • Parallel Programs
  • Legacy Procedural codes
Date of Defense 2006-08-16
Availability unrestricted
This dissertation proposes the Weaves runtime framework for the execution of large scale

parallel programs over lightweight intra-process threads. The goal of the Weaves framework

is to help process-based legacy parallel programs exploit the scalability of threads without any

modifications. The framework separates global variables used by identical, but independent,

threads of legacy parallel programs without resorting to thread-based re-programming. At

the same time, it also facilitates low-overhead collaboration among threads of a legacy parallel

program through multi-granular selective sharing of global variables.

Applications that follow the tenets of the Weaves framework can load multiple identical, but

independent, copies of arbitrary object files within a single process. They can compose the

runtime images of these object files in graph-like ways and run intra-process threads through

them to realize various degrees of multi-granular selective sharing or separation of global

variables among the threads. Using direct runtime control over the resolution of individual

references to functions and variables, they can also manipulate program composition at fine

granularities. Most importantly, the Weaves framework does not entail any modifications to

either the source codes or the native codes of the object files. The framework is completely


Results from experiments with a real-world process-based parallel application show that

the framework can correctly execute a thousand parallel threads containing non-threadsafe

global variables on a single machine - nearly twice as many as the traditional process-based

approach can - without any code modifications. On increasing the number of machines, the

application experiences super-linear speedup, which illustrates scalability. Results from another similar application, chosen from a different software area to emphasize the breadth

of this research, show that the framework's facilities for low-overhead collaboration among

parallel threads allows for significantly greater scales of achievable parallelism than technologies

for inter-process collaboration allow. Ultimately, larger scales of parallelism enable

more accurate software modeling of real-world parallel systems, such as computer networks

and multi-physics natural phenomena.

  Filename       Size       Approximate Download Time (Hours:Minutes:Seconds) 
 28.8 Modem   56K Modem   ISDN (64 Kb)   ISDN (128 Kb)   Higher-speed Access 
  Dissertation_Mukherjee_2006.pdf 955.91 Kb 00:04:25 00:02:16 00:01:59 00:00:59 00:00:05
  Graphics.zip 531.30 Kb 00:02:27 00:01:15 00:01:06 00:00:33 00:00:02
  Tex.zip 70.00 Kb 00:00:19 00:00:10 00:00:08 00:00:04 < 00:00:01

Browse All Available ETDs by ( Author | Department )

dla home
etds imagebase journals news ereserve special collections
virgnia tech home contact dla university libraries

If you have questions or technical problems, please Contact DLA.