基于轻量级虚拟机的并行计算方法、装置及系统制造方法及图纸

技术编号:15690660 阅读:84 留言:0更新日期:2017-06-24 03:14
本发明专利技术公开了基于轻量级虚拟机的并行计算方法、装置及系统,方法包括:接收计算请求并将该计算请求放入任务队列中;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;根据查询请求查询所有计算节点的状态信息;所述状态信息包括可用于计算和不可用于计算;根据计算节点的状态信息将计算数据和代码发送至可用于计算的计算节点,使所有可用于计算的计算节点对应的轻量级虚拟机同步运行代码进行计算。本发明专利技术的代码可以重用,编程复杂度低,执行效率高。

Parallel computing method, device and system based on lightweight virtual machine

The invention discloses a method, device and system, parallel lightweight virtual machine based on the method includes: receiving a request and calculation the calculation request into the task queue; at least one calculation request containing the task queue, all the calculation task requests in a queue according to the order calculation request time in sequence; the calculation request including the calculation of data and code; according to the state information query query all computing nodes; the state includes information can be used to calculate and can be used to calculate; according to the state information computing node will send data to calculate and code can be used to calculate the node calculation, the lightweight virtual machine all nodes can be used to calculate the the corresponding operation code synchronization calculation. The code of the invention can be reused, has low programming complexity and high execution efficiency.

【技术实现步骤摘要】
基于轻量级虚拟机的并行计算方法、装置及系统
本专利技术涉及计算机领域,尤其涉及基于轻量级虚拟机的并行计算方法、装置及系统。
技术介绍
21世纪是信息化的时代,由于传感技术和通信网络的发展、数据收集和存储的规模在飞速增大,如何从海量数据中挖据出有效的信息是当前的研究热点。目前较为普遍的方案是采用集群系统和分布式框架来提高数据处理的效率。并行计算是提高计算机系统计算速度和处理能力的一种有效手段。并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,以及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解为若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台独立计算机构成的集群。MPI(信息传递接口)是目前开发并行应用程序的主要编程模型,消息传递编程模型的事实标准。MPI存在的问题是,针对不同的并行算法,需要重写数据分配、通信等细节,代码重用率低,机器扩展性能差,对编程人员的要求高,且优化和调试成本高。MapReduce是谷歌提出的一种并行化编程框架,其通过简单的编程模型,使得用户从编写底层程序中解放出来,只需将注意力放在上层应用。然而用户很难对复杂数据进行处理,用于不得不编写大量的MapReduce任务,往往导致执行效率低下。尤其在迭代过程中,Map和Reduce会频繁进行序列化和反序列化操作,这些操作导致了较高的输入和输出开销。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供基于轻量级虚拟机的并行计算方法,其能解决现有技术中执行效率低、复杂度高的问题。本专利技术的目的之二在于提供基于轻量级虚拟机的并行计算装置,其能解决本专利技术的目的之一。本专利技术的目的之三在于提供基于轻量级虚拟机的并行计算系统,其解决现有技术中执行效率低、复杂度高的问题。本专利技术的目的之一采用以下技术方案实现:基于轻量级虚拟机的并行计算方法,包括如下步骤:S1:接收计算请求并将该计算请求放入任务队列中,并向控制节点发送查询请求;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;S2:根据查询请求查询所有计算节点的状态信息;所述状态信息包括可用于计算和不可用于计算;S3:根据计算节点的状态信息将计算数据和代码发送至可用于计算的计算节点,使所有可用于计算的计算节点对应的轻量级虚拟机同步运行代码进行计算。优选的,S1中,计算数据和代码由用户输入。优选的,S1中,根据任务队列中排在首位的计算请求向控制节点发送查询请求。优选的,所述状态信息还包括错误。优选的,S3中,可用于计算的计算节点对应的轻量级虚拟机运行代码进行计算包括如下步骤:Sa:接收计算数据和代码;Sb:从计算数据中提取并行算法以及所需计算的数据;Sc:判断是否提取成功,若是,则根据并行算法编译对应的轻量级虚拟机,否则返回Sb;Sd:判断是否编译成功,若是,则使对应的轻量级虚拟机进行计算,并将计算结果返回至服务节点,否则,重新根据并行算法编译轻量级虚拟机。本专利技术的目的之二采用以下技术方案实现:基于轻量级虚拟机的并行计算装置,包括接收单元:用于接收计算请求并将该计算请求放入任务队列中,并向控制节点发送查询请求;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;查询单元:用于根据查询请求查询所有计算节点的状态信息;所述状态信息包括可用于计算和不可用于计算;计算单元:用于根据计算节点的状态信息将计算数据和代码发送至可用于计算的计算节点,使所有可用于计算的计算节点对应的轻量级虚拟机同步运行代码进行计算。优选的,计算请求来自客户端,且该客户端中的计算数据和代码由用户输入。优选的,接收单元根据任务队列中排在首位的计算请求向控制节点发送查询请求。优选的,所述状态信息还包括错误。本专利技术的目的之三采用以下技术方案实现:基于轻量级虚拟机的并行计算系统,包括客户端、控制管理器、数据库、服务管理器、轻量级虚拟机,所述客户端用于发送计算请求至服务管理器;所述计算请求包括计算数据和代码;所述服务管理器用于将计算请求放入任务队列中,并向控制管理器发送查询请求,使控制管理器根据查询请求查询所有计算节点的状态信息;服务管理器还根据来自控制管理器的状态信息将计算数据和代码发送至可用于计算的计算节点;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照服务管理器接收到计算请求的时间的先后顺序依次排列;状态信息包括可用于计算和不可用于计算;数据库用于存储控制管理器所查询的计算节点的状态信息;轻量级虚拟机应用于计算节点中,计算节点用于接收来自服务管理器的计算请求,使对应的轻量级虚拟机同步运行代码进行计算。相比现有技术,本专利技术的有益效果在于:本专利技术的代码可以重用,编程复杂度低,面对复杂的计算任务不用编写大量MapReduce任务,并行计算代码从客户端传送到计算节点,再编译轻量级虚拟机,执行效率高。附图说明图1为本专利技术的基于轻量级虚拟机的并行计算方法的流程图。图2为本专利技术的基于轻量级虚拟机的并行计算系统的结构图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述:本专利技术提供一种基于轻量级虚拟机的并行计算方法,其中,本专利技术所指的轻量级虚拟机是指contiki系统编译出来的轻量级虚拟机,contiki是采用c语言开发的非常小型的嵌入式操作系统,在编译过程中可以在其中嵌入不同的代码。轻量级虚拟机可以自动创建、复制、迁移、删除、并根据嵌入代码实现不同的功能。本专利技术将轻量级虚拟机应用在计算节点,可以灵活处理复制的计算任务,不需要处理消息传递、代码可以重用,编译复杂度低,不同机器容易扩展。面对复杂的计算任务时,不用编写大量的MapReduce任务,并行计算代码从客户端传送到计算节点,再编译轻量级虚拟机,提高执行效率。参见图1所示,包括如下步骤:S1:接收计算请求并将该计算请求放入任务队列中;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;本专利技术的并行计算是从客户端开始,用户在客户端进行并行算法编程,也就是输入代码,并且输入计算数据,这里的代码也就是轻量级虚拟机嵌入代码。S1中的计算请求来自客户端,并且计算请求中的计算数据可代码由用户输入。根据客户端发送计算请求的时间对所有来自客户端的计算请求进行先后排序,并加入到任务队列中,也就是任务队列中的所有计算请求都是按时间顺序排列的。其中,计算请求中包含有客户端发送该计算请求至服务节点的时间。在本步骤中,实际是发送关于任务队列中排在首位的计算请求的查询请求。S2:根据查询请求查询所有计算节点的状态信息,并将该状态信息反本文档来自技高网
...
基于轻量级虚拟机的并行计算方法、装置及系统

