THIS IS A CONTINUATION OF N00014-14-1-0525 Advanced Lifelong Optimization of Native Software with ALLVM
Abstract
Statement of Work:The PI proposes to revisit the fundamental assumptions about how modern compilers should work and how nativesoftware in static languages should be shipped. In particular, they will explore a novel system architecture called allvm,in which all native software on a system (including the OS kernel, device drivers, dynamically loaded libraries andframeworks, and application software traditionally shipped as native machine code) is represented in the form of a compiler intermediate representation (compiler IR), making it amenable to much more sophisticated program analysis and transformation techniques than native binary code. They will explore two broad questions as part of this work. First, how can we obtain a rich code representation like LLVM IR for application software on an end-user s system, inparticular, one that makes the software amenable to sophisticated analysis, optimization and code generation?Second, how could existing optimizations become more effective and what new optimization techniques would befeasible if many or all components of an application were available in LLVM form on an end-user s system?ObjectiveThe PI proposed to investigate and develop allvm a novel methods for compilation, distribution and specialization/customization of software, which has a wide range of powerful benefits for performance, security andreliability of software systems.ApproachThe proposed research will develop two broad areas.1. Obtaining a rich code representation (such as LLVM IR) for application software on an end-user s system, whichmakes the software amenable to sophisticated analysis, optimization and code generation.2. Adapting existing optimizations and discovering new ones to take advantage of the richer code representation.They will develop and compare three strategies for solving the first problem:- shipping native binary code (as systems do today) and automatically raising it to LLVM IR form (on the end-user smachine);- shipping annotated binary code with annotations that make it easier to generate LLVM IR; and- shipping code in LLVM IR form directly.In practice, it is expected that the first approach will be necessary for legacy code that cannot be recompiled, and will be combined with one or both of the other approaches. They will account for this in our study of optimizations. They will investigate several optimization techniques and goals that go far beyond what today s systems can do and develop install-time and run-time optimizations to eliminate the space and time overheads of modern software architectures, e.g., the major problem of software bloat. They will explore dynamic optimizations that leverage run-time program data for new goals, e.g., automatic vectorization. They will also study optimizations across process boundaries for communicating programs, which inherently must be done at run-time; this is an entirely new classes of optimizations that has not previously been considered. If time permits, they will also study some additional performance optimizations, such as profile-guided optimizations, using profile information from the end-user (between executions on the end-user s machine), and install-time specialization/autotuning techniques. They expect that the allvm approach has a wide range of powerful benefits for performance, security and reliability of software systems.Merit/ONR RelevanceThe proposed research will develop novel methods for compilation, distribution and specialization/customization of software, which has a wide range of powerful benefits for performance, security and reliability of software systems. The proposed research will enhance efficiency/performance and security a wide variety of systems of Naval relevance. Efficient and more secure software is an important contributor to the success of future Navy s missions.Progress Statement:- We have a partial working prototype of allvm. The LLVM infrastructure already contains most of the componentsneeded for this prototype,
Document Details
- Document Type
- DoD Grant Award
- Publication Date
- Sep 26, 2018
- Source ID
- N000141612125
Entities
People
- Vikram Adve
Organizations
- Office of Naval Research
- United States Navy
- University of Illinois Urbana–Champaign