In April 2016 Manchester eScholar was replaced by the University of Manchester’s new Research Information Management System, Pure. In the autumn the University’s research outputs will be available to search and browse via a new Research Portal. Until then the University’s full publication record can be accessed via a temporary portal and the old eScholar content is available to search and browse via this archive.

Dynamic Program Analysis and Optimization under DynamoRIO

Zhou, Naweiluo

[Thesis]. Manchester, UK: The University of Manchester; 2014.

Access to files

Abstract

A thesis submitted for the degree of Master of Philosophy.Title: Dynamic Program Analysis and Optimization under DynamoRIO.By Naweiluo Zhou, The University of Manchester, 5th February 2014. The thesis presents five experiments using DynamoRIO to analyse and optimise machinecodes at runtime in various ways and observe the effect of each optimisationusing the SPEC CPU2006 benchmarks as test case codes. Software often stays unchanged for periods measured in years, while new CPUchips are introduced every 18 months or so. In addition, it is often not realized howmodern CPU chips adjust their behaviour, and their performance, in response to dynamicconditions arising in the software that is running. Dynamic optimization iscarried out while a program runs. It calls on the knowledge of runtime behaviour ofthe program, which causes high runtime overhead. Programs can show performance gain by applying removal of redundant instructions,strength reduction, instruction alignment and persistent code. Strength reductionreplaces expensive instructions with cheap counterparts. The code layout in the memorycould affect the cache miss rate and the branch mis-prediction rate of the processor,which affect program performance. An optimized program could be recorded aspersistent cache, then loaded directly in the subsequent calls. One dynamic programanalysis method, glacial address propagation, is also presented. The values of glacialindirect addresses change slowly, making each value act as a constant address for a period,thus enabling a cascade of optimizations. To accelerate information processing,profile information is processed by multiple threads in parallel. Therefore, programs can be made to run more quickly using a variety of optimizationcarried out at runtime, aided by observation of control flow, data flow, and memoryaccess patterns of programs. Future work could perform static optimization before dynamicoptimization. The hardware power consumption will be taken into account.

Bibliographic metadata

Type of resource:
Content type:
Form of thesis:
Type of submission:
Degree type:
Master of Philosophy
Degree programme:
MPhil Computer Science
Publication date:
Location:
Manchester, UK
Total pages:
105
Abstract:
A thesis submitted for the degree of Master of Philosophy.Title: Dynamic Program Analysis and Optimization under DynamoRIO.By Naweiluo Zhou, The University of Manchester, 5th February 2014. The thesis presents five experiments using DynamoRIO to analyse and optimise machinecodes at runtime in various ways and observe the effect of each optimisationusing the SPEC CPU2006 benchmarks as test case codes. Software often stays unchanged for periods measured in years, while new CPUchips are introduced every 18 months or so. In addition, it is often not realized howmodern CPU chips adjust their behaviour, and their performance, in response to dynamicconditions arising in the software that is running. Dynamic optimization iscarried out while a program runs. It calls on the knowledge of runtime behaviour ofthe program, which causes high runtime overhead. Programs can show performance gain by applying removal of redundant instructions,strength reduction, instruction alignment and persistent code. Strength reductionreplaces expensive instructions with cheap counterparts. The code layout in the memorycould affect the cache miss rate and the branch mis-prediction rate of the processor,which affect program performance. An optimized program could be recorded aspersistent cache, then loaded directly in the subsequent calls. One dynamic programanalysis method, glacial address propagation, is also presented. The values of glacialindirect addresses change slowly, making each value act as a constant address for a period,thus enabling a cascade of optimizations. To accelerate information processing,profile information is processed by multiple threads in parallel. Therefore, programs can be made to run more quickly using a variety of optimizationcarried out at runtime, aided by observation of control flow, data flow, and memoryaccess patterns of programs. Future work could perform static optimization before dynamicoptimization. The hardware power consumption will be taken into account.
Thesis main supervisor(s):
Language:
en

Institutional metadata

University researcher(s):

Record metadata

Manchester eScholar ID:
uk-ac-man-scw:220490
Created by:
Zhou, Naweiluo
Created:
3rd March, 2014, 20:34:56
Last modified by:
Zhou, Naweiluo
Last modified:
6th March, 2016, 20:10:58

Can we help?

The library chat service will be available from 11am-3pm Monday to Friday (excluding Bank Holidays). You can also email your enquiry to us.