Show simple item record

dc.contributor.authorMukherjee, Joyen_US
dc.description.abstractThis 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 transparent.

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.
dc.publisherVirginia Techen_US
dc.rightsI hereby certify that, if appropriate, I have obtained and attached hereto a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dissertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to Virginia Tech or its agents the non-exclusive license to archive and make accessible, under the conditions specified below, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report.en_US
dc.subjectDynamic Adaptationen_US
dc.subjectRuntime Linking and Loadingen_US
dc.subjectLightweight Threadsen_US
dc.subjectComponent Compositionen_US
dc.subjectParallel Programsen_US
dc.subjectLegacy Procedural codesen_US
dc.titleA Runtime Framework for Parallel Programsen_US
dc.contributor.departmentComputer Scienceen_US
dc.description.degreePh. D.en_US D.en_US Polytechnic Institute and State Universityen_US Scienceen_US
dc.contributor.committeechairVaradarajan, Srinidhien_US
dc.contributor.committeememberRamakrishnan, Narenen_US
dc.contributor.committeememberArthur, James D.en_US
dc.contributor.committeememberRibbens, Calvin J.en_US
dc.contributor.committeememberMidkiff, Scott F.en_US

Files in this item


This item appears in the following Collection(s)

Show simple item record