[论文解读] Dynamic load-balancing on multi-FPGA systems: a case study
本文提出一种用于多FPGA系统的动态负载均衡技术,通过在FPGA处理器之间重新分配工作负载来提升性能。通过将内核执行串行化,但将每个内核内的工作负载在两个SRC-6 MAP处理器之间并行化,该方法实现了接近100%的利用率,并将整体应用性能提升了9%。
In this case study, we investigate the impact of workload balance on the performance of multi-FPGA codes. We start with an application in which two distinct kernels run in parallel on two SRC-6 MAP processors. We observe that one of the MAP processors is idle 18% of the time while the other processor is fully utilized. We investigate a task redistribution schema which serializes the execution of the two kernels, yet parallelizes execution of each individual kernel by spreading the workload between two MAP processors. This implementation results in a near 100% utilization of both MAP processors and the overall application performance is improved by 9%.
研究动机与目标
- 解决由于工作负载分布不均导致的多FPGA系统性能下降问题。
- 研究在真实天体物理学计算场景中,负载不平衡对应用性能的影响。
- 开发一种任务重新分配方案,以提高FPGA利用率并减少空闲时间。
- 通过优化多个FPGA之间的任务分配,提升整体应用性能。
- 证明动态负载均衡可显著提升并行FPGA工作负载的效率。
提出的方法
- 本研究使用两个SRC-6 MAP处理器并行执行两个不同的计算内核。
- 观察到工作负载不平衡,其中一个FPGA有18%的时间处于空闲状态,而另一个则完全被利用。
- 提出一种动态负载均衡方案,该方案将内核执行串行化,但将每个内核内的工作负载在两个FPGA之间并行化。
- 该方法利用FPGA级别的并行性,将每个内核的数据块分布在两个处理器之间。
- 实现采用定制硬件设计,用于管理两个FPGA之间的任务调度和数据流。
- 通过比较负载均衡前后处理器的利用率和执行时间来衡量性能。
实验结果
研究问题
- RQ1在运行科学工作负载的多FPGA系统中,工作负载不平衡如何影响性能?
- RQ2在真实天体物理学计算场景中,动态负载均衡能否提高FPGA利用率?
- RQ3通过在多个FPGA之间重新分配工作负载,可实现多大的性能提升?
- RQ4在串行化内核执行的同时并行化内核内部的工作负载,是否能带来更好的资源利用率?
- RQ5负载均衡在多FPGA系统中能在多大程度上减少空闲时间?
主要发现
- 在基线配置下,一个FPGA有18%的时间处于空闲状态,表明存在显著的资源未充分利用。
- 所提出的负载均衡方案在两个FPGA处理器上均实现了接近100%的利用率。
- 应用动态负载均衡技术后,整体应用性能提升了9%。
- 尽管内核执行被串行化,性能提升仍得以实现,证明了内核内并行化的有效性。
- 工作负载重新分配策略成功缓解了多FPGA系统中的热点瓶颈。
- 结果证实,动态负载均衡是提升基于FPGA的科学计算效率的可行方法。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。