Periodic soft real-time systems have broad applications in many areas, such as IoT. 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. 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 information in the Linux kernel into information that is easy to use 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.
翻译:周期性软实时系统在物联网等诸多领域具有广泛应用。在满足任务截止时间的同时,找到一种能适应底层边缘设备的最优节能策略始终具有挑战性。本研究针对多任务、多截止时间的广义系统,探索基于强化学习的动态电压频率调节技术以实现节能。现有研究通常将周期性系统建模为单一任务、单一截止时间的场景,这种过度简化的模型难以应对复杂情况,本文旨在解决这一局限性。该方法将Linux内核中的时间序列信息编码为便于强化学习使用的信息,使系统能够根据通用工作负载生成动态电压频率调节策略以适应系统模式。在编码方面,我们提出了两种不同的方法进行比较。两种方法仅使用一个性能计数器:系统利用率,且内核仅需从用户空间获取最少信息。我们的方法在Jetson Nano开发板(2GB内存)上实现,并使用三种固定多任务工作负载进行测试,分别包含三、五和八个任务。为验证随机性和泛化能力,我们还设计了随机工作负载生成器来构建不同的多任务工作负载进行测试。实验结果表明,与Linux内置调控器相比,我们的方法可节省3%-10%的功耗。