论文翻译:针对异构芯片系统systems-on-chip运行时资源管理的在线自适应学习

论文翻译:针对异构芯片系统systems-on-chip运行时资源管理的在线自适应学习

时间有限,翻译仓促,为个人学习所用,仅供参考。

Online Adaptive Learning for Runtime Resource
Management of Heterogeneous SoCs

paper:https://arxiv.org/abs/2008.09728



摘要

due to低耗能和高性能要求,动态资源管理已经成为现代计算机和通信系统设中计的主要研究领域之一。集成integrated核的数量,异构等级和控制旋钮knobs的数量稳步增加。as a result,系统的复杂度飞速增长,超出了我们的优化能力和资源的动态管理能力。另外,由于工作负载workload的变化和设计时的大量volume的未知新应用程序,离线方法是次优sub-optimal的。这篇文章首先回顾了针对预测系统性能,功率power和温度的最新在线学习技术。然后,我们表述了用预测模型进行在线控制使用的两种现代方法:模仿imitaion学习IL和显性的explicit非线性模型预测控制NMPC。带有16基准benchmarks的商业commericial移动平台的评估evaluations表明,IL模仿学习方法成功使控制策略policy。相对于针对多变量mutip-variable现代GPC子系统电源管理的最新state-of-the-art算法,显式NMPC节省了了25%的能源。

I、介绍

异构SoCs已经成为了各种电子设备的主干backbone,范围从ranging from手持智能手机到高性能计算机。通常他们集成了多个CPU核心,GPU和特殊的加法器accelerators,比如数字信号处理器DSP,向量处理单元,图片处理单元和无线通信调制解调器modems。随着提供设备性能处理元件数量的增加,它也面临了一个芯片资源的动态资源管理DRM的挑战。由于工作负载的动态变化和引入introduce了设计时未知的未预期特征的新app,挑战加重了exacerbated。举个例子,对CPU和专用specialized处理器资源的优化使用,比如活动active核心的数量和他们的电源power状态,在粗略coarse尺度(以秒到分钟为单位in order to seconds to minutes)会随着活动app变化,并会按照需求迅速(以微秒到毫秒为单位microsecons to milliseconds)。所以,需要针对现代SoCs在运行时资源管理这一广泛broad课题进行更多的研究。

异构SoCs的不同的处理元件可以在多伏压和频率运行operate。举个例子,带有big.LITTLE架构的三星 Exynos 5422 SoC支持4940控制变量variables的唯一unique配置configuration。类似地,用于伺服server系统的SoCs的状态空间是很大enormous的。举个例子,Xeon Phi有72核并且每一个核都可以在不同的频率水平下运行,即使even with对于两种频率水平,这个Xeon Phi提供了可供动态选择的4x10^21种组合。控制变量的优化使用取决于工作负载和优化对象,比如电源功率power,性能和每瓦性能。为了缩短控制反馈,现代SoCs的DRM的很大significant一部分在?on-die微控制器的固件firmware中运行,这些on-die的微控制器有受限的计算和储存资源,可进行低功耗运行。运行系统电源管理驱动器也是资源受约束的。因此hence,在运行系统嵌入embedded的频率调节器governors采用employ简单的技术来管理资源。举个例子,交互式和按需on-demand式的调节器,在以下情况提高(或降低)核的工作频率,当核的利用率utilization高于(或低于)预定义predifined的阈值threshold。这些启发式heuristics给性能和功耗的提升留下了可思考空间。因此Thus,为了在性能和功耗之间权衡trade-off的,可选最佳配置configuration技术,存在很大的需求。

过去,研究者提出了离线的SoC资源管理技术。一些技术专门针对移动处理器,同时其他的应用于一般SoCs。这些技术通过改变SoC的控制变量的配置来分析profile目标异构平台。然后,通过使用分析所得obtained的数据去优化目标客体,构造一个控制器。然而,离线技术只对设计时已知所有潜在app的情况下有效。随着当前智能手机,pc和数据中心中app的大量prolific增长,在为大多数app领域设计SoCs时,假设所有app已知是不现实impractical的。因此不能保证离线资源管理技术在运行时对于新app的性能良好。

