Optimistic incremental specialization: streamlining a commercial operating system

C. Pu, Tito Autrey, A. Black, C. Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, J. Walpole, Ke Zhang
{"title":"Optimistic incremental specialization: streamlining a commercial operating system","authors":"C. Pu, Tito Autrey, A. Black, C. Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, J. Walpole, Ke Zhang","doi":"10.1145/224056.224080","DOIUrl":null,"url":null,"abstract":"Conventional operating system code is written to deal with all possible system states, and performs considerable interpretati on to determine the current system state before taking action. A consequence of this approach is that kernel calls which perform little ac tual work take a long time to execute. To address this problem, we use specialized operating system code that reduces interpretation for common cases, but still behaves correctly in the fully general c ase. We describe how specialized operating system code can be generated and bound incrementallyas the information on which it depends becomes available. We extend our specialization techniques to include the notion of optimistic incremental specialization : a technique for generating specialized kernel code optimistically for sys tem states that are likely to occur, but not certain. The ideas outlined in this paper allow the conventional kernel design tenet of “optimi zing for the common case” to be extended to the domain of adaptive operating systems. We also show that aggressive use of specialization can produce in-kernel implementations of operating system functionality with performance comparable to user-level implementations. We demonstrate that these ideas are applicable in real-world operating systems by describing a re-implementation of the HP-UX file system. Our specializedread system call reduces the cost of a single byte read by a factor of 3, and an 8 KB read by 26%, while preserving the semantics of the HP-UXread call. By relaxing the semantics of HP-UXread we were able to cut the cost of a single byte read system call by more than an order of magnitude.","PeriodicalId":168455,"journal":{"name":"Proceedings of the fifteenth ACM symposium on Operating systems principles","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"255","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the fifteenth ACM symposium on Operating systems principles","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/224056.224080","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 255

Abstract

Conventional operating system code is written to deal with all possible system states, and performs considerable interpretati on to determine the current system state before taking action. A consequence of this approach is that kernel calls which perform little ac tual work take a long time to execute. To address this problem, we use specialized operating system code that reduces interpretation for common cases, but still behaves correctly in the fully general c ase. We describe how specialized operating system code can be generated and bound incrementallyas the information on which it depends becomes available. We extend our specialization techniques to include the notion of optimistic incremental specialization : a technique for generating specialized kernel code optimistically for sys tem states that are likely to occur, but not certain. The ideas outlined in this paper allow the conventional kernel design tenet of “optimi zing for the common case” to be extended to the domain of adaptive operating systems. We also show that aggressive use of specialization can produce in-kernel implementations of operating system functionality with performance comparable to user-level implementations. We demonstrate that these ideas are applicable in real-world operating systems by describing a re-implementation of the HP-UX file system. Our specializedread system call reduces the cost of a single byte read by a factor of 3, and an 8 KB read by 26%, while preserving the semantics of the HP-UXread call. By relaxing the semantics of HP-UXread we were able to cut the cost of a single byte read system call by more than an order of magnitude.
乐观增量专门化:简化商业操作系统
传统的操作系统代码是为了处理所有可能的系统状态而编写的,并且在采取行动之前执行相当多的解释来确定当前的系统状态。这种方法的一个后果是,执行很少实际工作的内核调用需要很长时间才能执行。为了解决这个问题,我们使用专门的操作系统代码,它减少了对常见情况的解释,但在完全通用的c情况下仍然能够正常工作。我们描述了如何在特定操作系统代码所依赖的信息变得可用时,增量地生成和绑定这些代码。我们扩展了我们的专门化技术,以包括乐观增量专门化的概念:一种为可能发生但不确定的系统状态乐观地生成专门化内核代码的技术。本文概述的思想允许将传统的内核设计原则“针对常见情况进行优化”扩展到自适应操作系统领域。我们还表明,积极使用专门化可以产生与用户级实现性能相当的操作系统功能的内核内实现。我们通过描述HP-UX文件系统的重新实现来证明这些思想适用于实际操作系统。我们的specialedread系统调用将单个字节的读取成本降低了3倍,将8 KB的读取成本降低了26%,同时保留了HP-UXread调用的语义。通过放宽HP-UXread的语义,我们能够将单个字节读取系统调用的成本降低一个数量级以上。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信