cs6235-specializationTOCS - Specialization Tools and...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
— 1 — Specialization Tools and Techniques for Systematic Optimization of System Software Dylan McNamee, Jonathan Walpole, Calton Pu, Crispin Cowan, Charles Krasic, Ashvin Goel and Perry Wagle Department of Computer Science and Engineering Oregon Graduate Institute of Science Technology Charles Consel, Gilles Muller, and Renauld Marlet University of Rennes / IRISA Classification: D.4.7 Software, Operating Systems, Organization and Design Abstract Specialization has been recognized as a powerful technique for optimiz- ing operating systems. However, specialization has not been broadly ap- plied beyond the research community because current techniques, based on manual specialization, are time-consuming and error-prone. The goal of the work described in this paper is to help operating system tun- ers perform specialization more easily. We have built a specialization toolkit that assists the major tasks of specializing operating systems. We demonstrate the effectiveness of the toolkit by applying it to three diverse operating system components. We show that using tools to assist special- ization enables significant performance optimizations without error- prone manual modifications, and leads to a new way of designing sys- tems that combines high performance and clean structure. 1 Introduction A key dilemma for operating systems designers is to reconcile the apparently conflicting requirements of correct operation across all applications and high performance for individ- ual applications. The conventional approach to address this dilemma is to write code that is general-purpose, but optimized for a few anticipated common cases. However, the result is an implementation with performance characteristics that are fixed throughout the lifetime of the operating system. Problems arise when common cases vary from installation to in- stallation, and grow worse when they vary dynamically. Much of the operating systems research in the past decade has investigated alternative approaches to addressing these diverse requirements. A promising approach is to incorpo- rate customizability into system structure [6, 15, 33, 45, 50]. A customizable operating sys- tem can be tuned for the currently observed common conditions. In most implementations of this approach, the ability to be customized is designed into the operating system, but the actual customized code is written by experts and manually injected into the system. We call such techniques explicit customization. In addition to enabling optimizations for specific
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
— 2 — common cases, explicit customization can be used to extend the functionality provided by the system. The drawbacks of explicit customization are that significant burden is placed on system tuners, optimization opportunities are reduced because customizable systems ex- plicitly limit access to global system state. Some optimizations require access across mod- ule boundaries, which is often prohibited to provide safety. Furthermore, the advantages of
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 30

cs6235-specializationTOCS - Specialization Tools and...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online