本文属于类型a,即单项原创研究的学术论文。以下是根据该文档内容生成的中文详细学术报告。
本文的主要作者为François Illien、Houssam-Eddine Zahaf和Audrey Queudet,他们均来自法国南特大学(Nantes Université)、南特中央理工学院(École Centrale Nantes)以及法国国家科学研究中心(CNRS)下属的LS2N实验室(UMR 6004)。该研究发表于2025年第28届IEEE实时分布式计算国际研讨会(ISORC 2025),论文DOI为10.1109/ISORC65339.2025.00015。
本研究的学术领域为实时嵌入式系统(Real-time Embedded Systems)的能耗优化调度。随着先进驾驶辅助系统(ADAS)、安卓系统以及无人机等设备复杂度的提升,通用操作系统(GPOS)在实时系统中的应用已不可避免。Linux内核通过SCHED_DEADLINE调度类提供了基于最早截止优先(EDF)的资源预留机制,其核心算法为贪婪回收未用带宽算法(GRUB)。GRUB能够为任务提供时间隔离(Temporal Isolation),保证每个服务器在周期内获得预算的执行时间。在多核平台上,GRUB可扩展为全局调度(Global Scheduling),并通过并行回收(Parallel Reclaiming)策略利用未使用带宽。然而,在电池供电的系统中,能耗成为关键约束。现有技术动态电压频率调节(DVFS)可降低动态能耗,动态电源管理(DPM)可将空闲核心置入睡眠态以减少静态能耗。针对GRUB的功耗感知扩展算法GRUB-PA虽能通过降低运行频率减少动态能耗,但在工作负载较低时,所选频率可能低于有效频率(Effective Frequency),导致执行时间拉长,反而增加静态能耗。本文旨在结合DVFS与DPM,在保证时间隔离的前提下,同时降低动态与静态能耗,以超越GRUB-PA的性能。作者提出了两种方法:频率优先方法(FFA)和核心状态优先方法(CSF),并设计了开源模拟器以评估其性能。
研究的详细工作流程主要分为理论算法设计与实验评估两大部分。在理论部分,作者首先重新形式化了GRUB全局调度的准入条件。原GRUB多核准入测试公式为u ≤ m − (m−1)·umax,其中u为总利用率,m为核数,umax为最大服务器利用率。在引入变频与核心休眠后,新准入条件为u(smax)/sop ≤ ma − (ma−1)·umax(smax)/sop,其中sop为当前运行速度与最大速度之比,ma为活跃核心数。作者定义了计算强度(Compute Strength)ω(sop)=ma·sop/smax,表示平台可提供的最大利用率;所需计算强度ωs为任务集满足截止期所需的最小利用率。只有ω(sop) ≥ ωs的配置才是可调度的。作者分析了在“频率—核心数”二维空间中可行配置的分布,并指出穷举搜索最优配置的运行时复杂度较高,因此提出两种O(1)复杂度的启发式方法。第一种方法FFA首先利用引理1计算当所有m个核心均活跃时满足可调度性的最小频率smin = [u(smax)+(m−1)·umax(smax)]/m。若smin ≥ seff(有效速度),则动态能耗占主导,运行速度设为大于smin的最小离散频率模式,核心数保持最大m。若smin < seff,则静态能耗占主导,此时将运行速度提升至seff,以缩短执行时间并降低总能耗;由于速度提升增加了计算强度,可根据引理2将活跃核心数减少到ma = ⌈m·smin/seff⌉。引理2的证明利用了EDF的可持续性(Sustainability),即若系统在较低计算强度下可调度,则在更高计算强度下必然可调度。通过代数变换,证明了当smin = seff·ma/m时,新配置(seff, ma)满足准入条件。第二种方法CSF则反向操作:首先在最大速度smax=1的假设下,利用引理4计算所需的最少活跃核心数mmin = ⌈(u(smax)−umax(smax))/(1−umax(smax))⌉。由于向上取整增加了计算强度,随后在mmin个核心上重新计算最小频率smin = smax·[u(smax)+(mmin−1)·umax(smax)]/mmin。若smin < seff,同样将速度提升至seff,并根据增强后的计算强度进一步减少活跃核心数。两个算法均在活动利用率ua或最大服务器利用率umax发生变化时(即服务器进入就绪态或非活动态时)被调用。在实验评估部分,作者实现了一个新的离散事件模拟器SchedSim,该模拟器专门用于快速原型化基于DVFS和DPM的调度器,支持多核统一平台的配置以及不同频率、状态和核心数的模拟。作者使用UUniFast算法生成合成任务集,并通过修改该算法限制umax不超过输入值β,以研究umax对算法性能的影响。任务周期从预定义列表中随机选取以避免超周期过大。任务的最坏执行时间(WCET)由周期乘以其利用率确定。每个任务的作业执行时间从参数为γ×WCET到WCET的威布尔分布中生成,γ为压缩比,用于控制实际计算时间(ACET)。服务器周期等于任务周期,服务器预算由参数δ决定,δ%的执行时间小于服务器预算,从而控制预期的截止期错失数。实验中设置核心数为4,总利用率u从0.1变化到4,步长0.1。作者考虑两种场景:场景一中动态能耗占主导,场景二中静态能耗占主导。两种场景均使用与参考文献[16]中类似的三次多项式功率模型。
研究的主要结果分为两种场景下的能耗对比以及umax敏感性分析。在动态能耗占主导的场景一中(图4),当总利用率较低(小于1.5)时,FFA与CSF均优于GRUB-PA。在利用率低于0.4时,系统仅需一个核心以有效速度运行即可调度,此时CSF继续保持单核运行,而FFA开始激活更多核心,导致FFA能耗高于CSF。当总利用率达到1时,所需计算强度超过某一阈值,动态能耗开始占主导,CSF的能耗相对FFA上升。当利用率超过1.5时,CSF所设置的运行频率高于GRUB-PA和FFA,导致其总能耗增加。在高工作负载下,FFA表现优于GRUB-PA和CSF,因为FFA在任务未完全使用预算导致活动利用率降低时能进一步降低能耗。在静态能耗占主导的场景二中(图5),CSF在所有工作负载下均优于其他方法。GRUB-PA将频率降至最低,导致作业执行时间延长,静态能耗因此远高于本方法。从利用率为0.4开始,FFA将速度设为有效速度并激活比CSF更多的核心,而CSF继续使用最少的核心。GRUB-PA在低负载和中等负载下表现较差,但在极高负载下差距缩小,因为所需计算强度接近平台最大能力。在umax影响的实验中(图6和图7),umax值较低时,所提方法性能更优,因为此时可更精细地调节频率与核心数以匹配所需计算强度。在动态能耗主导下,即使umax较低,CSF也能优于GRUB-PA;但随着umax增大,CSF逐渐劣于GRUB-PA。在静态能耗主导下,GRUB-PA表现不佳,与所提方法的能耗差距显著,尽管差距随umax增大而减小,但所提方法仍保持优势。此外,所有方法的截止期错失率相近,表明新方法未牺牲实时性能。核心的激活与休眠循环可能增加任务迁移次数,但该开销可纳入服务器预算中。
本研究的结论表明,FFA与CSF两种方法通过将DVFS与DPM集成进GRUB算法,能够在保持时间隔离和可调度性的同时,有效降低动态与静态能耗。实验结果证明FFA在动态能耗占主导的系统中更具优势,而CSF在静态能耗问题突出的环境中表现更佳。两种方法均优于现有GRUB-PA算法,在不增加调度器复杂度(均为O(1))且不损害实时性能的前提下取得了显著的能耗节省。本研究的科学价值在于从理论上证明了两种启发式方法相对于GRUB-PA的优越性,并通过严格的合成实验验证了其有效性。应用价值在于所提方法可直接集成到Linux内核的SCHED_DEADLINE类中,为嵌入式实时系统提供在线的、低开销的能耗优化调度方案。此外,作者开源了模拟器SchedSim,为后续实时调度与能耗研究的快速原型验证提供了工具支持。
本研究的亮点包括:首次在全局GRUB资源预留框架下同时结合DVFS与DPM,并提出两种互补的优化策略以分别应对动态能耗与静态能耗主导的硬件架构;理论证明了新方法在时间隔离方面不劣于GRUB-PA且算法复杂度保持为O(1);开发了专门支持DVFS与DPM模拟的开源模拟器;并通过大量合成任务集实验展示了在不同umax和总利用率条件下相对于GRUB-PA的能耗优势。此外,文中对有效频率(feff)的利用是一个关键创新点,避免了GRUB-PA因过度降频而导致的静态能耗增加问题。