Specialization tools and techniques for systematic optimization of system software
- 1 May 2001
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 19 (2), 217-251
- https://doi.org/10.1145/377769.377778
Abstract
Specialization has been recognized as a powerful technique for optimizing operating systems. However, specialization has not been broadly applied 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 tuners 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 specialization enables significant performance optimizations without error-prone manual modifications. Our experience with the toolkit suggests new ways of designing systems that combine high performance and clean structure.Keywords
This publication has 15 references indexed in Scilit:
- Accurate program analyses for successful specialization of legacy system softwareTheoretical Computer Science, 2000
- Multi-stage programming with explicit annotationsACM SIGPLAN Notices, 1997
- Scaling up partial evaluation for optimizing the Sun commercial RPC protocolACM SIGPLAN Notices, 1997
- Accurate binding-time analysis for imperative languagesACM SIGPLAN Notices, 1997
- The Flux OSKitACM SIGOPS Operating Systems Review, 1997
- Dynamic binding for an extensible systemPublished by Association for Computing Machinery (ACM) ,1996
- Microkernels meet recursive virtual machinesACM SIGOPS Operating Systems Review, 1996
- CPU inheritance schedulingACM SIGOPS Operating Systems Review, 1996
- Beyond the black box: open implementationIEEE Software, 1996
- An experiment in partial evaluation: The generation of a compiler generatorLecture Notes in Computer Science, 1985