[论文解读] Augmenting Operating Systems With the GPU
本文提出 KGPU,一种框架,使 Linux 内核能够将计算密集型任务(如 AES 加密和网络数据包处理)作为协处理器卸载到 GPU。通过使用页锁定内存和带有用户空间辅助程序的消息传递管道,KGPU 降低了 GPU 调用延迟,并在大块数据上实现了 AES-ECB 加密高达 6 倍的加速,证明了 GPU 增强型操作系统的可行性。
The most popular heterogeneous many-core platform, the CPU+GPU combination, has received relatively little attention in operating systems research. This platform is already widely deployed: GPUs can be found, in some form, in most desktop and laptop PCs. Used for more than just graphics processing, modern GPUs have proved themselves versatile enough to be adapted to other applications as well. Though GPUs have strengths that can be exploited in systems software, this remains a largely untapped resource. We argue that augmenting the OS kernel with GPU computing power opens the door to a number of new opportunities. GPUs can be used to speed up some kernel functions, make other scale better, and make it feasible to bring some computation-heavy functionality into the kernel. We present our framework for using the GPU as a co-processor from an OS kernel, and demonstrate a prototype in Linux.
研究动机与目标
- 探索在操作系统内核中使用 GPU 作为协处理器以加速性能关键的系统功能的可行性。
- 通过设计内核与 GPU 之间的低延迟通信框架,解决 GPU 卸载带来的延迟开销。
- 证明 GPU 加速可有效集成到现有操作系统子系统(如加密和网络)中。
- 通过利用 GPU 的大规模并行性,实现 CPU 上过慢而无法完成的新系统功能。
- 为未来将 GPU 视为专用加速器而非通用 CPU 的异构操作系统设计奠定基础。
提出的方法
- 设计 KGPU,一种允许通过用户空间辅助程序和消息传递接口实现内核直接调用 GPU 的内核框架。
- 使用 CUDA 管理的页锁定内存,以最小化 CPU 与 GPU 之间的数据传输开销。
- 实现五级 GPU 服务调用流水线:准备、DMA 传输至 GPU、GPU 执行、DMA 从 GPU 传输、结果返回。
- 采用共享响应队列和完成消息,实现 GPU 异步操作,并实现计算与数据传输的重叠。
- 作为概念验证,将 GPU 加速的 AES-ECB 加密集成到 Linux 加密子系统中。
- 使用微基准测试评估不同数据大小下的性能,并对比 GPU 与 CPU 实现的性能表现。
实验结果
研究问题
- RQ1GPU 加速能否有效集成到操作系统内核中,以提升关键系统功能的性能?
- RQ2在将内核任务卸载到 GPU 时,哪些架构模式能将延迟最小化?
- RQ3GPU 卸载对加密和网络工作负载的吞吐量和延迟有何影响?
- RQ4对于小尺寸与大尺寸数据,GPU 与 CPU 执行之间的性能权衡如何?
- RQ5GPU 加速服务能否在内核现有子系统中安全且高效地组合使用?
主要发现
- KGPU 框架通过使用用户空间辅助程序和消息传递机制,成功实现了从 Linux 内核到 GPU 的卸载,借助流水线和页锁定内存降低了延迟。
- 当加密 8KB 或以上数据块时,GPU 加速的 AES-ECB 加密相比优化后的 CPU 版本最高可实现 6 倍加速。
- 性能拐点出现在 8KB,这意味着加密文件系统中的每页加密可显著受益于 GPU 加速。
- 该框架支持五级流水线的并发操作,实现了数据传输与 GPU 计算的重叠。
- GPU 数据传输带来的延迟开销限制了小任务的性能提升,表明基于工作负载大小动态调度 CPU/GPU 是有益的。
- 未来硬件趋势(如具备共享内存的 APU)可能大幅降低复制开销,并显著降低受益于 GPU 卸载的最小任务大小。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。