FITTCHOOSER: A Dynamic Feedback-Based Fittest Optimization Chooser

Arif Ap 1 Kévin Le Bon 1 Byron Hawkins 1 Erven Rohou 1
1 PACAP - Pushing Architecture and Compilation for Application Performance
Inria Rennes – Bretagne Atlantique , IRISA_D3 - ARCHITECTURE
Abstract : Modern hardware features can boost the performance of an application, but software vendors are often limited to the lowest common denominator to maintain compatibility with the spectrum of processors used by their clients. Given more detailed information about the hardware features, a compiler can generate more efficient code, but even if the exact CPU model is known, manufacturer confidentiality policies leave substantial uncertainty about precise performance characteristics. In addition, the activity of other programs colocated in the same runtime environment can have a dramatic effect on application performance. For example, if a shared CPU cache is being heavily used by other programs, memory access latencies may be orders of magnitude longer than those recorded during an isolated profiling session, and instruction scheduling based on such profiles may lose its anticipated advantages. Program input can also drastically change the efficiency of statically compiled code, yet in many cases is subject to total uncertainty until the moment the input arrives during program execution.We have developed FITTCHOOSER to defer optimization of a program's most processor-intensive functions until execution time. FITTCHOOSER begins by profiling the application to determine the performance characteristics that are in effect for the present execution, then generates a set of candidate variations and dynamically links them in succession to empirically measure which of them performs best. The underlying binary instrumentation framework Padrone allows for selective transformation of the program without otherwise modifying its structure or interfering with the flow of execution, making it possible for FITTCHOOSER to minimize the overhead of its dynamic optimization process. Our experimental evaluation demonstrates up to 19% speedup on a selection of programs from the SPEC CPU 2006 and PolyBench suites while introducing less than 1% overhead. The FITTCHOOSER prototype achieves these gains with a minimal repertoire of optimization techniques taken from the static compiler itself, which not only testifies to the effectiveness of dynamic optimization, but also suggests that further gains can be achieved by expanding FITTCHOOSER'S repertoire of program transformations to include more diverse and more advanced techniques.
Document type :
Conference papers
Complete list of metadatas

Cited literature [24 references]  Display  Hide  Download

https://hal.inria.fr/hal-01808658
Contributor : Erven Rohou <>
Submitted on : Tuesday, June 5, 2018 - 10:09:30 PM
Last modification on : Thursday, July 18, 2019 - 9:46:04 PM
Long-term archiving on : Thursday, September 6, 2018 - 7:10:25 PM

File

cado.fc.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01808658, version 1

Citation

Arif Ap, Kévin Le Bon, Byron Hawkins, Erven Rohou. FITTCHOOSER: A Dynamic Feedback-Based Fittest Optimization Chooser. HPCS 2018 - 16th International Conference on High Performance Computing & Simulation - Special Session on Compiler Architecture, Design and Optimization, Jul 2018, Orléans, France. pp.1-8. ⟨hal-01808658⟩

Share

Metrics

Record views

351

Files downloads

183