一种基于嵌入式操作系统的MPI实现系统和方法技术方案

技术编号:17387603 阅读:44 留言:0更新日期:2018-03-04 12:41
本发明专利技术公开了一种基于嵌入式操作系统的MPI实现系统和方法,所述MPI实现系统包括应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPI API接口;所述进程处理模块,接收用户调用所述MPI应用程序的命令,根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务。本发明专利技术将MPI并行编程平台引入到嵌入式操作系统中,搭建了嵌入式MPI并行应用开发平台,提高了嵌入式操作系统上应用程序的运行速度。

A MPI implementation system and method based on embedded operating system

The invention discloses a system and a method for realizing the embedded operating system MPI based on the realization of the system includes application layer, MPI layer and MPI layer of the operating system; the application layer of the MPI application is allocated in the application of one or more MPI nodes; MPI API interface of the MPI layer includes call processing module, process, function and basic library for the MPI application; the processing module, receives the user calls the MPI application command, according to the command to start the application, service function and the basic function of library calls the operating system of embedded real-time operating system the control layer, wherein one or more MPI nodes to execute and complete each node on the MPI application of corresponding sub task. The MPI parallel programming platform is introduced into the embedded operation system, and the embedded MPI parallel application development platform is built, which improves the running speed of the application program on the embedded operation system.

