基于偏差信息的星载计算机系统负载平衡算法的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于偏差信息的星载计算机系统负载平衡算法的研究
摘要:随着我国航天技术的发展,星载计算机的应用范围也越来越广泛,目前被应用在通讯、资源探测、遥感、气象等众多行业和领域。而且卫星的功能越来越强,因此对星载计算机的负载要求也越来越高,需要收集大量的数据来进行处理,包括压缩、采集、数据回传等。在这些不规则的应用当中,必须要采用负载平衡算法来计算负载,使负载更加平衡,这样才能更加有效的利用资源。笔者针对基于偏差信息的星载计算机系统负载平衡算法进行了研究,希望能为广大的相关工作者提供一些参考依据。
关键词:偏差信息;星载计算机;系统;负载;平衡算法
中图分类号:tp338.6
原来所采用的负载平衡算法具有很多的优点,比如操作方法简单、不需要更多的开销等等。尽管如此,这种方法却能够在一定程度上使结点获取信息的渠道变窄。但后来出现了一种算法,这种算法叫基于偏差的星载计算机系统负载平衡算法,该算法能够改变负载平衡算法原来的一些缺陷,大量的实践和实验证明,这种新的计算方法具有一定的可行性。
1 负载平衡算法
1.1 负载平衡算法的含义
负载平衡算法又被称为负载均衡算法,采用负载平衡算法的目的是为了使星载计算机的系统整体平衡。由于在整个操作的过程当中,会产生一定的开销,甚至有时也会有的延迟的现象,因此,要
实现整个系统的平衡非常的难。采用平衡算法虽然可以在一定程度上减轻开销,但是却有一些不足和缺陷,比如信息的获取量会变窄,会影响系统性能,等等。同时,这种方法也是通过对偏差结点传递的负载信息来使整个计算机系统的负载变得平衡,而且仅仅只需要付出很小的代价,总体来说,这种算法还是比较的科学,虽然有一些不足之处。
1.2 负载平衡算法容易出现的问题
负载平衡算法能够在有限的范围内,对局部负载进行转移,从而使整个系统达到平衡的最终目的。在此算法当中,每一个结点仅仅只和它旁边的结点进行信息交换或者是通信,因此它的范围有限。另外,转移负载也仅仅只能发生在两个相邻的结点当中。
比如有两个相邻的结点,分别是a和b,这个结点之间的负载要相互平衡,假设l1为结点a在t时刻的负载,而l2为结点b在t 时刻的负载。那么假设在t+n的时间段内,两个结点进行了负载平衡之后,该公式就应该这样来表达:
l1(t+n)=l2(t+n)=50%(l1(t)+l2(t))
从上面的公式中可以看出,当负载平衡的行为结束以后,整个系统就可以使全局达到负载平衡的目的。在静态的情况下,负载平衡算法可以达到这样的效果,当结点受到旁边的结点的负载信息之后,它会把自己的负载信息拿出来,与旁边的结点的负载信息相对比。如果两个结点的负载相差得太多,那么这样的情况就可以被称为是过载结点,另外,一些负载量较重的结点还会向一些负载量
比较轻的结点进行转移,以减轻自己的负载量。
这种算法有很多的优势,比如减少开销等,但它也有个劣势,比如它可能会在系统达到平衡以后,停止运行整个系统的负载平衡行为。这样就会影响到整个系统的性能,甚至会出现其他的问题。
举个例子,一个结点的负载为1,而相邻的结点的负载为11,这就可以采用负载平衡算法来进行计算,或者交换两个结点之间的负载。两个相邻的结点,它们的负载的差距比迁移阈值要小,因此,就不能转移负载。在进行计算的时候,整个系统已经达到了平衡,但是全局却仍然不平衡。后来产生了一种新的算法,这种算法不但实现了最小的开销,而且还不会产生上面所说的缺点和不足之处,这就是基于偏差信息的星载计算机系统负载平衡算法。
2 基于偏差信息的星载计算机系统负载平衡算法
2.1 利用相邻结点的负载偏差来使全局平衡
这种新算法的产生使得结点的实际负载信息产生了改变,而一个结点的负载信息却能够反映相邻的结点的负载信息。比如,l1(t)比l2(t)的值小,那么结点a和结点b之间的负载信息在进行转移的时候,结点a传给结点b的负载信息就不再是上面所讲的l1(t),却变成了结点a和相邻结点合起来的信息cl1(t)。同时,cl1(t)也体现了结点a和相邻结点的负载情况。如果结点a的负载信息与结点收到的信息解释相同,那么就说明能够进行负载的转移。但是实际上,负载在进行转移的时候,与结点a需要的负载量可能会不一致,这时候就必须要再次用信息的偏差来使结点a与旁
边的结点的负载相平衡,但是需要注意的是,不能选择结点b,要选择其他相邻的结点。
2.2 对该算法进行改进
在上面所讲到的方法当中,发送者和接收者会建立起连接,这时候,两个相邻结点之间就会发生负载的转移,但是接收者的负载信息要远远多于发送者的负载信息,从而及时的找出负载太少的结点,将负载信息向这个结点转移过去。
此种方法在上述计算方法的基础上进行了改进,并且使得负载量多的结点将负载量转移到负载少的结点。同时,这种方法还扩大了负载移动的范围,使得负载转移的次数慢慢的减少,最终使得计算的结果更加的科学和准确。
3 基于偏差信息的星载计算机系统负载平衡算法的优势
3.1 不会限制负载信息的获取范围
过去的算法因为采用的是局部观点平衡负载的方法,所以在一定程度上限制了负载信息的获取范围,仅仅只达到了系统的平衡,没有达到全局的平衡。但进行改进后的计算方法解决了这一问题,不但没有限制负载信息的获取范围,而且还达到了全局平衡的目的。
3.2 计算的方法很简单
这种新的算法将结点的负载信息偏差用线性函数来进行导出,不但简单明了,而且容易操作。另外还使得负载转移的范围有所扩大,减少了负载转移的次数。因此,该方法具有一定的可操作性。
3.3 减少了开销
使用这种新的计算方法,结点与结点之间的开销减小了,不仅如此,相邻结点互相之间的通信量和通信时间也减少了。
综上所述,基于偏差信息的星载计算机系统负载平衡算法具有一定的合理性与可行性,而且计算的方法非常的简单,它通过计算结点负载的偏差,从而体现了结点与相邻结点之间的负载状况,这样就可以使全局达到平衡的程度。另外,相比于其他算法,它的计算结果还非常的准确、科学,而且它的优势也非常的多。目前,这种算法已经得到了广泛的应用。
4 总结与体会
星载计算机是卫星的重要部件,关系到卫星的数据处理、姿态控制等等,但在实际工作中,星载计算机常常会受到高能粒子的影响,因此出现一些问题。为了提高星载计算机的性能,满足星载计算机的负载要求,必须要采用合理而可行的方法来计算其负载量,从而使星载计算机的全局达到平衡的目的。这种方法就是基于偏差信息的星载计算机系统负载平衡算法,同时,该方法不但弥补了负载平均算法的缺陷和不足之处,还大大的提高了系统的性能。
参考文献:
[1]魏振华,柳长安,周宏.星载计算机系统瞬态过载不精确容错调度算法研究[j].宇航学报,2007(6).
[2]仉俊峰,洪炳镕,袁成军.一种基于markov模型的星载计算机系统可靠性评测的新方式[j].宇航学报,2007,28(4):
1053-1058.