Skip to main content
QUICK REVIEW

[论文解读] Perpetual Adaptation of Software to Hardware: An Extensible Architecture for Providing Code Optimization as a Central System Service

Thomas Kistler, Michael Franz|ArXiv.org|Mar 22, 1999
Parallel Computing and Optimization Techniques参考文献 30被引用 3
一句话总结

本文提出了一种可扩展的、以架构为中心的即时代码生成与动态优化系统,将代码优化作为核心的、可插拔的系统服务。通过将优化逻辑与核心系统解耦,并支持对各种硬件的运行时自适应,该系统实现了软件对不断演进的处理器架构的持续适应,原型评估表明其具有出色的灵活性和性能优势。

ABSTRACT

We present an open architecture for just-in-time code generation and dynamic code optimization that is flexible, customizable, and extensible. While previous research has primarily investigated functional aspects of such a system, architectural aspects have so far remained unexplored. In this paper, we argue that these properties are important to generate optimal code for a variety of hardware architectures and different processor generations within processor families. These properties are also important to make system-level code generation useful in practice.

研究动机与目标

  • 解决操作系统中缺乏对动态代码优化的架构支持的问题。
  • 使软件能够无需重新编译即可持续适应新型处理器和硬件变体。
  • 设计一种将代码优化作为一级、可扩展服务并集成在操作系统级别的系统。
  • 在多种硬件平台上支持灵活、可定制的优化策略。
  • 使系统级代码生成在实际部署中变得实用且高效。

提出的方法

  • 设计一种模块化、可扩展的架构,将代码生成和优化作为核心系统服务暴露。
  • 将即时(JIT)代码生成直接集成到操作系统内核或运行时环境中。
  • 允许在运行时插入针对特定处理器系列或指令集的优化模块。
  • 采用基于组件的设计,将优化逻辑与核心系统解耦,支持运行时更新和自定义。
  • 根据硬件特性与工作负载需求,支持优化策略的动态重新配置。
  • 利用现有编译器基础设施,在执行过程中实时生成和优化机器代码。

实验结果

研究问题

  • RQ1如何系统性地将代码优化作为核心、可扩展的服务集成到操作系统中?
  • RQ2哪些架构原则能够实现无需重新编译即可使软件持续适应演进的硬件?
  • RQ3如何在运行时为不同处理器系列动态自定义并插入优化策略?
  • RQ4将优化作为系统级服务时,会带来哪些性能与灵活性的权衡?
  • RQ5该架构能否在多种硬件平台上支持实用、高效且可扩展的代码生成?

主要发现

  • 所提出的架构成功地将优化逻辑与核心系统解耦,实现了运行时的可扩展性和自定义能力。
  • 该系统支持在处理器家族内部对新型处理器世代进行动态适应,减少了应用程序重新编译的需求。
  • 通过将优化作为核心系统服务,该方法实现了在多种工作负载间一致的、基于策略的代码生成。
  • 原型表明,系统级JIT编译可以高效地集成到操作系统中,且运行时开销极小。
  • 可扩展的设计允许在不修改核心系统的情况下添加新的优化插件,提升了可维护性。
  • 该架构通过运行时代码自适应,同时实现了功能正确性和性能提升。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。