对于资源模型和管理的控制理论方法被提出。举个例子,一个离线的GPSU自动回归性能模型被11提出。然而,不能保证离线性能模型在在线执行executing新app时提供deliver预期效率。为了克服这个困难,针对GPU性能进行建模的基于最小二乘recursive least square-based的在线学习技术被12提出。相似的,用于异构处理器动态资源管理的在线学习技术被13提出。最近的在线资源管理技术使用了基于deep-Q网络的强化学习(RL)方法。基于强化学习的技术有明显notable的缺点drawback:设计奖励reward功能不简单trivial,而且需要大量的数据集,由于反复试验trial-and-error学习过程收敛到接近最佳的策略near-optimal。因此,对于SoC资源管理他们不切实际practical/impractical。

相比于RL,模仿学习Imitation learning(IL)对于资源管理更适合,因为它收敛于一个最优的策略policy需要少量的数据样本。更多地,他有更低的实现复杂度,这允许比如,作为OS调控器governor的一部分的软件实现。在这个方法论里,首先一个被叫做Oracle的控制策略被离线构造。由于Oracle需要大量存储storage,因此IL方法通过使用监督学习技术构造了一个接近Oracle策略。一些研究提供了离线方法,用于构造针对不同硬件平台的动态资源管理策略1819。然而,离线Oracle受限于设计时可用availabale的训练数据。因此,它们可能不会推广到generalize to在设计时未知的新型负载。这个挑战最近被一个组合了离线和在线优化的在线IL方法解决addressed了。首先,设计时可用的工作负载信息被用于离线构建IL策略,同时耗能分析和性能分析模型,类似之前18和19 的方法。这种策略和模型充当serve as一个运行时的初始点。然后,在线耗能和性能模型被用来评估关于可选的候选respect to candidate配置的IL策略决策。如果基于IL的策略没能在可用候选配置candidates中选择最好的配置,然后策略将会通过分析模型的监督在运行时更新。因此IL策略在运行时适用于新负载。

模型预测控制MPC最近被用于SoCs的动态资源管理。MPC构建一个非线性约束优化问题,它可以离线被高效解决。为了用于在线app,显式模型预测控制技术通过简单的机器学习回归regression模型接近MPC的surface,该模型可以在达到最佳策略控制时,以低耗能被实现。这种技术不仅用了功耗和性能模型(被离线构建并且适用于在线),还用了灵敏度sensitivity模型优化目标(功耗和性能)的来改变控制变量,比如频率和活跃核的数量。这些灵敏度模型可以高效地使控制策略适应特定的应用,即使核心控制算法保持remains不变。因此,这个被叫做显式非线性MPC(ENMPC)的技术,可以用低记忆存储和低运行复杂度实现,低运行复杂度适合硬件和固件实现。

II、在线学习框架简述

这篇论文简要介绍了针对运行SoCs资源管理的在线学习方法,如图一所示illustrated。这个框架的目标有两个:设计指标metrics的分析建模analytical modeling和模型指导model-guided资源管理策略学习。

这个建模方向旨在根据app工作负载和系统参数表征characterize关键设计指标,比如功耗,性能和温度。SoCs等同于多芯片性能计数器和传感器,它们在运行时提供系统状态的信息,比如CPU内核的利用率,retired指令instruction的数量,高速缓存cache未命中misses的数量和内存memory带宽数量,和温度。可以根据这些系统状态as functions of these system states构建分析型SoC功耗和性能模型。初始模型可以通过利用设计时的信息被离线构建。然后,它们可以通过轻量级的light-weight在线学习算法适用于变化时间time-varying工作负载特性,如图一所示。对于控制目标对输入变量的敏感性,即上述功能相对于控制变量的导数的敏感性,也可以建立类似的模型,该模型可以预测控制决策对未来迭代的影响。一个具有代表性的情况,这篇文章提出了SoCs(Section III-A)功耗和温度建模方法,集成GPUs自适应性性能建模(Section III-B),和芯片网络networks-on-chip(NoC)的性能建模(Section III-C)。

