Energy-Efficient Computation with DVFS using Deep Reinforcement Learning for Multi-Task Systems in Edge Computing

📄 arXiv: 2409.19434v3 📥 PDF

作者: Xinyi Li, Ti Zhou, Haoyu Wang, Man Lin

分类: cs.OS, cs.LG

发布日期: 2024-09-28 (更新: 2025-05-21)


💡 一句话要点

提出基于深度强化学习的DVFS方法,解决边缘计算多任务系统能耗优化问题

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)

关键词: 边缘计算 深度强化学习 动态电压频率调整 能耗优化 多任务系统

📋 核心要点

  1. 现有方法将周期性系统简化为单任务单截止时间,难以应对边缘计算复杂的多任务场景。
  2. 利用深度强化学习,结合Linux内核时间序列数据编码,自适应生成DVFS策略,优化能耗。
  3. 在Jetson Nano上,通过固定和随机多任务负载测试,相比Linux内置调速器节能3%-10%。

📝 摘要(中文)

本研究致力于解决边缘计算中多任务、多截止时间场景下,如何找到一种既能适应底层边缘设备又能满足任务截止时间的最优节能策略的挑战。针对现有工作将周期性系统建模为单一任务和单一截止时间的简化问题,本文提出了一种基于强化学习的DVFS方法,用于边缘设备上周期性软实时应用节能。该方法将Linux内核中的时间序列数据编码成强化学习易于解释的信息,使系统能够根据通用工作负载生成DVFS策略以适应系统模式。为了编码,我们提出了两种不同的方法进行比较。两种方法都只使用一个性能计数器:系统利用率,并且内核只需要来自用户空间的最小信息。该方法在Jetson Nano Board (2GB)上实现,并使用三个固定的多任务工作负载(分别为三个、五个和八个任务)进行测试。为了随机性和泛化性,我们还设计了一个随机工作负载生成器来构建不同的多任务工作负载进行测试。测试结果表明,与Linux内置的调速器相比,该方法可以节省3%-10%的功耗。

🔬 方法详解

问题定义:论文旨在解决边缘计算设备上,多任务实时系统中动态电压频率调整(DVFS)的能耗优化问题。现有方法通常将多任务系统简化为单任务模型,无法有效应对实际复杂场景中任务间的干扰和资源竞争,导致DVFS策略的次优性。此外,手动调整DVFS策略需要大量经验,难以适应不同工作负载和硬件平台。

核心思路:论文的核心思路是利用深度强化学习(DRL)自动学习最优的DVFS策略。通过将系统状态(如CPU利用率)作为DRL智能体的输入,将电压频率调整作为动作,并以能耗和任务完成情况作为奖励信号,训练智能体学习在满足任务截止时间约束下最小化能耗的策略。这种方法能够自适应地调整DVFS策略,以应对不同的工作负载和系统状态。

技术框架:整体框架包含三个主要部分:Linux内核数据采集模块、DRL智能体和DVFS控制模块。Linux内核模块负责采集系统状态信息(如CPU利用率),并将其编码成DRL智能体可理解的格式。DRL智能体基于采集到的状态信息,输出相应的电压频率调整动作。DVFS控制模块接收到动作后,调整CPU的电压和频率。整个过程形成一个闭环控制系统,DRL智能体通过不断与环境交互,学习最优的DVFS策略。

关键创新:论文的关键创新在于将Linux内核中的时间序列数据编码成强化学习易于解释的信息,并使用单一性能计数器(系统利用率)作为DRL智能体的输入。这种方法降低了系统开销,提高了效率,同时简化了DRL智能体的设计。此外,论文还设计了随机工作负载生成器,用于评估DRL策略的泛化能力。

关键设计:论文提出了两种不同的时间序列数据编码方法,用于将CPU利用率信息输入到DRL智能体中。DRL智能体采用深度Q网络(DQN)结构,使用ε-greedy策略进行探索。奖励函数的设计综合考虑了能耗和任务完成情况,旨在鼓励智能体在满足任务截止时间约束下最小化能耗。具体参数设置(如学习率、折扣因子、探索率等)通过实验进行调整。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,在Jetson Nano开发板上,该方法相比Linux内置的调速器,能够节省3%-10%的功耗。通过随机工作负载生成器进行测试,验证了该方法在不同任务组合下的泛化能力。这些结果表明,该方法在实际应用中具有显著的节能效果和良好的适应性。

🎯 应用场景

该研究成果可应用于各种边缘计算设备,如智能摄像头、无人机、机器人等,以提高设备的能源效率和延长电池续航时间。通过自适应调整电压频率,可以在保证任务性能的同时,显著降低设备的功耗,从而降低运营成本和环境影响。此外,该方法还可以推广到其他资源管理问题,如任务调度、内存管理等。

📄 摘要(原文)

Finding an optimal energy-efficient policy that is adaptable to underlying edge devices while meeting deadlines for tasks has always been challenging. This research studies generalized systems with multi-task, multi-deadline scenarios with reinforcement learning-based DVFS for energy saving for periodic soft real-time applications on edge devices. This work addresses the limitation of previous work that models a periodic system as a single task and single-deadline scenario, which is too simplified to cope with complex situations. The method encodes time series data in the Linux kernel into information that is easy to interpret for reinforcement learning, allowing the system to generate DVFS policies to adapt system patterns based on the general workload. For encoding, we present two different methods for comparison. Both methods use only one performance counter: system utilization, and the kernel only needs minimal information from the userspace. Our method is implemented on Jetson Nano Board (2GB) and is tested with three fixed multitask workloads, which are three, five, and eight tasks in the workload, respectively. For randomness and generalization, we also designed a random workload generator to build different multitask workloads to test. Based on the test results, our method could save 3%-10% power compared to Linux built-in governors.