一种基于Shapley值的轨道交通云资源公平调度方法与流程

摘要: 本技术涉及信息处理,尤其涉及一种基于shapley值的轨道交通云资源公平调度方法和相关设备。背景技术:1、随着轨道交通系统的信息化和智能化发展,云计算平台集中承...
一种基于Shapley值的轨道交通云资源公平调度方法与流程

本技术涉及信息处理,尤其涉及一种基于shapley值的轨道交通云资源公平调度方法和相关设备。

背景技术:

1、随着轨道交通系统的信息化和智能化发展,云计算平台集中承载各类业务应用以提升处理效率和协调能力,但随之而来的核心挑战是如何在有限计算资源下进行合理调度,以确保关键任务的实时性能、各应用的公平使用以及资源利用率的最大化。现有资源调度技术往往在公平性、效率或实时性方面存在局限,例如有的侧重公平分配却可能降低整体资源使用效率,有的追求智能化调度却对突发场景响应不足或忽视任务间公平性,还有的基于静态分配模型难以适应动态多资源的持续调度需求,同时这些方案普遍缺乏针对轨道交通场景低延迟和高可靠性要求的专门优化。

技术实现思路

1、本技术的主要目的在于提出一种基于shapley值的轨道交通云资源公平调度方法和相关设备,能够提升轨道交通的集群资源的整体利用效率和负载均衡水平。

2、为实现上述目的,本技术的一方面提出了一种基于shapley值的轨道交通云资源公平调度方法,所述方法在轨道交通云平台的每一调度周期内执行,且每一调度周期内的分配计算与调度指令下发在该调度周期的时长内完成;所述方法包括:

3、获取轨道交通云平台中多个应用任务的实时资源需求信息和云平台资源池的实时资源状态信息;

4、基于所述实时资源需求信息和所述实时资源状态信息,将所述多个应用任务建模为合作博弈的参与者,并采用蒙特卡洛采样近似算法计算各应用任务的shapley值;其中,对于由所述多个应用任务中的部分或全部构成的任一联盟,以所述资源池的当前可用资源量为约束,按该联盟内各应用任务的实时资源需求信息为其分配资源,统计该联盟内各应用任务在当前调度周期内能够完成的任务实例数量,并以各应用任务的优先级权重对所述任务实例数量加权求和,所得结果作为该联盟的总收益,该联盟为空集时其总收益取零;所述蒙特卡洛采样近似算法的抽样轮数取为使该抽样轮数与所述应用任务的数量之积次所述总收益的求值耗时不超过所述调度周期时长的预设比例的值;

5、根据所述实时资源需求信息,识别每个应用任务在当前调度周期内的主导资源类型;

6、根据各应用任务的shapley值和所述主导资源类型通过迭代分配策略,计算得到资源调度决策,以优先为资源分配偏差最大的应用任务分配其主导资源单元;所述资源分配偏差以该应用任务当前已获得的其主导资源的数量与该应用任务的公平资源配额的比值表征,该比值越小表示所述资源分配偏差越大;所述公平资源配额为该应用任务的归一化shapley份额与资源池中其主导资源的资源总量之积,所述归一化shapley份额为该应用任务的shapley值与全体应用任务的shapley值之和的比值;

7、根据所述资源调度决策,将任务实例调度至具有相应空闲主导资源的计算节点执行,以实现负载均衡。

8、所述采用蒙特卡洛采样近似算法计算各应用任务的shapley值,包括:

9、对所述多个应用任务的任务集合进行k次随机排列抽样,得到k个任务加入顺序;所述k为正整数;

10、对于每次抽样,按照所述应用任务加入顺序,依次计算每个应用任务加入当前联盟时带来的边际贡献,所述边际贡献为该应用任务加入当前联盟后的联盟总收益与该应用任务加入前的联盟总收益之差;

11、将每个应用任务在所有k次抽样中的边际贡献取平均值,作为每个应用任务的shapley值;所述按该联盟内各应用任务的实时资源需求信息为其分配资源,包括:将该联盟内各应用任务按其优先级权重由大到小排序,优先级权重相同者按其任务标识由小到大排序,并按该排序依次处理;对当前处理的应用任务,其在当前调度周期内能够完成的任务实例数量取该应用任务在当前调度周期内待执行的任务实例数与各类资源所允许的任务实例数中的最小值,所述各类资源所允许的任务实例数为当前剩余资源量中该类资源的数量除以该应用任务的单个任务实例对该类资源的需求量并向下取整;随后按所得数量从剩余资源量中扣除相应资源,再处理下一应用任务。

12、所述根据各应用任务的shapley值和所述主导资源类型通过迭代分配策略,计算得到资源调度决策,包括:

13、计算每个应用任务当前已获得的其主导资源的数量与该应用任务的所述公平资源配额的分配比值;

14、在每一轮迭代中,选择所述分配比值最小的应用任务作为当前分配对象,并为所述当前分配对象分配一个单位的主导资源;

15、更新所述当前分配对象已获得的该主导资源的数量和资源池的剩余资源量;

16、重复执行上述计算分配比值、选择当前分配对象、分配主导资源与更新剩余资源量的各步骤,直至资源池无法再分配新的资源单元或所有应用任务的需求均得到满足。