【技术实现步骤摘要】
一种基于嵌入式操作系统的MPI实现系统和方法
本专利技术涉及通信领域,尤其涉及一种基于嵌入式操作系统的MPI实现系统和方法。
技术介绍
MPI基础性研究对于嵌入式计算机通信领域具有重大的意义,但是目前对于MPI的具体实现的研究并不多,在当前的计算机通信的具体运算方面,例如针对规模庞大、运算复杂的应用,现基本采用如下处理方式:采用性能更高的处理器设备,使用多线程并行处理方式,和/或优化算法或更换高级算法。现有各种处理方式,都存在一定的不足或缺陷,其具体的体现如下:处理器设备的更新换代速度,远赶不上现实社会的需求变化,更何况处理器的更新换代会受制造工艺、设备功耗、结构设计等各方面影响,性能提升会受制约。采用多线程编程技术,充分利用现代硬件处理能力,缩短运算时间。但单台处理器上,受处理器实际物理核数量限制,未必线程越多,性能提升越大。只有线程数量与实际核数一致,整体运算性能最佳。未必所有算法都可以优化,优化效果未必明显。研究高级算法需要时间,与实际应用未必相符。可见,现有技术中存在如下技术问题:大型的应用程序在运行时,对处理器设备的的硬件要求较高,且应用程序对应的任务数量如果大于处理器实际的物理核数时,必须分时处理,这样应用程序的运行耗时就会较长。
技术实现思路
为了现有技术中存在的上述技术问题,本专利技术实施例提供了一种基于嵌入式操作系统的MPI实现系统和方法,可将规模庞大、运算复杂的计算,按照特定算法,将计算过程分为多段,通过MPI将其中的一段或多段分发至多个MPI运行节点(每个节点可以是一独立计算机)单独计算,计算结果由MPI统一呈现。分发和结果汇总由MPI自动完成,无需人为干预。与现有技术相比,基于嵌入式操作系统的MPI实现系统和方法降低了对计算机的处理器的硬件要求,支持多线程并发处理,且提高了应用程序的运行速度,并且扩展性好。第一方面,本专利技术一实施例提供了一种基于嵌入式操作系统的MPI实现系统,所述通信系统包括:应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPIAPI接口;所述进程处理模块,用于接收用户调用所述MPI应用程序的命令;所述进程处理模块,还用于根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务。可选的,所述进程处理模块具体包括:运行在所述一个或多个MPI节点中的每个MPI节点上的进程启动器、服务器、子进程启动器和进程管理器;所述一个或多个MPI节点中任一节点中的进程启动器,用于根据接收到的用户调用应用层的MPI应用程序的命令,向所述每个MPI节点的服务器发出服务连接请求并建立与所述MPI每个节点上的服务器之间的通信连接;所述每个MPI节点上的服务器,用于根据接收到的所述服务连接请求,调出对应节点上的子进程启动器;所述每个MPI节点上的子进程启动器,用于调出与对应节点上的进程管理器;所述每个MPI节点上的进程管理器,用于启动自身节点上的MPI应用程序对应的子任务,并通过所述基础功能库调用操作系统层嵌入式实时操作系统的服务功能,控制自身所在的MPI节点执行并完成自身节点上的MPI应用程序对应的子任务。可选的,所述每个MPI节点上的服务器,具体用于:在所述进程启动器与所述MPI每个节点上的服务器之间建立通信连接后,根据接收到的所述服务连接请求,接收所述进程启动器发送的所述MPI应用程序的参数;所述每个MPI节点上的服务器调出所述MPI中的子进程启动器并将所述MPI应用程序的参数发送至与自身对应的子进程启动器。可选的,所述接收到的用户调用应用层的MPI应用程序的命令的进程管理器,用于汇总所述每个MPI节点上的子任务的执行结果并获得所述MPI应用程序的运行结果。可选的,所述每个MPI节点上的进程管理器,具体用于:创建自身所在的MPI节点上的子任务的进程,该进程直接调用所述嵌入式实时操作系统的服务功能或者该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,从而完成该节点上的MPI应用程序对应的子任务。可选的,该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,包括:该进程通过调用MPI_Send、MPI_Bsend、MPI_Ssend、MPI_Isend、MPI_Ibsend和MPI_Issend接口中的一个或多个将特定的数据发送到指定节点的指定进程的进程,以实现进程之间的点对点通信;或者该进程通过调用MPI_Recv和MPI_Irecv接口中的一个或多个接收从指定MPI节点的指定进程发送过来的数据,以实现进程之间的点对点通信。可选的,该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,包括:该进程通过调用MPI_Win_create接口使用远程存储功能;或者该进程通过调用MPI_Win_lock/MPI_Win_unlock接口对被访问的创建进行加锁和解锁;或者该进程通过调用MPI_Put将数据推送至服务器上;或者该进程通过调用MPI_Get从服务器上获取数据。第二方面,本专利技术一实施例提供了一种基于嵌入式操作系统的MPI实现方法,应用于通信系统,所述通信系统包括应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPIAPI接口;所述方法包括:所述进程处理模块,接收用户调用所述MPI应用程序的命令;所述进程处理模块,根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务。可选的,所述MPI层还包括运行在所述一个或多个MPI节点中的每个MPI节点上的进程启动器、服务器、子进程启动器和进程管理器;所述进程处理模块,根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务,包括:所述一个或多个MPI节点中任一节点中的进程启动器,用于根据接收到的用户调用应用层的MPI应用程序的命令,向所述每个MPI节点的服务器发出服务连接请求并建立与所述MPI每个节点上的服务器之间的通信连接;所述每个MPI节点上的服务器,用于根据接收到的所述服务连接请求,调出对应节点上的子进程启动器;所述每个MPI节点上的子进程启动器,用于调出与对应节点上的进程管理器;所述每个MPI节点上的进程管理器,用于启动自身节点上的MPI应用程序对应的子任务,并通过所述基础功能库调用操作系统层嵌入式实时操作系统的服务功能,控制自身所在的MPI节点执行并完成自身节点上的MPI应用程序对应的子任务。可选的,所述每个MPI节点上的服务器根据接收到的所述服务连接请求,调出对应节点上的子进程启动器,包括:在所述进程启动器与所述MPI每个节点上的服务器之间建立通信连接本文档来自技高网...
一种基于嵌入式操作系统的MPI实现系统和方法

【技术保护点】
一种基于嵌入式操作系统的消息传递接口MPI实现系统,其特征在于,所述MPI实现系统包括:应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPI API接口;所述进程处理模块,用于接收用户调用所述MPI应用程序的命令;所述进程处理模块,还用于根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务。