模型指导策略学习方法利用设计时目标结构的知识和分析模型,来高效学习DRM策略,以优化在电源和性能等设计目标中权衡。设计时的知识包括目标SoC中处理元件的类型和数量,和它们可以在运行时被控制的电源状态。这些信息可以与分析模型和试验测量一起使用,被用于构建Oracle,Oracle在IL方法中映射不同的硬件配置和电源状态到关键性能指标,或者它可以被用于预测和调整adaptENMPC方法的预测型灵敏度功能function,在这两种情况下都可以调整控制决策。两种技术都会在Section IV中被讨论。

III、学习型运行分析模型

A CPU的功率和热Thermal建模

功率和热Thermal模型时SoC资源管理技术的一个非常重要的部分。现代异构SoCs的功率建模技术在23中出现。移动平台的温度估算estimation方法论在24中被提出。这个方法论可以被用于预测未来某个时刻的热点hotspots的温度,也可以用于计算引起热违规causing thermal violations之前可以承受sustained的最大功耗。然后,功率预算budget被当作一个衡量to throttle工作内核频率和数量以避免热违规的指标。相似地,一个移动SoCs功率-温度稳定性和安全性分析在25中被提出。它分析了目标SoC功率-温度的动态特性。它推导derive了热定点 thermal fixed point存在和稳定性的必要充分条件necessary and sufficient condition,热定点被定义成在所给平均功耗下能达到的稳态温度。它还提出了一个方法,根据as a function of它活跃核的功耗,在运行时查找给定SoC的热定点。

热点不再局限于移动系统的芯片die和封装package温度。皮肤温度成为emerged新热点,影响使用者体验的,因为它可能会引起不适并伤害harm人类皮肤。它应该通过使用闭环closed-loop热管理算法保持在所需desired限度里。一个大挑战是向控制器提供皮肤温度反馈因为在实践中直接测量时不可行feasible的。解决办法是通过使用输入是内部传感器的模型估算皮肤温度。研究表明,皮肤温度估算的机器学习模型可以和温度感知的temperature-aware动态电压和频率缩放scaling(DVFS)算法结合使用。相似地,最近的技术结合incorporate一个在线学习技术27,以管理和为移动SoCs皮肤温度建模。最后,皮肤温度估算可以通过使用传感器选择算法增强enhance,改善了内部传感器的位置。

B 集成核的在线性能建模

动态资源管理技术可以利用utilize性能和功耗对被控参数的灵敏性,比如工作频率,以达到设计目标。带有指数型遗忘因子exponential forgetting factor自动回归auto-regressive模型和基于最小二乘recursive(递归) least square(RLS)-based的性能模型被提出以指导DRM算法。基于针对图像型工作负载工作负载模型的PID控制器被29提出。为了maintain不同app下的高精度,这些模型需要利用性能计数器,它能捕捉工作负载特性和调整工作时的动态变化。最后,一个在线特征选择和自适应性学习技术在30中被提出,它使用了针对集成GPU性能的RLS。图二表明针对Nenamark2 基准benchmark的帧frame处理时间。估算帧时间在不同的工作频率都接近被测量值,小于5%的误差。31的作者同样展示了这个在线学习技术可以被用于CPU核的功耗建模和性能建模。

C NoCs的性能模型

NoC性能模型对快速设计空间探索exploration和加速speeding-up整个系统仿真来说是非常有用的。最新的技术把NoC当作一个队列queues网络,并且使用排队queuing理论构建性能模型。然而,分析NoC性能模型取决于目标结构,不能简单地被推广到多NoC配置。为了增加NoC模型的稳定性,基于机器学习的性能分析技术被34提出。在这种技术中,NoC的通道channel和源等待时机通过分析模型被估算。然后,从分析模型获得的等待时间和从NoC仿真器中获得的等待时机被用作特征以学习基于支持向量回归机(SVR)的模型,以估算NoC性能。这种技术依赖于离线构建的模型,它与其他现有的NoC性能分析方法类似。这些离线技术已经被成功应用到设计空间探索exploration由于他们的稳定状态steady-state精确度。然而,它们不能被设计成以适应工作时快速变化的负载特性。因此,可学习或实行NoC性能模型以适应动态变化的工作负载,的在线技术需求出现,类似Section III-B表述的模型。

IV、动态控制和资源管理

这部分表述使用了两种模式方法的针对DRM的预测性模型:模仿学习imitation learning(IL)和显式非线性模型预测控制(NMPC)。

A DRM模仿学习方法的app

