Foo's To Blame: Techniques For Mapping Performance Data To Program Variables

dc.contributor.advisorHollingsworth, Jeffrey Ken_US
dc.contributor.authorRutar, Nickolas Jonen_US
dc.contributor.departmentComputer Scienceen_US
dc.contributor.publisherDigital Repository at the University of Marylanden_US
dc.contributor.publisherUniversity of Maryland (College Park, Md.)en_US
dc.date.accessioned2012-02-17T06:37:16Z
dc.date.available2012-02-17T06:37:16Z
dc.date.issued2011en_US
dc.description.abstractTraditional methods of performance analysis offer a code centric view, presenting performance data in terms of blocks of contiguous code (statement, basic block, loop, function, etc.). Existing data centric techniques allow various program properties to be mapped directly to variables. Our approach extends these data centric mappings. Just as code centric techniques allow lower level objects like source lines be mapped up to functions, our inclusive technique allows low level data centric operations like computations on scalars to be mapped up to complex data structures like those found in scientific frameworks. Our system utilizes static analysis to collect information about the program that can be combined with runtime information to perform data centric program analysis. By pushing most of the analysis to pre-run and post-mortem, we can minimize the amount of data collected at runtime. This allows us to perform less instrumentation and also minimizes program perturbation. It also allows us to collect information that would not be possible with existing techniques. We present two applications of this analysis. The first application of our analysis is targeted at mapping performance data to high level data structures with multiple levels of abstraction. We create extended data centric mappings, which we call variable blame, that relates data centric information to these variables. The second application is a method for mapping cache miss information to variables. Existing approaches for this analysis rely on explicit hardware support and extensive program instrumentation. By utilizing our analysis and applying software heuristics, we are able to lessen those requirements. We apply both of these analyses to applications and show what performance information can be provided by our analysis that can not currently be determined. We also discuss how we can use that information to improve program performance.en_US
dc.identifier.urihttp://hdl.handle.net/1903/12221
dc.subject.pqcontrolledComputer scienceen_US
dc.subject.pquncontrolleddata centricen_US
dc.subject.pquncontrolledperformance analysisen_US
dc.subject.pquncontrolledprofilingen_US
dc.subject.pquncontrolledvariable blameen_US
dc.titleFoo's To Blame: Techniques For Mapping Performance Data To Program Variablesen_US
dc.typeDissertationen_US

Files

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