【技术特征摘要】
1.一种基于嵌入式操作系统的消息传递接口MPI实现系统,其特征在于,所述MPI实现系统包括:应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPIAPI接口;所述进程处理模块,用于接收用户调用所述MPI应用程序的命令;所述进程处理模块,还用于根据所述命令,启动所述应用程序,并通过所述基础功能库调用所述操作系统层的嵌入式实时操作系统的服务功能,控制所述一个或多个MPI节点执行并完成各自节点上的MPI应用程序对应的子任务。2.如权利要求1所述的MPI实现系统,其特征在于,所述进程处理模块具体包括:运行在所述一个或多个MPI节点中的每个MPI节点上的进程启动器、服务器、子进程启动器和进程管理器;所述一个或多个MPI节点中任一节点中的进程启动器,用于根据接收到的用户调用应用层的MPI应用程序的命令,向所述每个MPI节点的服务器发出服务连接请求并建立与所述MPI每个节点上的服务器之间的通信连接;所述每个MPI节点上的服务器,用于根据接收到的所述服务连接请求,调出对应节点上的子进程启动器;所述每个MPI节点上的子进程启动器,用于调出与对应节点上的进程管理器;所述每个MPI节点上的进程管理器,用于启动自身节点上的MPI应用程序对应的子任务,并通过所述基础功能库调用操作系统层嵌入式实时操作系统的服务功能,控制自身所在的MPI节点执行并完成自身节点上的MPI应用程序对应的子任务。3.如权利要求2所述的MPI实现系统,其特征在于,所述每个MPI节点上的服务器,具体用于:在所述进程启动器与所述MPI每个节点上的服务器之间建立通信连接后,根据接收到的所述服务连接请求,接收所述进程启动器发送的所述MPI应用程序的参数;所述每个MPI节点上的服务器调出所述MPI中的子进程启动器并将所述MPI应用程序的参数发送至与自身对应的子进程启动器。4.如权利要求3所述的MPI实现系统,其特征在于:所述接收到的用户调用应用层的MPI应用程序的命令的进程管理器,用于汇总所述每个MPI节点上的子任务的执行结果并获得所述MPI应用程序的运行结果。5.如权利要求2-4任一项所述的MPI实现系统,其特征在于,所述每个MPI节点上的进程管理器,具体用于:创建自身所在的MPI节点上的子任务的进程,该进程直接调用所述嵌入式实时操作系统的服务功能或者该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,从而完成该节点上的MPI应用程序对应的子任务。6.如权利要求1中所述的MPI实现系统,其特征在于,该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,包括:该进程通过调用MPI_Send、MPI_Bsend、MPI_Ssend、MPI_Isend、MPI_Ibsend和MPI_Issend接口中的一个或多个将特定的数据发送到指定节点的指定进程的进程,以实现进程之间的点对点通信;或者该进程通过调用MPI_Recv和MPI_Irecv接口中的一个或多个接收从指定MPI节点的指定进程发送过来的数据,以实现进程之间的点对点通信。7.如权利要求1中所述的MPI实现系统,其特征在于,该进程通过MPIAPI接口调用所述嵌入式实时操作系统上的所述基础功能库的服务功能,包括:该进程通过调用MPI_Win_create接口使用远程存储功能;或者该进程通过调用MPI_Win_lock/MPI_Win_unlock接口对被访问的创建进行加锁和解锁;或者该进程通过调用MPI_Put将数据推送至服务器上;或者该进程通过调用MPI_Get从服务器上获取数据。8.一种基于嵌入式操作系统的MPI实现方法,应用于通信系统,其特征在于,所述通信系统包括应用层、MPI层和操作系统层;所述应用层的MPI应用程序是分配在一个或多个MPI节点的应用程序;所述MPI层包括、进程处理模块、基础功能库和供所述MPI应用程序调用的MPIAPI接口;所述方法包括:所述进程处理模块,接收用户调用所述MP...

【专利技术属性】
技术研发人员:汪艳红
申请(专利权)人:北京东土科技股份有限公司
类型:发明
国别省市:北京,11

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

1