我们首先表达了一个构造资源管理策略的离线IL方法,策略可以被用于引导bootstrap在线学习处理。然后afterward,我们表述了一个针对在线策略学习的RL方法论,并讨论了他的关键critical缺点。最后,我们提出了一个模型指导在线IL方法,以克服RL的缺点。

1)模仿学习:IL是一种监督学习技术,在顺序sequential决策难题中,被用于获取最优解决办法。IL策略遵循follows被称为Oracle的专家展示的示范demonstrations。

在功耗管理领域,Oraclr通常被离线构建,通过目标平台执行一系列已知app并记录相关relevant系统状态。这些系统状态后面被用于构造优化确定指标的Oracle策略。举个例子,在18中被首次提出的离线IL策略首先将app划分为工作负载保守的workload-conservative代码段snippets,即每个代码段snippet有一个固定数量instruction指令。然后,一些列目标app的每个代码段在每个SoC支持的配置中被执行executed。表1这些系统状态在每一次执行的时候被记录。最后,这些系统状态和功耗策略被用于构建优化不同目标(比如能耗,每瓦性能)的Orcale策略。能优化控制决策顺序的Orcale策略构建可以涉及involve动态编程或者其他优化技术的使用。

Oracle策略不能被直接用在运行时,因为过多的excessive存储需求。就像,它们不能在运行时被构建因为高运算复杂度。因此,有必要there is a need for制定一项策略,能够很好地近似Oracle并在运行时提供电源管理决策。为了构建在线策略,任何off-the-shelf的机器学习模型可以被使用:线性回归和基于回归树的模型18 19.

被离线设计的IL策略在训练时使用的工作负载中表现很好。然而,它们的性能可能会对运行时看到的新app下降drop,因为这些策略可能不会被推广得很好。这个在带有两个频率可以被独立控制big.LITTLE CPU集群clusters,的Odroid-XU3平台的研究说明illustrated了这一点。一个IL策略被在来自Mi-Bench suite的app训练。表2表示IL策略在来自Mi-Bench suit训练app上表现良好。然而,对比针对来自Cortex和PARSEC基准suites的app的Oracle策略,能量显著增加。因此,针对动态资源管理的自适应学习技术很有必要。

2)强化学习:强化学习是一种很好探索的explored免费模型model-free在线学习技术,在这里策略通过环境提供的奖励被学习。这有两种众所周知的方法来执行RL:table-based和deep Q-learning-based。由于大量的存储需求,table-based的RL技术不可行。对于运行时的SoCs资源管理,Deep Q-learning based的RL方法也不合适。以下是基于RL的方法都两种主要的缺点:

  • RL-based控制器通过从环境获得的奖励学习。因此,控制器的效率efficiency主要取决于被控制器执行的探测量exploration performed。这表现让RL控制器花费太长时间以收敛到一个最优的策略,该策略并不适合SoC控制,因为工作负载特效在运行时改变太快。
  • 设计一个好的奖励函数对于RL-based学习技术很关键,因为奖励函数驱动控制器的学习质量。然而,没有系统性的方法去构建奖励函数。
    为了解决RL技术带来的挑战,我们可以提供一种在线IL方法,下面会介绍。

3)模型指导model-guided在线模仿学习:通常,在最好的配置提供在线监督以更新策略是一个具有挑战性的难题。整个挑战被最近的在线IL online-IL技术解决了,通过预测型功率和性能模型,比如Section III里表述的那些。这个技术以被离线构造的IL策略,预测功率和性能模型开始,比如用在设计时的可用数据。在运行时,表1系统状态数据在每一个app代码段(Section IV-A1中介绍)的最后被控制,并且被用于连续更新功率和性能模型(Section III-B中介绍)。在每个控制决策之前,这些模型和状态数据被用于估计在当前配置中本地邻域中的候选candidate配置的能量损耗。因为这些计算带来introduced了功率和性能损耗,在运行时针对当下配置被观察到硬件计数器值可以被重新利用,以近似其他配置的功耗。请注意note that in general,硬件计数器对于不同的配置不能同样保持。计数器的预测变化是复杂开放的难题,它涉及involves系统动力学建模和状态转移概率。最后,带有最小能耗的配置被当作最优配置标记,并且被加到Oracle运行时的近似中。

