RACER:避免加速型芯片多处理器中的端到端性能下降问题

《ACM Transactions on Architecture and Code Optimization》:RACER: Avoiding End-to-End Slowdowns in Accelerated Chip Multi-Processors

【字体: 时间:2025年11月07日 来源:ACM Transactions on Architecture and Code Optimization

编辑推荐:

  硬件加速与XMP架构的优化及性能分析,提出RACER系统通过低开销接口、精细上下文切换、加速器发起的中断预判和动态数据预取,解决硬件加速带来的端到端性能下降问题。实验表明RACER在五类工作负载上平均性能提升1.31倍,并保证无性能下降。

  在当今的数据中心计算环境中,集成在CPU芯片上的硬件加速器正在成为一种重要的技术趋势。这些加速器与通用核心的近距离结合,使得它们能够高效地执行特定的固定功能内核,从而为系统带来显著的性能提升和能效优化。然而,这种技术并非在所有情况下都能带来预期的收益。有时,将计算任务转移到硬件加速器上反而会导致整体执行时间的增加,这种现象被称为“端到端的减速”。本文介绍了一种名为RACER的硬件架构和运行时系统,旨在规避这种风险,确保硬件加速不会导致性能下降,从而提升请求处理工作的效率。

### 避免端到端性能损失的关键

RACER的核心设计理念是通过多种优化手段来解决传统硬件加速方法中存在的问题。首先,它引入了一个低开销的接口,使得通用核心与加速器之间的通信更加高效,减少了数据移动和状态切换的负担。其次,RACER实现了细粒度的上下文切换机制,使得加速器能够主动发起抢占,从而避免核心长时间阻塞,提高资源利用率。此外,RACER还支持无缝的数据移动,确保在核心和加速器之间传输数据时,不会造成额外的延迟。这些优化共同作用,使得RACER能够在各种工作负载中显著提升性能。

在实际应用中,请求处理工作负载往往涉及多个阶段:预处理、可加速处理和后处理。预处理和后处理阶段通常在核心上执行,而可加速处理阶段则可以被卸载到加速器上。然而,如果这些阶段之间的数据访问模式不当,或者加速器的性能不足以弥补卸载带来的额外开销,那么整个请求的执行时间可能会增加。RACER通过智能的数据管理机制,例如动态缓存降级和预取,来优化这种数据流动,从而减少后处理阶段的延迟。

### 深入分析硬件加速的挑战

在实际测试中,我们发现了一些关键的性能瓶颈。例如,当请求的负载较小(如256字节)时,卸载的开销可能超过加速带来的收益,导致整体性能下降。这种现象被称为“卸载税”,即在将任务从核心转移到加速器时,所付出的额外时间成本。此外,如果加速器的输出数据无法被及时缓存,那么后处理阶段的执行时间可能会显著增加。这通常发生在加速器的输出数据超过了核心私有缓存的容量,导致缓存污染,进而影响后续的处理效率。

我们还发现,加速器的性能与负载的大小密切相关。对于某些工作负载,如数据压缩和解压缩,当负载较小时,加速器的性能优势并不明显,甚至可能不如直接在核心上执行。因此,RACER引入了一种基于负载大小的动态卸载决策机制,仅在加速器能够带来净性能提升的情况下才进行卸载。这种机制不仅减少了不必要的卸载操作,还确保了请求处理的延迟不会增加。

### 优化数据放置和缓存管理

为了进一步减少性能损失,RACER还优化了数据在内存层次中的放置方式。通过动态缓存降级,RACER将加速器所需的数据从核心的私有缓存中移出,存入共享的LLC(最后一级缓存),从而减少缓存污染。这种优化不仅提高了加速器的执行效率,还避免了核心在后续处理时需要频繁访问缓存,导致额外的延迟。此外,RACER还实现了缓存预取机制,将加速器的输出数据提前加载到核心的私有缓存中,从而减少后处理阶段的访问延迟。

在某些情况下,例如数据解压缩任务,由于解压缩后的数据量较大,可能会超出核心私有缓存的容量,导致数据被写入主存。这时,RACER通过缓存预取机制,确保这些数据能够被及时加载到核心的缓存中,从而避免因数据访问延迟带来的性能损失。通过这些优化,RACER能够在保持低开销的同时,显著提升加速器的性能表现。

### 实际测试与性能提升

我们对RACER进行了广泛的测试,涵盖了五种具有不同内存访问模式、可加速功能和计算强度的代表性请求处理工作负载。测试结果表明,RACER在这些工作负载上平均实现了1.31倍的性能提升,某些情况下甚至可以达到2.66倍的提升。这些结果表明,RACER不仅能够有效避免端到端的性能损失,还能够在各种负载条件下保持较高的吞吐量。

RACER的优化策略在不同工作负载中表现出了良好的适应性。例如,在数据移动密集型的工作负载中,RACER的缓存预取机制能够显著减少后处理阶段的延迟;而在计算密集型的工作负载中,动态缓存降级和低开销抢占机制则能够提高加速器的利用率,从而提升整体性能。此外,RACER还通过在编译时插入预取和缓存降级指令,使得这些优化能够在运行时自动应用,无需修改应用程序的源代码。

### 对未来工作的启示

RACER的成功不仅在于其优化策略的有效性,还在于它为未来的加速器研究提供了新的思路。传统的加速器设计往往忽略了核心与加速器之间的数据流动和缓存管理问题,而RACER通过结合硬件和软件的优化,为解决这些问题提供了一个可行的方案。此外,RACER还展示了如何通过低开销的机制来实现高效的抢占和资源调度,这对于处理高并发、低延迟的请求非常重要。

随着数据中心对高性能计算的需求不断增长,RACER的优化策略为加速器的广泛应用提供了理论和技术支持。通过避免端到端的性能损失,RACER不仅提高了请求处理的效率,还为加速器在实际系统中的部署提供了更加可靠的保障。这表明,未来的加速器设计和运行时系统需要更加关注数据流动和缓存管理,以充分发挥硬件加速的潜力。
相关新闻
生物通微信公众号
微信
新浪微博
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号