Toward reconfigurable kernel datapaths with learned optimizations

Toward reconfigurable kernel datapaths with learned optimizations
复制标题

DOI:
10.1145/3458336.3465288
复制
发表时间:
2021-06
期刊:
Proceedings of the Workshop on Hot Topics in Operating Systems
影响因子:
--
通讯作者:
Yiming Qiu;Hongyi Liu;T. Anderson;Yingyan Lin;Ang Chen
Yiming Qiu;Hongyi Liu;T. Anderson;Yingyan Lin;Ang Chen
中科院分区:
其他
文献类型:
--
作者:
Yiming Qiu;Hongyi Liu;T. Anderson;Yingyan Lin;Ang Chen

文献摘要

相似文献

今天的计算系统支付沉重的“操作系统税”,因为内核执行占了大量的资源足迹。这不仅仅是因为今天的内核充满了硬编码的算法,这些算法是用未声明的假设设计的,很少能很好地推广多样化的应用程序和设备技术。我们提出了可重构内核数据路径的概念,使内核能够动态地自我优化。在这种架构中,使用机器学习(ML)从经验数据中计算优化,并通过内核内虚拟机以安全和系统的方式集成到内核中。该虚拟机实现了可重配置匹配表(RMT)抽象,其中表在性能关键事件发生的点安装到内核中,匹配查找当前执行上下文,操作对ML计算的特定于上下文的优化进行编码,这可能会进一步根据应用程序的不同而有所不同。我们设想的架构将支持离线和在线学习算法,以及各种内核子系统。RMT验证器将在将RMT程序接纳到内核之前检查程序的格式良好性和模型效率。一个被认可的程序可以被解释为字节码,也可以被即时编译以优化内核数据路径。
Today's computing systems pay a heavy "OS tax", as kernel execution accounts for a significant amount of resource footprint. This is not least because today's kernels abound with hardcoded heuristics that are designed with unstated assumptions, which rarely generalize well for diversifying applications and device technologies. We propose the concept of reconfigurable kernel datapaths that enables kernels to self-optimize dynamically. In this architecture, optimizations are computed from empirical data using machine learning (ML), and they are integrated into the kernel in a safe and systematic manner via an in-kernel virtual machine. This virtual machine implements the reconfigurable match table (RMT) abstraction, where tables are installed into the kernel at points where performance-critical events occur, matches look up the current execution context, and actions encode context-specific optimizations computed by ML, which may further vary from application to application. Our envisioned architecture will support both offline and online learning algorithms, as well as varied kernel subsystems. An RMT verifier will check program well-formedness and model efficiency before admitting an RMT program to the kernel. An admitted program can be interpreted in bytecode or just-in-time compiled to optimize the kernel datapaths.