17、在所述每一轮迭代中选择当前分配对象之前,所述方法还包括:

18、计算每个应用任务的综合调度优先度;其中,综合调度优先度通过公式计算得到,所述为所述应用任务的优先级权重,所述为所述应用任务对主导资源的需求量,所述为应用任务当前已获得的主导资源的数量,为极小常数以避免分母为零,所述为所述公平资源配额,所述为所述应用任务已获得的该主导资源的数量;所述综合调度优先度仅针对主导资源缺口与公平配额缺口均大于零的应用任务计算;

19、在每一轮迭代中,当所述分配比值最小的应用任务为两个以上时,根据所述综合调度优先度对该两个以上的应用任务进行排序,选择所述综合调度优先度最大的应用任务作为所述当前分配对象。

20、所述根据所述资源调度决策,将任务实例调度至具有相应空闲主导资源的计算节点执行,以实现负载均衡,包括:

21、在为应用任务分配主导资源单元时,从所有计算节点中选择当前该主导资源类型空闲最多的计算节点,并将所述应用任务的任务实例调度至所选择的计算节点上运行。

22、所述方法还包括:

23、所述优先级权重按应用任务的实时性要求与安全相关性设定,使实时控制类应用任务的优先级权重大于非实时类应用任务的优先级权重,以使实时控制类应用任务在所述联盟的总收益中的贡献度被放大,从而使其shapley值以及据此确定的公平资源配额相应提高。

24、所述方法还包括:

25、若检测到优先级权重较高的紧急任务到达,则中断或减少对优先级权重较低的非紧急任务的资源分配,并将释放的资源重新分配给所述紧急任务,并在下一调度周期重新计算所有应用任务的shapley值;所述中断或减少对非紧急任务的资源分配以及将释放的资源重新分配给所述紧急任务,在检测到所述紧急任务的调度周期内完成。

26、为实现上述目的,本技术的另一方面提出了一种基于shapley值的轨道交通云资源公平调度装置,所述装置在轨道交通云平台的每一调度周期内执行,且每一调度周期内的分配计算与调度指令下发在该调度周期的时长内完成;所述装置包括:

27、信息获取模块,用于获取轨道交通云平台中多个应用任务的实时资源需求信息和云平台资源池的实时资源状态信息;

28、分配计算模块,用于基于所述实时资源需求信息和所述实时资源状态信息,将所述多个应用任务建模为合作博弈的参与者,并采用蒙特卡洛采样近似算法计算各应用任务的shapley值;其中,对于由所述多个应用任务中的部分或全部构成的任一联盟,以所述资源池的当前可用资源量为约束,按该联盟内各应用任务的实时资源需求信息为其分配资源,统计该联盟内各应用任务在当前调度周期内能够完成的任务实例数量,并以各应用任务的优先级权重对所述任务实例数量加权求和,所得结果作为该联盟的总收益,该联盟为空集时其总收益取零;所述蒙特卡洛采样近似算法的抽样轮数取为使该抽样轮数与所述应用任务的数量之积次所述总收益的求值耗时不超过所述调度周期时长的预设比例的值;

29、类型识别模块,用于根据所述实时资源需求信息,识别每个应用任务在当前调度周期内的主导资源类型;

30、策略计算模块,用于根据各应用任务的shapley值和所述主导资源类型通过迭代分配策略,计算得到资源调度决策,以优先为资源分配偏差最大的应用任务分配其主导资源单元;所述资源分配偏差以该应用任务当前已获得的其主导资源的数量与该应用任务的公平资源配额的比值表征,该比值越小表示所述资源分配偏差越大;所述公平资源配额为该应用任务的归一化shapley份额与资源池中其主导资源的资源总量之积,所述归一化shapley份额为该应用任务的shapley值与全体应用任务的shapley值之和的比值;

31、任务执行模块,用于根据所述资源调度决策,将任务实例调度至具有相应空闲主导资源的计算节点执行,以实现负载均衡。

32、为实现上述目的,本技术的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前面所述的方法。

33、为实现上述目的,本技术的另一方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的方法。

34、为实现上述目的,本技术的另一方面提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前面所述的方法。

35、本技术至少包括以下有益效果:本技术提供一种基于shapley值的轨道交通云资源公平调度方法、装置、电子设备、存储介质及程序产品,该方案通过获取轨道交通云平台中多个应用任务的实时资源需求信息和云平台资源池的实时资源状态信息;基于实时资源需求信息和实时资源状态信息,将多个应用任务建模为合作博弈的参与者,并采用蒙特卡洛采样近似算法计算各应用任务的shapley值;根据实时资源需求信息,识别每个应用任务在当前调度周期内的主导资源类型;根据各应用任务的shapley值和主导资源类型通过迭代分配策略,计算得到资源调度决策,以优先为资源分配偏差最大的应用任务分配其主导资源单元;根据资源调度决策,将任务实例调度至具有相应空闲主导资源的计算节点执行,以实现负载均衡。实施本技术,通过博弈论模型保证了复杂场景下多任务间资源分配的长期公平性,利用蒙特卡洛近似和迭代分配降低了在线调度计算的复杂度,以满足实时性要求,并通过主导资源感知的调度和节点选择,在保障关键任务性能的同时,能够提升轨道交通的集群资源的整体利用效率和负载均衡水平。