Skip to main content
QUICK REVIEW

[论文解读] Do Your Cores Play Nicely? A Portable Framework for Multi-core Interference Tuning and Analysis

Dan Iorga, Tyler Sorensen|arXiv (Cornell University)|Sep 13, 2018
Parallel Computing and Optimization Techniques参考文献 16被引用 3
一句话总结

本文提出了一种可移植的黑盒自动调优框架,可自动识别在各种架构上针对‘敌对进程’——即旨在引发多核干扰的合成工作负载——的有效参数配置。通过使用随机搜索、模拟退火或贝叶斯优化来调优这些进程,该方法在98%的基准测试/芯片组合中实现了显著的性能下降,其效果与手工设计的敌对进程相当或更优,同时消除了对各平台微架构知识的依赖。

ABSTRACT

Multi-core architectures can be leveraged to allow independent processes to run in parallel. However, due to resources shared across cores, such as caches, distinct processes may interfere with one another, e.g. affecting execution time. Analysing the extent of this interference is difficult due to: (1) the diversity of modern architectures, which may contain different implementations of shared resources, and (2) the complex nature of modern processors, in which interference might arise due to subtle interactions. To address this, we propose a black-box auto-tuning approach that searches for processes that are effective at causing slowdowns for a program when executed in parallel. Such slowdowns provide lower bounds on worst-case execution time; an important metric in systems with real-time constraints. Our approach considers a set of parameterised "enemy" processes and "victim" programs, each targeting a shared resource. The autotuner searches for enemy process parameters that are effective at causing slowdowns in the victim programs. The idea is that victim programs behave as a proxy for shared resource usage of arbitrary programs. We evaluate our approach on: 5 different chips; 3 resources (cache, memory bus, and main memory); and consider several search strategies and slowdown metrics. Using enemy processes tuned per chip, we evaluate the slowdowns on the autobench and coremark benchmark suites and show that our method is able to achieve slowdowns in 98% of benchmark/chip combinations and provide similar results to manually written enemy processes.

研究动机与目标

  • 解决手工设计的敌对进程在测量多核干扰时存在的可移植性和有效性局限。
  • 实现在无需了解目标平台底层微架构知识的前提下,自动发现可引发干扰的进程参数。
  • 开发一个统一且可重用的框架,适用于多种多核架构(ARM和x86),以量化最坏情况执行时间(WCET)的退化。
  • 评估自动调优的敌对进程是否能在真实基准测试中引发可测量的性能下降,且效果与手工编写的进程相当或更优。
  • 证明该方法能可靠地识别出在多个共享资源(缓存、内存总线、主内存)上的高影响力干扰场景。

提出的方法

  • 该框架使用针对特定共享资源(如使用步长模式访问缓存行或通过重复访问占用内存带宽)的参数化‘敌对模板’。
  • 应用黑盒优化策略(随机搜索、模拟退火、贝叶斯优化)来调优敌对进程参数(如缓冲区大小、步长、访问模式),以在‘受害者’程序上实现最大性能下降。
  • 受害者程序被选择为对特定干扰路径敏感(例如,向量加法对缓存干扰敏感),作为真实应用程序行为的代理。
  • 该方法采用两级调优:首先针对每条干扰路径优化敌对参数,然后将调优后的敌对进程组合成一个敌对环境用于评估。
  • 根据搜索策略在高效发现高下降配置方面的能力进行评估,性能通过统计显著性和下降幅度来衡量。
  • 该框架在五种不同芯片(包括ARM和x86)上进行评估,使用标准基准测试(autobench、coremark),并与先前工作中手工调优的敌对进程进行比较。

实验结果

研究问题

  • RQ1自动调优方法是否能有效发现敌对进程的参数配置,使其在多种多核架构上对受害者程序造成显著性能下降?
  • RQ2与手工编写的敌对进程相比,自动调优的敌对进程在引发性能下降和统计显著性方面表现如何?
  • RQ3哪种优化策略(随机搜索、模拟退火、贝叶斯优化)在发现高影响力干扰配置方面最有效且高效?
  • RQ4考虑到不同芯片的微架构细节差异,该框架在多大程度上可跨芯片移植而无需重新实现?
  • RQ5自动调优的敌对环境是否能可靠地在多个共享资源(缓存、内存总线、主内存)上产生可测量且有意义的最坏情况执行时间边界?

主要发现

  • 该自动调优框架在所评估的所有基准测试与芯片组合中,成功引发了可测量的性能下降,覆盖率达98%,在多种架构上表现出高度可靠性。
  • 在52%的情况下,自动调优的敌对环境实现的性能下降在统计上显著高于手工调优的对应版本,其余48%的案例中置信区间存在重叠。
  • 即使在无法访问目标平台底层微架构细节的情况下,该方法仍实现了与手工编写的敌对进程相当或更优的性能。
  • 贝叶斯优化和模拟退火在收敛速度和发现高下降配置的有效性方面优于随机搜索。
  • 该框架展现出强大的可移植性:在每种平台完成自动调优后,相同的敌对模板和受害者程序可跨不同芯片复用,无需进行架构特定的手动编码。
  • 该方法成功检测到从文档中难以预测的隐藏干扰模式,凸显其揭示细微微架构交互关系的能力。

更好的研究,从现在开始

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

无需绑定信用卡

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