Publication | Closed Access
Dynamic trace selection using performance monitoring hardware sampling
20
Citations
9
References
2003
Year
Unknown Venue
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisHardware SecurityParallel ComputingPerformance PredictionDynamic CompilationProfiling ToolComputer EngineeringDynamic Trace SelectionPerformance Hardware RegistersComputer SciencePerformance Analysis ToolStatic Program AnalysisPerformance MonitoringProgram AnalysisSoftware TestingParallel ProgrammingDynamic LibrariesExecution TimeSystem Software
Optimizing programs at run-time provides opportunities to apply aggressive optimizations to programs based on information that was not available at compile time. At run time, programs can be adapted to better exploit architectural features, optimize the use of dynamic libraries, and simplify code based on run-time constants. Our profiling system provides a framework for collecting information required for performing run-time optimization. We sample the performance hardware registers available on an Itanium processor, and select a set of code that is likely to lead to important performance-events. We gather distribution information about the performance-events we wish to monitor, and test our traces by estimating the ability for dynamic patching of a program to execute run-time generated traces. Our results show that we are able to capture 58% of execution time across various SPEC2000 integer benchmarks using our profile and patching techniques on a relatively small number of frequently executed execution paths. Our profiling and detection system overhead increases execution time by only 2-4%.
| Year | Citations | |
|---|---|---|
Page 1
Page 1