online-IL方法的最后一步是根据工作负载逐步incrementally更新策略参数。从分析型模型(即Oracle策略在运行时的近似)发现的最好的配置,和表1的性能计数器在每个策略决策后被嵌入缓冲区buffer。这个训练数据被汇总aggregated直到缓冲区满。subsequently,策略通过训练数据更新,并重置缓冲期。在我们的实践性设置中,策略被看作一种神经网络,并且通过back-propagation算法更新。缓冲区的尺寸决定了训练精确度和实现的花费。13的实验评估表明100格epoch的输入和输出控制状态提供了将近100%的精确度,在适应新的app中。相对应的缓冲区存储花费少于20KB。

图3比较了online IL策略和使用RL发现的策略。两个策略都离线Mi-Bench app被训练。然后,初始的策略当来自Cortex和PARSEC的app运行时适应了。IL策略6秒收敛到Oracle策略(接近100%的精确度),6秒仅仅是执行时间的4%。相反的,RL策略在整个顺序后不收敛。更多的,图4表示了,对于所有基准的app来说,使用IL策略的能耗和Oracle策略的结果相似。相反的,RL策略达到的能耗高达Oracle策略的1.4x倍。

B 针对多变量功率管理的显式非线性模型预测控制

现代SoCs功率和热管理涉及多输出控制变量,它们或许有不同的控制花费。举个实例,集成GPU有能力管理运行频率和电压和以及对单个GPU切片slices进行功率门控。对于截止日期驱动deadline-diven的图像型app,控制决策应该以协调的方式coordinated fashion进行,以最大化提高能量利用率,同时达到每秒目标帧数FPS。通常需要多速率multi-rate控制来处理控制旋钮knobs在时间粒度granularity上的差异:例如,与更改频率和电压值相比,更改活跃切片slices的数量会花费更长时间,并且需要更多的能量。而且moreover,这个技术的实现需要很低的复杂度,运行时间和内存花费,因为控制算法可以在固件和硬件中被实现。

一个新颖的novel多速率预测控制算法已经被提出,以在GPU中以协调的方式管理DFVFS和活跃片数的数量。这个公式formulation把预测灵敏度模型用于控制旋钮,以抽象出abstract这些潜在的underlying的系统细节。这些灵敏度模型可以被离线或在线学习,并且从一小部分small subset of可使用性能计数器中获取输入,就像在Section III-B中解释的那样。多速率控制器包括了comprised两个子控制器:slow-rate controller 协调orchestrates工作频率(DVFS)的动态任务,以及在coarse粗时间粒度的活跃片数。fast-rate controle通过使用硬件支持,在频率和电压上的快速变化以细时间粒度管理工作频率。它提供了状态空间state-space控制因为它对于discrete离散控制问题是已知稳定的。公式表明非线性约束控制可以最优化接近非线性模型预测控制(NMPC)。然而,NMPC不适合低花费运行时间app,因为他的高计算花销。为了克服这个问题,显式NMPC被提出。显式NMPC用低花销解决了约束型非线性控制难题。近期的技术提供了显式NMPC在动态资源管理领域。这个技术近似NMPC控制的表面,后者使用了简单的可以在达到近乎最优控制的同时只花费低花销的回归模型。

图5表示显式NMPC算法相对于Intel Core i5平台上的基准baseline算法的标准节能量normalized energy。它报告了仅GPU的节能量,系统软件包(PKG)以及软件包和内存子系统(PKG+DRAM)。对GPU,节能量范围从愤怒的小鸟中的5%到sharkdash app的58%,均值25%。这个技术实现了对PKG和PKG+DRAM情况近乎15%的节能。能量节省在不同的平台热条件中保持一致,并且性能开销为可忽略不计negligible的0.4%。

V、结论

运行时的异构SoCs资源管理对于维持maintain一个功耗和性能之间的权衡是至关重要crucial的。最后,我们提出了最新的针对设计建模和模型指导动态资源管理的在线学习算法。我们也示范了demonstrated显式非线性模型预测控制和针对异构SoCs的动态资源管理模仿学习。

多个研究问题仍然存在remain open,包括低花费实现适合固件实现的IL和RL,推广显式模型预测控制到系统类别和输入输出控制变量的更高维度空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值