本发明属于计算机数据处理,具体涉及一种基于移动终端的并行计算系统。
背景技术:
1、算力指的是数据的处理能力,它广泛存在于手机、pc、超级计算机等各种硬件设备中,算力越高对我们生活的影响也越深刻。算力已经成为普通人生活中不可缺少的一部分。将普通人生活中所使用的移动终端,包括新能源汽车的算力进行整合,在移动终端闲置时,将算力共享给算力需求方将有助于减轻科学研究中的计算压力。
2、目前,算力共享的研究中,多数是从网络与设备的角度对算力共享进行阐述与畅想,比如cn113535343a公开的基于网络调度的算力共享方法及相关产品,其从网络调度的角度构建算力共享系统进行分布式计算,这类算力共享由于缺乏软件架构设计,很难在实际中进行应用开发。
技术实现思路
1、本发明的目的是提供一种基于移动终端的并行计算系统,以提高移动终端的计算利用率,提升用户体验。
2、本发明所述的基于移动终端的并行计算系统,包括中心平台服务器和与中心平台服务器进行无线通讯的n个移动终端。所述中心平台服务器接收来自算力需求方提交的计算任务和计算需求以及n个移动终端上传的各自的终端资源信息,将计算任务分解为子任务,结合计算需求、预设的调度策略和各个移动终端的终端资源信息生成调度方案,并基于该调度方案将子任务下发至对应的移动终端;接收到子任务的移动终端进行子任务计算,得到子任务计算结果,并将该子任务计算结果上传至中心平台服务器;中心平台服务器对接收的子任务计算结果进行整合、汇总,得到最终的任务计算结果。
3、优选的,所述移动终端为移动设备和/或可提供计算支持的车辆。
4、优选的,所述预设的调度策略包括:根据中心平台服务器与n个移动终端的位置坐标,计算得到中心平台服务器与n个移动终端的距离信息。根据n个移动终端上传的各自的终端资源信息,计算得到各个移动终端的性能指标。在生成调度方案时,基于所述距离信息和所述性能指标,选择执行子任务(即进行子任务计算)的移动终端。算力需求方所提交的计算任务对任务计算的完成时间有着不同的要求(即计算需求),而并行计算系统的任务完成时间主要受中心平台服务器与移动终端的数据传输时间以及移动终端的硬件配置所影响。因此,在生成调度方案时,基于所述距离信息和所述性能指标,选择执行子任务的移动终端。
5、优选的,在生成调度方案时,基于所述距离信息和所述性能指标,选择执行子任务的移动终端的具体方式包括:
6、第一步、获取算力需求方提交的计算需求,然后执行第二步。
7、第二步、判断是否计算需求要求高性能,如果是,则执行第六步,否则执行第三步。
8、第三步、判断是否计算需求要求近距离,如果是,则执行第四步,否则执行第五步。
9、第四步、选择距离近的移动终端作为执行子任务的移动终端,然后执行第九步。
10、第五步、随机选择移动终端作为执行子任务的移动终端,然后执行第九步。
11、第六步、判断是否计算需求要求近距离,如果是,则执行第七步,否则执行第八步。
12、第七步、选择性能高且距离近的移动终端作为执行子任务的移动终端,然后执行第九步。
13、第八步、选择性能高的移动终端作为执行子任务的移动终端,然后执行第九步。
14、第九步、返回移动终端选择列表,然后结束。
15、由算力需求方提交计算需求(即进行近距离、高性能选择)将有助于满足对计算效率有不同要求的算力需求方。
16、优选的,所述预设的调度策略包括:中心平台服务器下发子任务后,实时监测该子任务的计算状态,如果该子任务计算失败,则将该子任务重新加入到子任务下发队列中,再次下发给当前可用的移动终端进行计算。并行计算任务在计算过程中由于网络传输以及移动终端的不稳定性,容易导致计算任务的计算失败,中心平台服务器及移动终端有心跳包传输,中心平台服务器可以监控移动终端的连接情况,当移动终端失去连接时,中心平台服务器能及时发现任务计算的失败情况。因此,在子任务计算失败时,将子任务重新加入到子任务下发队列中,再次下发给当前可用的移动终端进行计算,可以保证计算任务的顺利完成。
17、优选的,所述预设的调度策略包括:
18、当n大于或等于预设的数量阈值时,将同一子任务复制形成m个相同的子任务,将m个相同的子任务一一对应下发至m个移动终端进行子任务计算。只要接收到一个以上子任务计算结果,就向其余还未完成该子任务计算的移动终端发送终止计算命令,接收到终止计算命令的移动终端停止进行该子任务计算。其中,m=a*n,a的取值范围为0.4%~0.6%。通过增加移动终端进行子任务的多重计算,牺牲一定的计算资源来保证任务计算的成功率,在实际使用的过程中,其能使任务计算成功率达到99%。
19、优选的,所述预设的数量阈值大于或等于10000,所述a=0.5%。
20、优选的,所述预设的调度策略包括:将子任务相关的所有信息加入到消息队列,消息队列作为一个缓存单元将计算任务分解为子任务以及子任务下发到移动终端这两个操作隔离开。当大量接入并行计算系统的移动终端短时间内访问中心平台服务器时,对中心平台服务器的吞吐量具有极大的挑战,引入消息队列可以解决中心平台服务器在任务分发过程中由于高并发所导致的系统压力问题,减轻中心平台服务器下发任务时的压力。
21、本发明具有如下效果:
22、(1)中心平台服务器负责对计算任务进行调度,移动终端作为计算单元,负责对中心平台服务器下发的子任务进行计算并返回计算结果给中心平台服务器进行整合,有助于节约资源,不仅提高了移动终端的计算利用率,而且提升了算力需求方的用户体验。
23、(2)基于移动终端与中心平台服务器的距离以及移动终端的计算性能,进行移动终端选择,可以针对不同需求的计算任务选择合适的移动终端进行计算,有助于提高并行计算系统的计算效率,满足算力需求方的不同使用要求。
24、(3)通过子任务计算失败时的重新分发,或者m个移动终端基于相同的子任务进行计算,有助于提高并行计算系统的容错能力。
25、(4)消息队列机制的引入有助于实现大量移动终端与中心平台服务器交互过程中的流量削峰,提升中心平台服务器的稳定性。
1.一种基于移动终端的并行计算系统,包括中心平台服务器(1)和与中心平台服务器(1)进行无线通讯的n个移动终端(2),其特征在于:
2.根据权利要求1所述的基于移动终端的并行计算系统,其特征在于:所述移动终端(2)为移动设备和/或可提供计算支持的车辆。
3.根据权利要求1所述的基于移动终端的并行计算系统,其特征在于:所述预设的调度策略包括:
4.根据权利要求3所述的基于移动终端的并行计算系统,其特征在于:在生成调度方案时,基于所述距离信息和所述性能指标,选择执行子任务的移动终端的具体方式包括:
5.根据权利要求3所述的基于移动终端的并行计算系统,其特征在于:所述预设的调度策略包括:中心平台服务器(1)下发子任务后,实时监测该子任务的计算状态,如果该子任务计算失败,则将该子任务重新加入到子任务下发队列中,再次下发给当前可用的移动终端进行计算。
6.根据权利要求3所述的基于移动终端的并行计算系统,其特征在于:所述预设的调度策略包括:
7.根据权利要求6所述的基于移动终端的并行计算系统,其特征在于:所述预设的数量阈值大于或等于10000,所述a=0.5%。
8.根据权利要求1至7任一项所述的基于移动终端的并行计算系统,其特征在于:所述预设的调度策略包括:将子任务相关的所有信息加入到消息队列,消息队列作为一个缓存单元将计算任务分解为子任务以及子任务下发到移动终端这两个操作隔离开。