无线分布式计算系统及资源分配方法
文献发布时间:2023-06-19 12:24:27
技术领域
本发明涉及一种无线通信技术,尤其涉及一种无线分布式计算系统中资源分配方法,属于移动通信技术领域。
背景技术
群计算在分布式传感器和分布式计算平台引起了广泛的关注,其利用大量无线设备完成数据收集和联合处理工作,从而避免系统对大量专用计算硬件的需求。利用计算任务的可拆分性,将复杂的计算任务分解为多个可并行计算的子任务,通过无线通信的方式分发到不同的计算节点,每个计算节点完成一个子计算任务,再将计算结果传输到主节点进行合并,构成了无线分布式计算系统。
在无线分布式计算系统中,每个计算节点只是一个普通的移动终端,例如手持设备、笔记本电脑等,其CPU计算能力以及供电(如电池)都较为有限。因而,如何合理分配计算节点以及每个计算节点如何有效分配其功率将影响整个无线分布式计算系统的总计算能力。尽管有研究关注无线分布式计算系统中的通信方面,少有工作同时考虑通信和计算的能耗问题。另外,在考虑通信传输速率方面,大部分工作仅利用香农公式计算单链路传输速率,并没有考虑多个计算节点同时通信,相互干扰的影响。用户间干扰将会严重影响系统的通信速率,增加通信功率开销,降低整个无线分布式计算系统的计算能力。
发明内容
发明目的:针对上述技术的不足之处,提供一种无线分布式计算系统及其资源分配方法,充分利用有限功率资源,尽可能实现更高的计算速率与通信速率,最大程度完成计算任务。
技术方案:为实现上述发明目的,本发明的无线分布式计算系统,包括通过无线信道相互连接的多个主节点和多个计算节点,主节点将复杂的计算任务分解为多个可并行计算的子任务,向多个计算节点分发子任务并收集计算结果,计算节点执行计算任务并反馈计算结果;主节点包括计算任务拆分与结果合并模块、计算节点调度模块以及通信模块,计算任务拆分与结果合并模块将计算任务分解为多个可并行计算的子任务,将计算任务数据通过通信模块传输到各个计算节点,并将各个计算节点的计算结果合并,获得原计算任务的结果;
单个主节点可以同时与多个计算节点通信,多个计算节点同时执行一个主节点的计算任务,而每个计算节点在任意时刻仅执行一个主节点的计算任务,在执行计算任务过程中,计算节点之间互不通信;
每个主节点调度模块根据信道信息挑选为其执行计算任务的计算节点,并将不同的计算子任务分配给不同计算节点,通信模块根据计算节点调度信息与挑选的计算节点通信,将计算任务数据发送给对应的计算节点,并接收计算节点的计算结果数据,传输到计算任务拆分与结果合并模块。
进一步,主节点包括计算任务拆分与结果合并模块、计算节点调度模块以及通信模块;计算任务拆分与结果合并模块将计算任务拆分为可以并行计算的子任务,并且将各子任务的计算结果合并为原计算任务的结果。
进一步,每个计算节点包括相互连接的计算模块、通信模块、以及功率控制模块;计算模块用以执行计算任务,通信模块用以与主节点进行无线通信,计算模块与通信模块相连接,通信模块将接收到的数据传输到计算模块进行计算,计算模块将计算结果输入到通信模块,利用通信模块发送给主节点,计算模块和通信模块都与功率控制模块相连接,功率控制模块根据计算模块的计算能力以及信道信息,分配计算功率以及通信功率。
一种无线分布式计算系统的资源分配方法,具体包括计算节点调度方法以及计算节点的功率分配方法;计算节点调度方法为主节点根据其与计算节点之间的信道信息,挑选部分计算节点,将计算任务分解为多个可并行计算的子任务,每个计算节点执行一个子任务,最大化无线分布式计算系统的通信速率;计算节点的功率分配方法为计算节点根据自身计算能力以及信道信息,在总功率受限的情况下,分配各自的计算功率以及通信功率,最大化计算速率。
具体步骤如下:
1)所有空闲计算节点主动广播探测信号,用于供主节点获取计算节点的信道信息;
2)主节点记录并收集所有获取的空闲计算节点的探测信号中的信道信息,将所有空闲计算节点信道信息以集合的方式记录,并标注各个计算节点到主节点的信道信息;
3)主节点根据各个计算节点的信道信息,在考虑不同计算节点之间通信干扰的情况下,挑选为自身执行计算任务的计算节点,并估计无线通信的传输速率,挑选计算节点在功率有限情况下、尽可能降低计算节点之间的干扰的同时最大化整个无线分布式计算系统的通信速率之和;
4)计算节点根据信道信息与自身计算能力,分配计算功率和通信功率,利用计算功率执行计算任务,并将计算结果传输到主节点,其中各个计算节点执行的计算任务并行执行,计算节点之间无需通信,每个计算节点在计算结束后将结果反馈到主节点进行合并;
5)主节点收集所有计算节点的计算结果,合并获得最终计算结果。
进一步,所述计算节点调度方法,主节点利用各计算节点到主节点的信道信息估计无线通信传输速率,在每个计算节点只服务单个主节点的约束下,最大化整个无线分布式计算系统的通信速率,该优化问题是一个非凸的0-1规划问题,将无线通信传输速率中的非凸部分利用线性函数进行近似,并将0-1规划放松为0到1区间约束,通过迭代求解凸优化问题,获得节点调度的结果;
具体如下:
在计算任务调度中,为了表示第n个计算节点是否在集合π
因而,计算任务调度建模为:
s.t.X
X
上述优化问题是0-1优化,利用穷举搜索可以获得原问题的最优解,但复杂度随着节点个数指数增长,改进后将约束条件X
通过迭代求解如下凸优化问题获得原问题的局部最优解如下:
进一步,所述计算节点的功率分配方法,计算节点的功率分配模块根据信道信息及其计算能力,在总功率约束以及计算结果速率不超过通信速率的条件下,分配计算以及通信的功率,最大化整个无线分布式计算系统的计算速率;
具体的,从计算节点到主节点的通信过程:
以第j个主节点的接收为例,令π
其中,H
其中,E表示对于信道矩阵H
在无线分布式计算系统中,主节点根据各个计算节点到主节点的信道信息挑选为其执行计算任务的计算节点;每个计算节点根据其计算能力以及信道信息分配计算功率以及通信功率。
进一步,所述计算节点的功率分配方法,在最大化计算速率的优化问题中,计算结果速率不超过通信速率的约束条件是非凸的,将通信速率中的非凸部分利用线性函数进行近似,得到通信速率的下界,通过迭代求解计算结果速率不超过通信速率下界的约束下,得到功率分配的结果:
具体计算与通信功率分配方法:
当第j个主节点挑选S
R
当信道矩阵H
R
将第一个非凸约束条件中的凹函数部分利用线性近似,通过迭代求解如下凸优化问题,获得原问题的局部最优解:
R
有益效果:与现有技术相比,本发明具有如下有益效果:
1)本发明将多个主节点与多个计算节点构成无线分布式计算系统,充分利用计算节点的计算能力,大幅提高整个系统的计算能力。
2.)本发明中主节点根据信道信息挑选执行计算任务的计算节点,有效降低计算节点通信部分的功率开销,提升计算节点的计算速率,同时降低主节点接收信号处理的复杂度。
3.本发明中各个计算节点根据计算能力以及信道信息,分配计算功率和通信功率,在功率有限的情况下,最大化计算节点的计算速率,提升整个计算系统的计算能力。
附图说明
图1为本发明无线分布式计算系统结构示意图;
图2为本发明的主节点模块示意图;
图3为本发明的计算节点模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明的无线分布式计算系统,包含多个主节点以及计算节点,主节点需要执行复杂的计算任务,为了避免对大量专用计算硬件的需求,将复杂的计算任务分解为多个可并行计算的子任务,利用多个计算节点完成不同的子任务,从而实现复杂计算任务的分布式计算;其中主节点负责管理调度无线资源、分配计算任务,计算节点执行各自分配的计算任务。无线分布式计算过程包括:1)主节点将计算任务分解为多个可并行计算的子任务,将计算子任务通过无线信道分配给不同的计算节点;2)每个计算节点根据计算能力以及信道信息,分配计算功率以及通信功率,执行计算任务,并将计算结果通过无线信道传输到主节点;3)主节点综合所有计算节点的计算结果,生成最终计算结果,完成计算任务。
在无线分布式计算系统中,主节点包括计算任务拆分与结果合并模块、计算节点调度模块以及通信模块,如图2所示。计算任务拆分与结果合并模块将计算任务分解为多个可并行计算的子任务,将计算任务数据通过通信模块传输到各个计算节点,并将各个计算节点的计算结果合并,获得原计算任务的结果。计算节点调度模块根据信道信息挑选为其执行计算任务的计算节点,并将不同的计算子任务分配给不同计算节点。通信模块根据计算节点调度信息与挑选的计算节点通信,将计算任务数据发送给对应的计算节点,并接收计算节点的计算结果数据,传输到计算任务拆分与结果合并模块。
如图3所示,每个计算节点包括计算模块、通信模块、以及功率控制模块。计算模块用以执行计算任务,通信模块用以与主节点进行无线通信。计算模块与通信模块相连接,通信模块将接收到的数据传输到计算模块进行计算,计算模块将计算结果输入到通信模块,利用通信模块发送给主节点。计算模块和通信模块都与功率控制模块相连接,功率控制模块根据计算模块的计算能力以及信道信息,分配计算功率以及通信功率。
计算模块利用低功耗的CMOS器件,其功率消耗包括静态功率消耗以及动态功率消耗。静态功率消耗主要是由于漏电流引起的,当器件的漏电流为I
P
CMOS的动态功率消耗包括瞬态功率消耗以及负载功率消耗,瞬态功率消耗是由于逻辑状态切换时IC电路内部的电容充放电引起的,负载功率消耗还包括外部电容负载消耗。当总电容负载为C,切换频率为ν时,动态功率消耗为:
P
一般情况下,处理器时钟速率与电压之间的关系可以建模为:
其中,b为固定系数,V
P
其中,α
R
其中,η为转换因子。
通信过程中主节点和计算节点均配置多天线。考虑无线分布式计算系统中包含N
以第j个主节点的接收为例,令π
其中,H
其中,E表示对于信道矩阵H
在无线分布式计算系统中,主节点根据各个计算节点到主节点的信道信息挑选为其执行计算任务的计算节点;每个计算节点根据其计算能力以及信道信息分配计算功率以及通信功率。
考虑计算任务调度以及计算节点的功率分配,满足:
(a)每个计算节点仅服务单个主节点;
(b)每个计算节点的功率限制为P
(c)计算节点的计算速率不超过通信速率,保证其计算结果可以及时传输。
为简化符号,令R
(2)计算任务调度方法
在计算任务调度中,为了表示第n个计算节点是否在集合π
因而,计算任务调度问题可以建模为:
上述优化问题是0-1优化,利用穷举搜索可以获得原问题的最优解,但复杂度随着节点个数指数增长。本发明公开了一种计算任务调度方法,将约束条件X
通过迭代求解如下凸优化问题获得原问题的局部最优解:
计算任务调度方法如下:
1)初始化X
2)根据式计算φ(X);
3)求解凸优化问题,获得第i+1次结果X
4)计算和速率的近似值
5)如果
6)结束迭代,输出计算任务分配矩阵X。
(3)计算与通信功率分配方法
利用上述计算任务调度方法,第j个主节点挑选S
当信道矩阵H
为求解上述优化问题,将第一个非凸约束条件中的凹函数部分利用线性近似,通过迭代求解如下凸优化问题,获得原问题的局部最优解:
因而,计算节点的功率分配方法如下:
1)初始化j=1;
2)初始化
3)求解凸优化问题,获得功率分配结果
4)计算和速率
5)如果|R
6)更新j=j+1,如果j≤N
7)迭代结束,输出结果,功率分配为q
- 无线分布式计算系统及资源分配方法
- 资源分配方法、主装置、从装置和分布式计算系统