One of the most critical aspects of integrating loosely-coupled accelerators in heterogeneous SoC architectures is orchestrating their interactions with the memory hierarchy, especially in terms of navigating the various cache-coherence options: from accelerators accessing off-chip memory directly, bypassing the cache hierarchy, to accelerators having their own private cache. By running real-size applications on FPGA-based prototypes of many-accelerator multi-core SoCs, we show that the best cache-coherence mode for a given accelerator varies at runtime, depending on the accelerator's characteristics, the workload size, and the overall SoC status. Cohmeleon applies reinforcement learning to select the best coherence mode for each accelerator dynamically at runtime, as opposed to statically at design time. It makes these selections adaptively, by continuously observing the system and measuring its performance. Cohmeleon is accelerator-agnostic, architecture-independent, and it requires minimal hardware support. Cohmeleon is also transparent to application programmers and has a negligible software overhead. FPGA-based experiments show that our runtime approach offers, on average, a 38% speedup with a 66% reduction of off-chip memory accesses compared to state-of-the-art design-time approaches. Moreover, it can match runtime solutions that are manually tuned for the target architecture.
翻译:将松散的加速器整合到各种松散的 SoC 结构中,最关键的一个方面是协调它们与记忆层的相互作用,特别是在浏览各种缓存一致性选项方面:从直接获取芯片外内存的加速器,绕过缓存层,到拥有自己私藏缓存的加速器。通过在基于多加速器的多核心苏Cs 的FPGA原型上运行真实规模的应用,我们显示,给定的加速器的最佳缓存-一致性模式在运行时各不相同,这取决于加速器的特性、工作量大小和总体 SoC 状态。Cohmeleon应用强化学习,在运行时为每个加速器选择最佳一致性模式,而不是在设计时的静态。通过持续观察系统并测量其性能,这些选择具有适应性。Cohmeleon是自动加速器-自动调整,并且需要最小的硬件支持。Cohmeleleleon 快速匹配方法,在运行时将一个可忽略的 Overimal-imeal-liftal-liftimal acal-liflical-lical-lical-lical-lical-lipple-lical-lifol-lical-lical-lical-lical-list-lical-lipperal-lapal- acal-to acal- acal- acal- acal- acal- acal- acal- acal- acal-tomentaltralation-tomentaltralation- acal-tomental-tomental-tomental-to-to-to-s-s-s-tod-tomental-s-tod-tod-to-to-to-to-to-to-to-to-to-to-to-to-to- acal-to-toal-toal-toal-toal-to-s-to-to-to-to-to-to-to-s-to-to-to-to-to-to-to-to-to-to- a 一种可展示一个可以展示一个可持续可展示一个可展示一个可持续自动缩缩缩缩缩