技术领域
本发明属于通信技术领域,尤其涉及一种提高分布式边缘计算系统负载均衡的方法。
背景技术
为了降低计算服务器的任务传输时延,提高服务效率,一些网络运营商或计算服务提供商需要把多个计算服务器放置在网络边缘为不同区域的用户提供更加便捷和高效的计算服务,这些边缘计算服务器通常通过光纤进行连接。但是,这种分布式的方式缺乏中央调度器对所有边缘服务器进行控制,由于人群的流动性,会出现各个边缘服务器负载不均衡的现象,因此不可避免的带来网络中一些边缘服务器负载过重而其他服务器有少量的任务或处于空闲状态的问题。
发明内容
本发明的目的在于提供一种提高分布式边缘计算系统负载均衡的方法,旨在解决上述背景技术中现有技术的不足之处。
本发明是这样实现的,一种提高分布式边缘计算系统负载均衡的方法,该方法包括以下步骤:
S1、在每个时间片开始阶段,各边缘服务器向网络中的其他边缘服务器广播当前自身的负载情况;
S2、各边缘服务器根据所获取的其它边缘服务器的负载状态,将调度决定发送给其他边缘服务器;
S3、当所有服务器都接收到其它服务器的调度决定后,判断自身的计算时间并将该时间反馈给发送调度决定的服务器;
S4、所有调度的服务器执行学习算法,所有服务器根据自身的策略向量再次随机的选择一个服务器并发送其调度决定,直到算法终止。
优选地,在步骤S4中,所述学习算法包括以下步骤:
S41、每个服务器需要记录当前系统的状态;
S42、在所有服务器获取到当前的状态后,其根据自身的策略向量随机的选择一个调度动作,并将该决定发送给相应的服务器;
S43、在所有服务器收到其他服务器的调度决定后,评估自身的运行时间,并将该运行时间反馈回准备进行调度的服务器;
S44、所有服务器收到反馈后评估自身的运行时间和系统平均的运行时间的偏差的绝对值;
S45、服务器们根据时间偏差调整各自的策略向量;
S46、更新策略向量重复步骤S42~45,直到所有服务器的策略向量变为单位向量,而后服务器采取相应的动作并记录最优动作,该最优动作为当前状态下的单位向量中为1的位置所对应的动作;
S47、进入下一个时间片,每个服务器执行步骤S41~46,直到系统记录下所有系统状态下的最优动作,每个服务器可以根据每个时间片的状态进行调度。
相比于现有技术的缺点和不足,本发明具有以下有益效果:本发明极大的提高了由于分布式边缘计算服务器负载分布不均匀导致的服务质量下降和计算资源浪费问题,提高了分布式边缘服务系统服务质量。
附图说明
图1是本发明方法的步骤流程图;
图2是本发明对比实施例中三种方法中一个时间片中各个边缘服务器执行任务的执行时间结果对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一种提高分布式边缘计算系统负载均衡的方法,如图1所示,该方法包括以下步骤:
S1、在每个时间片开始阶段,各边缘服务器向网络中的其他边缘服务器广播当前自身的负载情况
在步骤S1中,由于分布式边缘服务器不停的接收任务并且运行,因此为确保每个服务器负载均衡,本发明实施例中,将1天内分布式边缘计算服务器的计算时间分为M个时间片{T
S2、各边缘服务器根据所获取的其它边缘服务器的负载状态,将调度决定发送给其他边缘服务器
在步骤S2中,在每个边缘服务器获取网络中其它服务器的负载状态后,每个服务器选择一个其他的服务器进行任务调度,设服务器i决定向其中一个服务器j调度w
S3、当所有服务器都接收到其它服务器的调度决定后,判断自身的计算时间并将该时间反馈给发送调度决定的服务器
S4、所有调度的服务器执行学习算法,所有服务器根据自身的策略向量再次随机的选择一个服务器并发送其调度决定,直到算法终止
在步骤S4中,当所有服务器都接收到其它服务器的调度决定后,判断自身的计算时间并将该时间反馈给发送调度任务的服务器,而后所有调度的服务器执行学习算法,接着所有服务器再次挑选一个服务器并发送其调度决定,直到算法终止为止。
在步骤S4中,上述学习算法具体包括以下步骤:
S41、每个服务器需要记录当前系统的状态,即系统中每个服务器的工作量{w
S42、在所有服务器获取到当前的状态后,其根据自身的策略向量随机的选择一个调度动作,并将该决定发送给相应的服务器。例如:服务器i选择的是
S43、在所有服务器收到其他服务器的调度决定后,评估自身的运行时间,并将该运行时间t反馈回准备进行调度的服务器。如服务器i的CPU的频率是c
S44、所有服务器收到反馈后评估自身的运行时间和系统平均的运行时间的偏差的绝对值。如:服务器i的偏差为e
S45、服务器们根据时间偏差调整各自的策略向量,其依据如下式所示:
s′
其中,β为步长算子,s′
S46、更新策略向量重复步骤S42~45,直到所有服务器的策略向量变为单位向量,而后服务器采取相应的动作并记录最优动作,该最优动作为当前状态下的单位向量中为1的位置所对应的动作。
S47、系统进入下一个时间片,每个服务器执行步骤S41~46,直到系统记录下所有系统状态下的最优动作,而后每个服务器可以根据每个时间片的状态进行调度。
对比实施例
三种方法分别是:(1)不进行任务调度:也就是任务到达各个边缘服务器后,由各个边缘服务器来执行,而不进行任务调度;(2)本发明所采用的任务调度:也就是当任务到达时候,各个边缘服务器进行任务调度后每个边缘服务器的执行时间;(3)若系统中有中央控制器并采用集中式调度:也就是系统中有中央控制器,所有边缘服务器向其汇报自身的任务量,然后中央控制器执行线性规划,来计算每个服务器需要向其他服务器调度的任务,而后通知边缘服务器进行任务调度后的每个边缘服务器的执行时间。
结果如图2所示,该图是在一个时间片中的各个边缘计算服务器的执行时间,该时间片中有随机数量的任务到达各个服务器。从图2中可以看出,不进行任务调度时,每个边缘服务器执行时间有较大偏差,采用本发明的方法时每个边缘服务器的执行时间大体相当,其效果逼近有中央服务器时的效果。因此,采用本发明中的方法可以使系统达到负载均衡,并且可以逼近集中式方法,因此该方法可以很好的实现边缘计算服务器系统的负载均衡。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 一种分布式计算系统,包括多个边缘和云,以及用于使用其自适应智能的模型提供模型的方法
机译: 一种分布式计算系统,包括多个边缘和云和用于提供使用自适应智能的模型的方法
机译: 一种方法和计算系统,用于通过分布式车辆的计算系统,服务器设备和车辆处理预定计算任务的方法和计算系统