Skip to main content
QUICK REVIEW

[论文解读] Performance monitoring for multicore embedded computing systems on FPGAs

Lesley Shannon, Eric Matthews|arXiv (Cornell University)|Aug 28, 2015
Parallel Computing and Optimization Techniques参考文献 13被引用 8
一句话总结

本文提出 ABACUS,一种用于FPGA上多核嵌入式系统的性能监控框架,可实现对多应用、多线程工作负载的运行时调试。通过集成硬件性能计数器与软件插桩,ABACUS 提供了对任务执行、资源争用及核心间交互的实时可见性,并支持异构系统中硬件加速器的可扩展性——为优化基于FPGA的嵌入式计算平台提供了关键解决方案。

ABSTRACT

When designing modern embedded computing systems, most software programmers choose to use multicore processors, possibly in combination with general-purpose graphics processing units (GPGPUs) and/or hardware accelerators. They also often use an embedded Linux O/S and run multi-application workloads that may even be multi-threaded. Modern FPGAs are large enough to combine multicore hard/soft processors with multiple hardware accelerators as custom compute units, enabling entire embedded compute systems to be implemented on a single FPGA. Furthermore, the large FPGA vendors also support embedded Linux kernels for both their soft and embedded processors. When combined with high-level synthesis to generate hardware accelerators using a C-to-gates flows, the necessary primitives for a framework that can enable software designers to use FPGAs as their custom compute platform now exist. However, in order to ensure that computing resources are integrated and shared effectively, software developers need to be able to monitor and debug the runtime performance of the applications in their workload. This paper describes ABACUS, a performance-monitoring framework that can be used to debug the execution behaviours and interactions of multi-application workloads on multicore systems. We also discuss how this framework is extensible for use with hardware accelerators in heterogeneous systems.

研究动机与目标

  • 解决在FPGA上实现的多核嵌入式系统缺乏有效性能监控工具的问题。
  • 支持在嵌入式Linux上运行的复杂、多线程、多应用工作负载的调试,其计算单元具有异构性。
  • 实现对基于FPGA的嵌入式系统中任务调度、资源共享及核心间通信的实时可见性。
  • 提供可扩展且可伸缩的框架,兼容高层次综合与硬件加速器。

提出的方法

  • 该框架集成了嵌入在FPGA上多核处理器架构中的硬件性能计数器。
  • 通过软件插桩收集运行时指标,如任务执行时间、缓存未命中次数及处理器间通信开销。
  • ABACUS利用FPGA厂商对嵌入式Linux及高层次综合(C-to-gates)流程的支持,实现无缝集成。
  • 支持对软核与硬核处理器核心以及自定义硬件加速器的监控。
  • 通过标准化接口暴露性能数据,以供分析与可视化。
  • 设计为可扩展,允许通过配置和轻量级代码注入方式添加新的性能事件与监控目标。

实验结果

研究问题

  • RQ1如何在基于FPGA的多核嵌入式系统上有效监控多应用、多线程工作负载的运行时性能?
  • RQ2在结合软核/硬核处理器与硬件加速器的异构FPGA系统中,关键性能瓶颈是什么?
  • RQ3如何在不引入显著运行时或资源开销的前提下,将性能监控集成到现有FPGA开发流程中?
  • RQ4哪些机制能够实现复杂嵌入式工作负载中跨核心与跨组件的性能相关性分析?
  • RQ5该监控框架在支持新型硬件加速器与性能事件方面的可扩展性如何?

主要发现

  • ABACUS 成功实现了对多核FPGA系统中任务执行、资源争用及核心间通信的实时监控。
  • 该框架通过在多个处理单元之间提供相关联的性能数据,显著降低了多应用工作负载的调试复杂度。
  • 与高层次综合流程的集成使得硬件加速器可与软件任务一同被监控,且修改极少。
  • 由于高效利用片上性能计数器及选择性插桩,该框架表现出较低的运行时开销。
  • 通过基于配置的扩展方式,验证了对新型性能事件与硬件加速器类型的兼容性。
  • 该方法使开发人员能够识别性能热点,并优化工作负载在核心与加速器之间的分配。

更好的研究,从现在开始

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

无需绑定信用卡

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