Dynamic Optimization Infrastructure and Algorithms for IA-64

Show simple item record

dc.contributor.advisor Thomas M. Conte, Chair en_US
dc.contributor.advisor Eric Rotenberg, Member en_US
dc.contributor.advisor Injong Rhee, Member en_US
dc.contributor.author Hazelwood, Kim Michelle en_US
dc.date.accessioned 2010-04-02T17:54:38Z
dc.date.available 2010-04-02T17:54:38Z
dc.date.issued 2000-06-29 en_US
dc.identifier.other etd-20000629-110017 en_US
dc.identifier.uri http://www.lib.ncsu.edu/resolver/1840.16/312
dc.description.abstract Dynamic Optimization refers to any program optimization performed after the initial static compile time. While typically not designed as a replacement for static optimization, dynamic optimization is a complementary optimization opportunity that leverages a vast amount of information that is not available until runtime. Dynamic optimization opens the doors for machine and user-specific optimizations without the need for original source code. This thesis includes three contributions to the field of dynamic optimization. The first main goal is the survey of several current approaches to dynamic optimization, as well as its related topics of dynamic compilation, the postponement of some or all of compilation until runtime, and dynamic translation, the translation of an executable from one instruction-set architecture (ISA) to another. The second major goal of this thesis is the proposal of a new infrastructure for dynamic optimization in EPIC architectures. Several salient features of the EPIC ISA prove it to be not only a good candidate for dynamic optimization, but such optimizations are essential for scalability that is up to par with superscalar processors. By extending many of the existing approaches to dynamic optimization to allow for offline optimization, a new dynamic optimization system is proposed for EPIC architectures. For compatibility reasons, this new system is almost entirely a software-based solution, yet it utilizes the hardware-based profiling counters planned for future EPIC processors. Finally, the third contribution of this thesis is the introduction of several original optimization algorithms, which are specifically designed for implementation in a dynamic optimization infrastructure. Dynamic if-conversion is a lightweight runtime algorithm that converts control dependencies to data dependencies and vice versa at runtime, based on branch misprediction rates, that achieves a speedup of up to 17% for the SpecInt95 benchmarks. Several other algorithms, such as predicate profiling, predicate promotion and false predicate path collapse are designed to aid in offline instruction rescheduling. en_US
dc.rights I 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 NC State University 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.title Dynamic Optimization Infrastructure and Algorithms for IA-64 en_US
dc.degree.name MS en_US
dc.degree.level Master's Thesis en_US
dc.degree.discipline Computer Engineering en_US

Files in this item

Files Size Format View
etd.pdf 428.4Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record