[论文解读] Toward Transparent Heterogeneous Systems
本文提出了一种透明的、自动化的异构计算优化系统,通过运行时性能分析和即时编译(JIT)动态识别性能关键代码段,随后将它们透明地卸载到专用处理器上。该原型在嵌入式系统上实现了高达32倍的加速,无需开发者干预,展示了对工作负载变化和硬件条件的实时适应能力。
Heterogeneous parallel systems are widely spread nowadays. Despite their availability, their usage and adoption are still limited, and even more rarely they are used to full power. Indeed, compelling new technologies are constantly developed and keep changing the technological landscape, but each of them targets a limited sub-set of supported devices, and nearly all of them require new programming paradigms and specific toolsets. Software, however, can hardly keep the pace with the growing number of computational capabilities, and developers are less and less motivated in learning skills that could quickly become obsolete. In this paper we present our effort in the direction of a transparent system optimization based on automatic code profiling and Just-In-Time compilation, that resulted in a fully-working embedded prototype capable of dynamically detect computing-intensive code blocks and automatically dispatch them to different computation units. Experimental results show that our system allows gains up to 32x in performance --- after an initial warm-up phase --- without requiring any human intervention.
研究动机与目标
- 为应对日益复杂和碎片化的异构计算平台所带来的挑战,这些平台使开发者面临陡峭的学习曲线和工具链不兼容的问题。
- 解决快速演进的硬件与缓慢发展的软件开发周期之间的不匹配问题。
- 实现在无需修改应用代码或开发者专业知识的前提下,自动且透明地进行性能优化。
- 构建一个原型系统,能够在运行时检测并将其计算密集型函数卸载到专用处理器上。
- 展示系统对工作负载模式和硬件可用性变化的实时动态适应能力。
提出的方法
- 该系统使用LLVM JIT框架在异构嵌入式平台上运行时执行并分析应用代码。
- 它利用Linux的perf_event工具通过低级性能监控识别计算密集型函数。
- 基于性能分析结果,系统自动将热点代码段分派到DM3730芯片上的C64x+ DSP上,从而从ARM Cortex-A8 CPU卸载计算负载。
- 该方法对应用程序完全透明,无需源代码修改或手动优化。
- 系统持续监控性能,并在目标处理单元上的执行表现变得次优时,可撤销卸载决策。
- 在REPTAR平台上实现了原型系统,使用OpenCV进行视频处理,并集成了VPE以实现动态计算卸载。
实验结果
研究问题
- RQ1系统能否在无需开发者输入的情况下,自动检测运行中应用程序的计算密集型代码段?
- RQ2此类系统能否动态地将这些代码段卸载到专用处理器以提升性能?
- RQ3自动卸载在多大程度上能实现与手工优化代码相当的性能提升?
- RQ4系统如何处理工作负载模式或硬件条件的动态变化?
- RQ5系统能否在保持透明性的同时,实现在多样化计算工作负载下的显著性能提升?
主要发现
- 在MatrixMult基准测试中,系统实现了最高31.9倍的加速,而在预热阶段观察到32倍的性能提升。
- 对于图像处理原型,将2D卷积卸载到DSP后,帧率从1.5 fps提升至6 fps(提升4倍)。
- 系统自动检测并卸载了最耗时的函数(卷积),使ARM CPU负载降低了约50%。
- 在多个基准测试中,性能提升保持一致,包括Complement的7.4倍、DotProduct的6.3倍以及PatternMatch的22.7倍。
- 系统通过在DSP性能不佳时撤销卸载决策,展示了动态适应能力,例如在FFT测试中实现了0.7倍的加速(即性能下降)。
- 该原型成功实现了实时视频处理,具备持续的性能监控和自适应资源分配能力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。