Applying Dynamic Software Updates to Computationally-Intensive Applications

dc.contributor.authorKim, Dong Kwanen
dc.contributor.committeechairTilevich, Elien
dc.contributor.committeememberArthur, James D.en
dc.contributor.committeememberBohner, Shawn A.en
dc.contributor.committeememberFisher, Marc IIen
dc.contributor.committeememberGracanin, Denisen
dc.contributor.committeememberPark, Jung-Min Jerryen
dc.contributor.committeememberRibbens, Calvin J.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:13:44Zen
dc.date.adate2009-07-22en
dc.date.available2014-03-14T20:13:44Zen
dc.date.issued2009-06-22en
dc.date.rdate2009-07-22en
dc.date.sdate2009-07-04en
dc.description.abstractDynamic software updates change the code of a computer program while it runs, thus saving the programmer's time and using computing resources more productively. This dissertation establishes the value of and recommends practices for applying dynamic software updates to computationally-intensive applications—a computing domain characterized by long-running computations, expensive computing resources, and a tedious deployment process. This dissertation argues that updating computationally-intensive applications dynamically can reduce their time-to-discovery metrics—the total time it takes from posing a problem to arriving at a solution—and, as such, should become an intrinsic part of their software lifecycle. To support this claim, this dissertation presents the following technical contributions: (1) a distributed consistency algorithm for synchronizing dynamic software updates in a parallel HPC application, (2) an implementation of the Proxy design pattern that is more efficient than the existing implementations, and (3) a dynamic update approach for Java Virtual Machine (JVM)-based applications using the Proxy pattern to offer flexibility and efficiency advantages, making it suitable for computationally-intensive applications. The contributions of this dissertation are validated through performance benchmarks and case studies involving computationally-intensive applications from the bioinformatics and molecular dynamics simulation domains.en
dc.description.degreePh. D.en
dc.identifier.otheretd-07042009-010717en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-07042009-010717/en
dc.identifier.urihttp://hdl.handle.net/10919/28206en
dc.publisherVirginia Techen
dc.relation.haspartdissertation-dk.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectProxy Patternen
dc.subjectJava Virtual Machineen
dc.subjectBinary Rewritingen
dc.subjectHPCen
dc.subjectDynamic Software Updatesen
dc.subjectComputationally-Intensive Applicationsen
dc.titleApplying Dynamic Software Updates to Computationally-Intensive Applicationsen
dc.typeDissertationen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
dissertation-dk.pdf
Size:
1.33 MB
Format:
Adobe Portable Document Format