本发明涉及通信技术领域,具体涉及一种任务分配方法。
背景技术:
伴随着用户对卫星功能需求的不断提高,单个卫星已经无法完成日渐复杂卫星任务,因此必须通过卫星集群共同完成。通过卫星与云端相连,必然导致较大的传输和传播时延,降低计算任务的时效性。分布式卫星集群可以解决传统的云计算带来的时延过大的问题,在卫星过顶时间内完成时延敏感型计算密集型任务。由于单颗卫星计算能力有限,通过单颗卫星完成时延敏感型计算密集型业务会造成较大的时延,导致卫星无法在过顶时间(同步卫星除外)内完成计算任务。如果充分发挥卫星集群的计算能力,就可以在不依赖地面云服务器和单颗卫星的基础上达到降低任务计算时延的效果。
随着硬件资源的发展和通信技术的提高,使得分布式计算和分布式系统在卫星领域得到快速发展。2014年,美国google公司发射了24颗商业卫星构成卫星集群,提高了卫星的数据采集功能。但是在现有的分布式卫星系统下,由地面数据处理系统负责数据处理和分析,这种星地交互方式必然造成巨大成本。目前为了开发卫星分布式计算,国外卫星系统使用了类linux操作系统,在卫星上进行数据的存储与计算,使得卫星集群分布式计算有望代替地面处理系统处理卫星计算任务。
因此,采取怎样的任务分配策略成为决定卫星集群分布式计算效果的重要因素。
技术实现要素:
为解决现有技术的不足,本发明实施例提供了一种任务分配方法,该方法包括以下步骤:
根据公式
根据公式
判断t1是否小于t2,若是,则将本次任务分配给中轨卫星执行;
若否,则将本次任务分为多个子任务,根据任务量分配比例γm,将所述多个子任务分配给多个低轨卫星和中轨卫星联合执行。
优选地,γm的计算过程包括:
获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值时,各个低轨卫星分配的子任务量的和,其中,各个低轨卫星的收益的计算公式为f(p,qj,t)=alog2(1 qj)-p·qj-αt,各个子任务的收益的计算公式为
根据所述子任务量的和与本次任务的任务量的比值,得到任务量分配比例。
优选地,获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值包括:
利用公式
利用公式
本发明实施例提供的任务分配方法具有以下有益效果:
利用空中卫星集群对任务进行分布式计算,降低了任务处理的时延,能够随时随地完成时延敏感型计算密集型任务,提高了资源利用率。
附图说明
图1为本发明实施例提供的卫星集群系统架构示意图;
图2为本发明实施例提供的任务分配方法的流程示意图;
图3为本发明实施例提供的卫星分布式计算与云计算和单颗卫星任务处理时延比较示意图;
图4为采用本发明实施例提供的任务分配方法处理不同类型任务的时延比较示意图;
图5为采用本发明实施例提供的任务分配方法与采用改进的拍卖机制处理任务的时延比较示意图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
如图1所示,该卫星集群由处于leo层的多颗低轨卫星及处于meo层的一颗中轨卫星组成,卫星集合可表示为v={v1,v2,…,vn,vm},其中vm为中轨卫星,n为低轨卫星集群中卫星的数量,其计算能力分别用
地面用户的需求具有多种形式,每种形式的任务对于卫星的抖动和丢包率等问题的敏感程度不同。所以,中轨卫星需综合考虑卫星节点的抖动以及丢包率等因素,合理的将子任务分配到不同的卫星进行计算,以降低时延及提高资源利用率。
本发明在采用博弈解决分配策略时涉及计算任务和计算节点两方面,计算任务需要采取合理的价格来吸引卫星节点购买子任务,从而获得收益,而卫星节点之间根据自身的计算能力等特点制定合理的购买计划,以最大化自己的收益。根据上述计算任务与卫星节点之间的交互构成了stackelberg博弈。本发明的研究点就是如何通过博弈来获得使得双方利益最大的分配策略。
参照图2,本发明实施例提供的任务分配方法包括以下步骤:
s101,根据公式
s102,根据公式
s103,判断t1是否小于t2,若是,则将本次任务分配给中轨卫星执行,若否,则将本次任务分为多个子任务,根据任务量分配比例γm,将所述多个子任务分配给多个低轨卫星和中轨卫星联合执行。
可选地,γm的计算过程包括:
获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值时,各个低轨卫星分配的子任务量的和,其中,各个低轨卫星的收益的计算公式为f(p,qj,t)=alog2(1 qj)-p·qj-αt,各个子任务的收益的计算公式为
根据所述子任务量的和与本次任务的任务量的比值,得到任务量分配比例。
其中,卫星i、j及k的性能参数如表1所示:
表1
通过简单加法权重法将表1中的名义测量值转换为可以比较的决策矩阵,转换公式为:
其中,
对于不同的任务类型,必然有不同的qoe参数标准。通过设加权向量w值来满足用户对不同类型任务的偏好。
则偏好矩阵a可以通过下式得到:
通过偏好矩阵a可以得到不同的卫星适合计算的任务类型,从而量化低轨卫星收益函数的偏好系数。
可选地,获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值包括:
利用公式
利用公式
因为不同卫星对同一任务进行申请,因此他们之间存在一种非合作博弈关系。当任务的价格给定时,卫星将会更新它们的任务量大小以求最大的收益。当卫星的收益不再变化时,达到纳什均衡。
定理:当前时刻任务的单价为p,在此定价情况下,各低轨卫星之间进行非合作博弈,则低轨卫星的收益函数存在均衡点
证明:对于低轨卫星集合n={1,2,…,n},他们的任务量大小q是欧氏空间的凸集,并且它的收益函数fj在其任务量大小空间中是连续的。
该收益函数的导数如下所示:
可以得到
以上证明,对于待分配的任务提出的各个子任务,都能找到一种卫星网络的任务量大小使得双方效益最大化,即表明纳什均衡是存在的。
为了验证本发明实施例提出的任务分配方法的效果,分别将根据本发明的卫星网络分布式计算与云计算和单颗卫星时延性能、分析用户qoe与卫星特点对网络资源化分的影响、改进拍卖机制进行对比。其中,由于云服务器的计算能力很大且计算结果数据量较小,所以不考虑云服务器将结果传回时延和计算时延。实验平台采用matlab,实验计算机cpu为inteli7-8550u,内存为8gb。假设有3个低轨卫星节点和一个中轨卫星节点,其中,中轨卫星节点为接收任务的节点,由该节点将计算任务按照比例将任务发送给卫星集群内的其他卫星进行计算。实验中,四颗卫星的计算能力分别为0.15ghz、0.10ghz、0.10ghz和0.10ghz,低轨卫星上下行链路带宽设置为30mbps,中轨卫星上下行链路设为20mbps。因为计算结果数据量较小,故不考虑计算结果回传的时延。在分布式迭代算法中,一维搜索步长λ和迭代步长μ分别设置为0.1。
图3表明,由于地面云服务器离用户终端距离较远,受链路带宽限制,通过卫星与云服务器连接的方式会造成较大传输时延。当任务量小于0.3gb时,只有两颗卫星开启分布式计算,因此当任务量较小时,分布式任务的计算时延与单颗卫星计算时延相差较小。当任务量大于0.3gb时四颗卫星全部参与分布式计算,此时分布式计算的时延明显优于单颗卫星计算。当任务量大小为1gb时,卫星分布式计算比地面云计算及单颗卫星计算的时延分别降低了86.2%、15.6%。因此采用基于stackelberg博弈的卫星集群分布式任务量大小,将适量比例的任务卸载到卫星集群中其他的卫星,比传统的云计算方式及单颗卫星计算的方式更加降低任务处理时延。
图4表明,随着任务量的增加,卫星逐渐开启分布式计算,所以任务的处理时延呈现一个先缓慢下降再增加的过程。当任务量达到0.3gb所有卫星都开启分布式计算参与任务处理,导致计算时延有缓慢下降。由于卫星的特性不同,导致不同类型的业务在的处理时延存在发生差异。以数据任务为例,由于计算能力强的卫星更加偏好于计算语音任务,所以语音任务的计算时延小于其他两种类型的任务,当任务量为1gb时,语音、数据及视频类型任务的处理时延分别为6.88s、6.58s及7.71s。随着任务量增加,卫星集群可计算子任务占总任务的比例趋于稳定,最终任务处理时延以稳定斜率上升。
图5表明,本发明实施例提供的任务分配方法对比改进拍卖策略在降低时延方面有突出的效果。改进拍卖机制完全按照卫星的计算能力进行任务划分,这种策略在任务量小于0.2gb时延增长缓慢,一旦超过该数值,其时延增长速度远远超过本文基于博弈论的分布式任务量大小。
本发明实施例提供的任务分配方法,利用空中卫星集群对任务进行分布式计算,降低了任务处理的时延,能够随时随地完成时延敏感型计算密集型任务,提高了资源利用率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
1.一种任务分配方法,其特征在于,包括:
根据公式
根据公式
判断t1是否小于t2,若是,则将本次任务分配给中轨卫星执行;
若否,则将本次任务分为多个子任务,根据任务量分配比例γm,将所述多个子任务分配给多个低轨卫星和中轨卫星联合执行。
2.根据权利要求1所述的任务分配方法,其特征在于,γm的计算过程包括:
获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值时,各个低轨卫星分配的子任务量的和,其中,各个低轨卫星的收益的计算公式为f(p,qj,t)=alog2(1 qj)-p·qj-αt,各个子任务的收益的计算公式为
根据所述子任务量的和与本次任务的任务量的比值,得到任务量分配比例。
3.根据权利要求2所述的任务分配方法,其特征在于,获取使得各个低轨卫星的收益及本次任务的收益同时取得最大值包括:
利用公式
利用公式