【技术保护点】
基于轻量级虚拟机的并行计算方法,其特征在于,包括如下步骤:S1:接收计算请求并将该计算请求放入任务队列中;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;S2:根据查询请求查询所有计算节点的状态信息;所述状态信息包括可用于计算和不可用于计算;S3:根据计算节点的状态信息将计算数据和代码发送至可用于计算的计算节点,使所有可用于计算的计算节点对应的轻量级虚拟机同步运行代码进行计算。

【技术特征摘要】
1.基于轻量级虚拟机的并行计算方法,其特征在于,包括如下步骤:S1:接收计算请求并将该计算请求放入任务队列中;所述任务队列中包含至少一个计算请求,该任务队列中的所有计算请求按照计算请求的时间的先后顺序依次排列;计算请求包括计算数据和代码;S2:根据查询请求查询所有计算节点的状态信息;所述状态信息包括可用于计算和不可用于计算;S3:根据计算节点的状态信息将计算数据和代码发送至可用于计算的计算节点,使所有可用于计算的计算节点对应的轻量级虚拟机同步运行代码进行计算。2.如权利要求1所述的并行计算方法,其特征在于,S1中,计算数据和代码由用户输入。3.如权利要求1所述的并行计算方法,其特征在于,S1中,根据任务队列中排在首位的计算请求向控制节点发送查询请求。4.如权利要求1所述的并行计算方法,其特征在于,所述状态信息还包括错误。5.如权利要求1所述的并行计算方法,其特征在于,S3中,可用于计算的计算节点运行代码进行计算包括如下步骤:Sa:接收计算数据和代码;Sb:从计算数据中提取并行算法以及所需计算的数据;Sc:判断是否提取成功,若是,则根据并行算法编译对应的轻量级虚拟机,否则返回Sb;Sd:判断是否编译成功,若是,则使对应的轻量级虚拟机进行计算,并将计算结果返回至服务节点,否则,重新根据并行算法编译轻量级虚拟机。6.基于轻量级虚拟机的并行计算装置,其特征在于,包括接收单元:用于接收计算请求并将该计算请求放入任务队列中,并向控制节点发送查询请求;所述任务队列中包含至少一个计算请求,该任务队列中的所有计...

【专利技术属性】
技术研发人员:刘一强陆以勤覃健诚项来
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1