1. 引言
随着车辆和车辆(Vehicle-to-Vehicle, V2V) [1]、车辆和基础设施(Vehicle-to-Infrastructure, V2I)之间的联通,城市智能交通系统(Intelligent Traffic System, ITS) [2]-[4]迅速发展。车载边缘计算(Vehicle Edge Computing, VEC) [5] [6]通过将算力分布放置在路侧单元(Roadside Units, RSUs) [7] [8]上,给附近车辆提供高质量的服务(Quality of Service, QoS) [9] [10]。当前RSU协同机制仍存在优化空间,道路车流的差异化使得同一区域内的不同RSU之间负载不均衡。在涉及到具有依赖关系的任务卸载时,如何构建兼顾负载均衡和任务依赖的卸载框架,已然成为挑战。传统的元启发式方法存在收敛不稳定和计算开销大的问题[11] [12],而深度强化学习(Deep Reinforcement Learning, DRL)通过融合深度神经学习(Deep Neural Network, DNN)的感知能力与强化学习(Reinforcement Learning, RL)的决策机制[13] [14],可以基于环境状态选择卸载动作,并通过奖励信号动态调整策略,尤其擅长处理任务依赖及RSU间动态均衡等问题。
目前,城市交通场景下的VEC卸载研究依旧存在一些困难和挑战。Fofana等[15]提出了一种结合Stackelberg博弈和强化学习的VEC,实时分析车辆状态以确定计算需求和成本函数,并设计基于经验的卸载策略。Walia等[16]将决策树引入强化学习,优化物联网应用中的计算卸载和资源分配,提升服务质量。Pang等[17]利用有向无环图(DAG)建模任务依赖关系,设计动态权重优化延迟和能耗,并通过双深度Q网络(DDQN)进行训练。Zhao等[18]提出了一种移动感知任务依赖方案,考虑车辆移动性和任务数据依赖,采用DRL训练卸载策略,设计车辆移动性检测算法计算通信时间,并通过任务优先级确定方案对等待队列中的任务进行排序。在上述研究中,有的研究没有关注卸载任务之间存在的强依赖关系;有的研究即便关注到了卸载任务之间的依赖关系,也只是用有向无环图(DAG)进行标记,然后顺序地卸载到RSU上,没有对这些依赖关系进行深入的研究,如对这些卸载任务进行合并批量处理或者并行处理等。Zhang等[19]提出了多类型任务平衡卸载算法,根据任务类型、大小和最大容忍延迟对任务排序,MEC依据优先级执行不同卸载策略。Li等[20]引入占用表动态跟踪边缘负载状态,将计算任务直接分配给资源充足的服务节点,避免边缘服务器过载或空闲。Zheng等[21]为RSU设定价格,车辆评估价格以选择任务卸载目标,并在多智能体强化学习中引入纳什均衡优化卸载决策,提升竞争环境下移动车辆的效用。在上述研究中,没有考虑任务性质和具体场景,如一些延迟敏感的紧急任务需要本地处理,不能进行卸载;也没有考虑RSU之间的负载均衡。
本文提出了一种基于DDPG任务依赖和负载均衡的计算卸载方案(Task Dependency and Load Balancing Based DDPG for Computation Offloading, TDLB-DDPG)。主要贡献如下:
1) 我们考虑了一种城市交通计算卸载的场景,将计算卸载形式化为卸载任务的平均响应时间和RSU平均负载率的组合优化问题,并将该问题建模为马尔可夫决策过程(Markov Decision Process, MDP),给出了基于DDPG的卸载策略训练方法。
2) 提出了一种任务依赖分类合并机制,对卸载任务进行分类,并把相同类型的卸载任务进行合并,减小DDPG的动作空间,提高其训练效率,降低平均任务响应时间。设计了全局优先级指数来改变RSU队列中任务群组之间的处理顺序,重要、紧急的任务可以优先处理。
3) 提出了一种RSU动态权重,来帮助DDPG对周围的RSU进行合理的负载均衡,有效降低了系统中的RSU平均负载率。
2. 模型
2.1. 系统模型
图1为基于VEC的计算卸载系统,系统包含N个RSU和M辆车,分别表示为
和
,以及一个基站(Base Station, BS)。其中,车辆和RSU通过V2I通信连接,所有RSU都配备了MEC服务器和决策模块,MEC服务器为周围车辆提供计算资源的支持,决策模块为通信范围内的车辆提供卸载决策;RSU之间通过光纤连接;车辆可以通过V2I连接到BS,再由BS通过光纤上传至云端。车辆生成的任务可本地处理、卸载到RSU或者云端。此外,假设MEC系统是在离散时隙下运行,定义T为时隙的数量,时隙集合表示为
。
Figure 1. VEC task offloading system
图1. VEC计算卸载系统
2.2. 应用程序模型
在RSU通信范围内,车辆在每个时隙t都会生成多个应用,而这些应用会产生相应的具有依赖关系的任务,这些任务可以本地处理,也可以卸载到RSU或者云端。假设车辆
在时隙t生成的应用为
,其中
,
为应用
生成的任务数量,
为应用生成的任务之间的依赖关系,
为应用
中任务的最大容忍响应时间,
为应用的类型。
可以分为若干任务
,任务可以定义为
,
为任务大小。邻接矩阵
代表生成任务之间的依赖关系,矩阵中的参数为0或1,即
。
2.3. 通信模型
在每个时隙t,可以把整个系统看成静态的,系统中的每辆车都采用V2I通信方式与RSU保持连接。根据香农公式,车辆到RSU的传输速率可以定义为:
(1)
其中,W为信道带宽,
为车辆
的传输功率,
为高斯噪声。
为车辆
和
之间链路的信道增益,可以定义为:
(2)
其中,
和
是车辆的发射天线增益和RSU的接收天线增益,为固定值;
为信号波长,为固定值;
为车辆和RSU之间的距离。车辆到BS的传输速率
、BS到云端的传输速率
和式(1)类似,定义为:
(3)
(4)
因此,任务的上传时间
可以定义为:
(5)
其中,
表示车辆的任务在本地处理,
表示车辆的任务卸载到RSU或临近的RSU,
表示任务卸载到云端,即由车辆发给BS,BS再发给云端。由于车辆的传输功率和RSU的传输功率相差很大,因此我们只考虑任务的上传时间,忽略RSU和BS发送计算结果给车辆的时间。
2.4. 计算模型
计算卸载的计算时间可以定义为处理时间和排队时间。在时隙t,车辆、云端或RSU处理任务所需的时间称为处理时间,定义为:
(6)
其中,
、
、
分别是车辆、RSU和云端的处理能力。任务在车辆或RSU处理之前所等待的时间称为排队时间,因云端处理能力强大,排队时间可忽略不计。因此,排队时间可以定义为:
(7)
其中,
和
分别为当任务在本地和RSU上处理时,队列中当前任务前面所有未处理任务的大小总和。因此,在时隙t,车辆
处理单个任务的响应时间为:
(8)
车辆
在时隙t的平均任务响应时间为:
(9)
2.5. 优化问题
为了使卸载策略达到最优,需要最小化卸载任务平均响应时间和平均RSU负载率,可以形式化为如下优化问题:
(10)
其中,
和
分别为所有卸载任务的平均响应时间和RSU的平均负载率,
和
分别是
和
的加权系数,在实际场景中,我们可以根据用户的喜好来调整
和
的值,
为时隙t时,对车辆
上应用程序j中任务z的卸载决策,0表示本地处理,
表示卸载到RSU,
表示卸载到云端。
定义为:
(11)
其中,T为一轮实验的时隙数。
定义为:
(12)
其中,
为
和附近RSU的负载率平方和的平均值,
,C为常数。
3. 基于DDPG的计算卸载
3.1. 任务依赖分类及合并
如表1所示,对车辆生成的各种任务分类,并从5个维度对它们进行综合的分析,并给出推荐的卸载位置。任务类型包括9种:自动驾驶、车联网、环境感知、车辆控制、安全与隐私、信息娱乐与交互、车辆健康监控、数据后处理与优化和其它后台任务。延迟敏感性从高到低为L0~L3;计算需求从低到高为C1~C4;数据量从低到高为D1~D4;依赖性分无、弱、中、强4个级别;优先级从高到低有3个级别:P1、P2、P3。推荐卸载位置有本地处理、卸载到RSU、卸载到云端3种。分析任务主要考虑5个维度,其中,优先级和延迟敏感性为考虑任务卸载方式的核心因素。
自动驾驶类型任务包括实时路径规划、紧急避障、编队协同控制;车联网类型任务包括紧急广播、交通流优化、充电桩同步;环境感知类型任务包括实时障碍检测、道路特征提取、天气评估;车辆控制类型任务包括底盘控制、能量管理优化、悬挂调节;安全与隐私类型任务包括实时入侵检测、动态密钥管理、隐私数据脱敏;信息娱乐与交互类型任务包括实时导航更新、多媒体、语音交互;车辆健康监控类型任务包括实时故障诊断、长期性能分析、电池健康预测;数据后处理与优化类型任务包括驾驶行为分析、路网优化建模、传感器优化;其他后台类型任务包括软件升级、日志归档、法规审计。
Table 1. Classification of vehicle-generated tasks
表1. 车辆生成任务分类表
一级任务类型 |
二级任务分类数量 |
延迟敏感性 |
计算需求 |
数据量 |
依赖性 |
优先级 |
推荐卸载位置 |
自动驾驶 |
3 |
L0、L1 |
C2、C3 |
D1、D2 |
弱 |
P1 |
本地、RSU |
车联网 |
3 |
L2、L3 |
C1、C2 |
D1、D2 |
弱 |
P2 |
RSU、云端 |
环境感知 |
3 |
L0、L1 |
C2、C3 |
D2、D3 |
弱 |
P2 |
RSU |
车辆控制 |
3 |
L0、L1 |
C1、C2 |
D1 |
无 |
P1 |
本地 |
安全与隐私 |
3 |
L1、L2、L3 |
C1、C2 |
D1、D2 |
强、中 |
P1 |
RSU、本地 |
信息娱乐与交互 |
3 |
L2、L3 |
C1、C2 |
D2、D3 |
无 |
P3 |
本地、云端 |
车辆健康监控 |
3 |
L1、L2、L3 |
C2、C3 |
D2、D3 |
强、中 |
P2 |
云端 |
数据后处理与优化 |
3 |
L3 |
C3、C4 |
D4 |
强 |
P2 |
云端 |
其它后台任务 |
3 |
L3 |
C1、C2 |
D4 |
无 |
P3 |
云端 |
图2展示了具有依赖关系任务的合并,箭头代表任务之间的依赖关系,边上的权重代表该处理过程的重复次数。车辆
和
上两个应用各生成了一些任务,这些任务有重叠的部分,因此可以通过合并DAG图来优化任务之间的执行流程,合并流程如下:
(13)
其中,
为时隙t时,
上经过合并留下来的任务群组,
。0代表任务之间无依赖关系,1代表相应过程执行了1次,2也同理。
Figure 2. Merge of tasks with dependencies
图2. 具有依赖关系任务的合并
如表2所示,在满足依赖关系的情况下,针对同类型任务,可以根据计算需求和数据量进行任务的合并操作。对于高计算需求的任务,无论数据量大小,它们都需要独占CPU资源,因此需要单独处理避免合并任务后被低优先级任务拖慢。对于中等计算需求的任务,当数据量比较大时,应单独处理,避免合并后的数据量过载;当数据量中等时,可以进行合并处理;当数据量小时,应批量合并处理。对于低计算需求的任务,当数据量比较大时,应单独处理;当数据量中等或者比较小时,应批量合并处理。
Table 2. Integration of homogeneous tasks
表2. 同类型任务合并
计算需求\数据量 |
数据量大(D4) |
数据量中(D3) |
数据量小(D1、D2) |
计算需求高(C4) |
单独处理 |
单独处理 |
单独处理 |
计算需求中(C3) |
单独处理 |
合并 |
批量合并 |
计算需求低(C1、C2) |
单独处理 |
批量合并 |
批量合并 |
针对循环依赖任务组,设计2个机制来处理循环依赖;如果任务组中任务数据量都不是很大,可将具有循环依赖的任务组整体视为一个不可分割的原子任务,内部按初始固定顺序执行,外部调度器将其作为普通任务处理;如果任务组中任务数据量比较大,为循环依赖的任务组设置一个全局超时阈值,超时后强制终止所有关联任务,并触发异常处理,使用历史数据进行处理。
3.2. 负载均衡
3.2.1. RSU动态权重分配
为了平衡RSU之间的负载,RSU的负载率可以定义为:
(14)
其中,
,
。
代表
当前的CPU使用率,
为当前队列等待任务大小占最大队列容量的比例,
为内存占用率,
为带宽占用率。当获取RSU及附近RSU的负载情况后,可以给它们动态分配权重来辅助DDPG生成对应的卸载动作。具体定义如下:
(15)
其中,
为时隙t时,选择
进行卸载的权重。生成RSU节点选择概率分布,公式如下:
(16)
其中,
为当前RSU与附近RSU的权重总和。
当RSU负载率
超过0.9或附近RSU接收不到该RSU信息时,Actor网络会把该RSU列入卸载黑名单,该RSU通信范围内的车辆任务可以本地处理或者云端处理,直到
恢复正常或附近RSU接收到该RSU信息并检测
正常时,才会把该RSU从卸载黑名单去除。
3.2.2. DAG任务群组排序
在RSU队列中,任务群组按照全局优先级指数(Global Priority Index, GPI)进行降序排序,随后顺序处理。定义如下:
(17)
其中,
为该任务群组的优先级,任务群组都是同一种类任务组成的,因此任务的优先级就是任务群组的优先级。
为时隙t,在
上的DAG任务群组k的关键路径长度,即DAG中最长的路径。
为任务群组的紧急程度(Urgency Level, UL),定义如下:
(18)
其中,
为该任务群组的截止时间,
为当前的时间,
为一个极小值,防止分母为0。
3.3. 构建马尔可夫模型
本文将一个RSU通信范围内每辆车的计算卸载建模视为深度强化学习问题,即每辆车都被视为一个智能体,计算卸载决策可以视为MDP。在时隙t,
的系统联合状态空间定义为:
(19)
其中,
表示车辆
在时隙t的状态,
为车辆上应用的信息,
为该
及附近RSU的负载信息,用以计算RSU的负载情况。
,n为RSU的索引,
为该RSU的坐标位置,
为当前CPU的使用率,
为当前队列等待任务数占最大队列容量的比例,
为内存占用率,
为带宽占用率。
,其中
为附近RSU的索引,后面信息是RSU的基本信息。
在时隙t,
做出的计算卸载决策可以定义为:
(20)
其中,
为RSU对DAG任务群组的卸载决策,k为任务群组的索引,
记录了该任务群组中的全部任务
。
表示对DAG任务群组的卸载决策。0为本地处理;
为卸载到当前RSU或者临近RSU;
为卸载到云端。当RSU对DAG任务群组进行了卸载决策,那么内部任务的卸载决策也都如此。
在时隙t,当系统做出卸载决策后,会立即获得即时奖励和下一个状态。即时奖励可以评价当前时隙所做出的卸载决策的好坏。本文的目标是通过探索最优的卸载策略,来最小化卸载任务的平均响应时间和平均RSU负载率。因此,在时隙t的即时奖励定义为:
(21)
3.4. 训练过程
TDLB-DDPG的计算卸载框架包括Actor网络、Actor的目标网络、Critic网络和Critic的目标网络,如图3所示。
Figure 3. Framework of TDLB-DDPG task offloading scheme
图3. TDLB-DDPG计算卸载框架
算法1:TDLB-DDPG计算卸载策略 |
输入:VEC网络 |
输出:卸载策略 |
1:初始化Actor网络的参数
,Critic网络的参数
|
2:初始化Actor目标网络和Critic目标网络的参数:
,
|
3:初始化经验池R |
4:for episode = 1: M do |
5: 初始化环境、随机噪声N |
6: 获得初始状态
|
7: for t = 1: T do |
8: 任务分类并拒绝那些需要本地处理或云端处理的任务 |
9: DAG任务群组合并 |
10: 动态权重分配,获取当前RSU及附近RSU的节点选择概率 |
11:
|
12: if
按照节点选择概率生成卸载到哪个RSU的动作值,修改
|
续表
13: 执行动作
,RSU按照全局优先级指数将队列中任务降序排序后处理,得到奖励
和新的环境状态
|
14: 将
存入经验池R |
15: 从R中随机采样n条经验
|
16: 计算TD目标值:
|
17: 最小化损失函数L以更新Critic网络:
|
18: 采样策略梯度更新Actor策略网络:
|
19: 更新目标网络:
|
20: end for |
21:end for |
TDLB-DDPG算法训练过程的伪代码如算法1所示。首先初始化4个网络的参数以及经验池R (第1~3行)。在每个episode开始时,初始化环境和随机噪声N获得初始状态
(第4~6行)。对于每个时隙,先根据初始状态
,对任务进行分类并拒绝那些需要在本地处理的任务的卸载请求(第7~8行);对DAG任务群组进行合并操作(第9行);进行动态权重分配,得到当前RSU及附近RSU的节点卸载选择概率(第10行);Actor网络生成对应的动作
(第11行);对于那些值为n的卸载动作,按照卸载节点选择概率重新生成卸载动作值,修改动作
(第12行)。最后,执行动作
,RSU按照全局优先级指数将队列中任务降序排序后处理,获得奖励和新的状态环境,并将这些数据存入R中(第13~14行)。在每个时隙的迭代中,从R中随机挑选一定数量的数据来更新网络(第15~19行)。首先计算TD (Temporal Difference)目标值
,通过Actor的目标网络及下一个状态可以得到下一个状态采取的动作
;而通过Critic的目标网络以及下一个状态和下一个状态采取的动作,可以得到下一个状态的预测Q值
,再加上即时奖励,可以得到TD目标值
(第16行)。然后,利用
最小化损失函数L以更新Critic网络,损失函数中的
由Critic网络生成(第17行)。之后,利用策略梯度来更新Actor策略网络(第18行)。最后,更新2个目标网络(第19行)。
4. 实验结果与分析
4.1. 实验环境
在64位Windows 11操作系统上进行仿真实验,处理器为13th Gen Intel(R) Core(TM) i7-13650HX 2.60 GHz,显卡为NVIDIA GeForce RTX 4060,软件环境为Python 3.8和PyTorch 2.21。从OpenStreetMap下载模拟地图[22],并通过SUMO模拟生成交通流[23]。地图范围为1700 m × 1900 m,包含8条主要道路。40个RSU平均分布在每条主干道路上。实验参数如表3所示。
Table 3. Experimental parameters
表3. 实验参数
参数 |
值 |
地图大小 |
1700 m × 1900 m |
RSU数量 |
40 |
RSU通信半径 |
200 m |
汽车数量 |
600~1000 |
回合数 |
2000 |
车速 |
0~23 m/s |
应用数量 |
5~10 |
每秒所有应用生成任务数 |
8~20 |
任务大小 |
1 MB~2 MB |
时间步长度 |
1 s |
RSU处理能力 |
2.5 GHz |
汽车处理能力 |
0.5 GHz |
最大容忍响应时间 |
3 s, 3.3 s, 3.6 s, 3.9 s, 4.2 s, 4.5 s |
折扣因子 |
0.99 |
学习率 |
1e-4 |
批量大小 |
64 |
4.2. 基线算法
为了验证所提出算法的有效性,设计了以下几种策略作为基准。
1) 本地处理(Local Process) [24]:应用程序产生的所有任务都在车辆的处理器处理。
2) 随机卸载策略(Random Offload):在每个时隙t,车辆将应用程序产生的任务生成随机请求发送给RSU,RSU将接收到的任务按照到达时间排序。最后,RSU将可以卸载的任务信息发送给车辆,随后车辆启动卸载。
3) 基于DQN的卸载策略[25]:在每个时隙t,车辆将应用程序产生的任务利用DQN生成卸载策略,之后的处理流程与随机卸载策略相同。
4) 基于DDPG的卸载策略[26]:该卸载策略的流程类似于基于DQN的卸载策略。
4.3. 结果分析
4.3.1. 收敛性能对比
图4显示了三种深度强化学习方法训练过程中的总奖励。可以看到,随着训练轮数的增加,三种算法的总奖励都呈上升趋势,强化学习方法可以通过不断迭代来积累经验获得策略。DQN约在600轮处开始收敛,而DDPG约在1000轮处开始收敛,由于计算卸载的动作空间是离散的,更适合于DQN处理,因此收敛速度更快一些。然而,由于DQN存在高估问题,因此其震荡幅度比DDPG大。所提出的TDLB-DDPG大概在700轮开始收敛,收敛速度比较快,而奖励最大。这是因为TDLB-DDPG旨在为复杂多变的城市交通场景提供可靠的计算卸载支持,关注整个系统的综合奖励包括卸载任务的平均响应时间和RSU平均负载率,而不仅仅只考虑卸载任务的平均响应时间。此外,任务的分类使得TDLB-DDPG具有相比基线方法更小的动作空间。
Figure 4. Total rewards for various algorithms
图4. 各种算法的总奖励
4.3.2. 任务卸载平均响应时间对比
Figure 5. Comparison of average response time for task offloading across different algorithms
图5. 各算法的卸载任务平均响应时间对比
图5给出了各种算法的卸载任务平均响应时间。对于本地处理策略,由于车辆的计算能力低,任务响应时间最长。随机卸载的性能优于本地处理,但由于没有任何优化策略,其平均任务响应时间类似于本地处理策略,基本保持不变。对于三种深度强化学习卸载策略,TDLB-DDPG的性能超出DQN和DDPG,算法收敛后卸载任务平均响应时间分别降低了约21.4%和22.5%,相比本地处理和随机卸载则分别降低了54.1%和45%。首先,对卸载任务进行分类,避免原本应卸载到云端的大数据量、延迟敏感性低的任务卸载到RSU,以及避免其他种类任务长时间的等待和高负载,有效提高了RSU计算资源的利用率。其次,对相同种类具有依赖关系的任务进行合并,并可以对这些任务进行批量处理,有效减少卸载任务的平均响应时间。
Figure 6. Comparison of average response time for task offloading under various numbers of vehicles
图6. 不同车辆数量下的卸载任务平均响应时间对比
Figure 7. Comparison of average response time for task offloading under various numbers of tasks
图7. 不同任务数量下的卸载任务平均响应时间对比
图6和图7分别给出了各种算法在不同车辆和任务数量下的卸载任务平均响应时间对比。随着车辆或任务的增加,所有卸载方案的平均响应时间都会增加,但所提出的TDLB-DDPG的卸载任务平均响应时间最低,优于其他4种方案;并且随着车辆和任务数量的增加,TDLB-DDPG曲线的增长幅度低于其他4种方案。首先,基于DAG的依赖关系任务的合并使得许多相似的任务可以进行批量处理,任务越多,节省的时间就越多。其次,在任务大幅增加的情况下,任务的处理顺序对平均响应时间至关重要。
4.3.3. RSU平均负载率对比
Figure 8. Comparison of the average load rate of RSUs under various numbers of vehicles
图8. 不同车辆数量下的RSU平均负载率对比
Figure 9. Comparison of the average load rate of RSUs under various numbers of tasks
图9. 不同任务数量下的RSU平均负载率对比
图8和图9分别给出了各种算法在不同车辆和任务数量下的RSU平均负载率对比。随着车辆或任务的增加,所有卸载方案的RSU平均负载率都会增加,但所提出的TDLB-DDPG的RSU平均负载率最低,优于其他4种方案。TDLB-DDPG会根据当前及周围RSU的负载情况,动态进行权重分配,使得任务会优先卸载到负载率低的RSU上,显著降低了RSU的平均负载率,缓解了RSU负载不均衡的情况。
4.3.4. 任务处理成功率
图10给出了各个算法在不同最大容忍响应时间下任务处理成功率的对比。随着最大容忍响应时间的增加,所有算法的任务处理成功率显著增加;且TDLB-DDPG与其他算法之间的差异也是越来越小。最大容忍响应时间与任务的紧迫性有关,说明在面临延迟敏感任务时,TDLB-DDPG具有更好的表现。DAG任务群组排序使得RSU优先处理紧迫的任务,提高了任务卸载的成功率,间接提高任务处理的成功率。
Figure 10. Comparison of task processing success rates under different maximum tolerant response time
图10. 不同最大容忍响应时间下的任务处理成功率对比
5. 结束语
本文深入研究了车辆边缘计算中的计算卸载问题,构建了一个基于VEC的计算卸载模型,提出了一种基于任务依赖和负载均衡的计算卸载方案。任务依赖合并减小了DDPG的动作空间,显著降低了卸载任务的平均响应时间;而RSU动态权重分配显著降低了RSU的平均负载率。这些特性使得TDLB-DDPG相比其他卸载方案更符合应用需求。
在未来,我们可以针对交通流做宏观预测,并根据预测结果预留资源,动态划分RSU服务区域内的优先级区域,形成进一步的负载均衡。此外,系统的能源消耗也是一个值得研究的问题。