首页> 外文学位 >Fine-grained dynamic instrumentation of commodity operating system kernels.
【24h】

Fine-grained dynamic instrumentation of commodity operating system kernels.

机译:商品操作系统内核的细粒度动态检测。

获取原文
获取原文并翻译 | 示例

摘要

Operating system kernel code is generally immutable. This trend is unfortunate, because a kernel that can insert (and later remove) code at run-time has many uses, including performance measurement, debugging, code coverage, run-time installation of patches, and run-time optimizations. The research in this dissertation investigates dynamic (run-time) kernel instrumentation and its applications in the areas of kernel profiling and code evolution. We have implemented dynamic kernel instrumentation, a kernel performance monitor, and a run-time kernel optimizer in a system called KernInst.; The first component of this dissertation investigates fine-grained dynamic kernel instrumentation, a technology to dynamically modify kernel code. We have designed two primitives for run-time kernel code modification, splicing, which inserts instrumentation code, and code replacement , which replaces a function's code. A part of the KernInst system called kerninstd implements fine-grained dynamic instrumentation for Solaris UltraSPARC kernels.; The second component of this dissertation is the collection of techniques and algorithms for using dynamic instrumentation to obtain kernel performance information. The first techniques are the design and implementation of efficient instrumentation code to obtain counts, elapsed times, and virtual times of kernel code. This dissertation also presents a means to effectively calculate an estimate of kernel control flow graph counts from basic block counts. These techniques and algorithms are embodied in a kernel performance tool called kperfmon. A case study describes how kperfmon helped to understand and improve the performance of a Web proxy server.; The final component of this dissertation introduces the concept of evolving code in a commodity operating system. An evolving kernel changes it code at run-time, in response to the measured environment. KernInst provides a technological infrastructure that enables commodity kernels to evolve. As a proof of concept, we describe an automated kernel run-time version of the code positioning I-cache optimization. We have applied run-time code positioning to the TCP read-side stream processing routine tcp_rput_data . Code positioning reduces the time that tcp_rput_data waits for I-cache misses by 35%, reduces its execution time by 17%, and improves its instructions per cycle by 36%.
机译:操作系统内核代码通常是不可变的。这种趋势是不幸的,因为可以在运行时插入(然后删除)代码的内核有许多用途,包括性能评估,调试,代码覆盖率,补丁的运行时安装和运行时优化。本文研究动态(运行时)内核工具及其在内核性能分析和代码演变领域的应用。我们已经在名为 KernInst 的系统中实现了动态内核检测,内核性能监视器和运行时内核优化器。本文的第一部分研究了细粒度动态内核检测,它是一种动态修改内核代码的技术。我们为运行时内核代码修改设计了两个原语,分别是拼接代码替换,其中拼接插入检测代码,而替换函数的代码。 KernInst系统的一部分,称为 kerninstd ,可为Solaris UltraSPARC内核实现细粒度的动态检测。本文的第二部分是使用动态工具获取内核性能信息的技术和算法的集合。第一种技术是设计和实现有效的工具代码,以获取内核代码的计数,经过时间和虚拟时间。本文还提出了一种从基本块数有效计算内核控制流图计数估计值的方法。这些技术和算法包含在称为 kperfmon 的内核性能工具中。案例研究描述了kperfmon如何帮助理解和改善Web代理服务器的性能。本文的最后一部分介绍了商品操作系统中 evolving code 的概念。不断发展的内核会在运行时根据所测环境更改其代码。 KernInst提供了一种技术基础结构,使商品内核得以发展。作为概念验证,我们描述了代码定位智能缓存优化的自动内核运行时版本。我们已将运行时代码定位应用于TCP读取侧流处理例程 tcp_rput_data 。代码定位将 tcp_rput_data 等待I缓存未命中的时间减少了35%,将其执行时间减少了17%,并将每个周期的指令缩短了36%。

著录项

  • 作者

    Tamches, Ariel Meir.;

  • 作者单位

    The University of Wisconsin - Madison.;

  • 授予单位 The University of Wisconsin - Madison.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2001
  • 页码 213 p.
  • 总页数 213
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号