【技术实现步骤摘要】
本申请涉及测试
,特别是涉及一种支持多线程调用MPI函数的方法和装置。
技术介绍
云计算(云计算一种通过计算机网络以服务的方式提供动态可伸缩的虚拟化的资源的计算模式)程序的种类可分为并行程序无通信类型,和并行程序有通信类型。对于并行程序无通信类型,该计算(通常称为作业)的每个进程(即每个子任务),可以在任何时候启动,不需要和其他子任务同时启动,因为子任务间不需通信,每个子任务处理完自己的计算就可以直接结束。因此云计算平台调度器可以在不同时间调度不同的子任务,处理这种调度需求的调度方式称为任务级调度。对于并行程序有通信类型,由于该计算(即作业)的每个子任务都需要互相通信,因此需要等全部子任务都启动以后,才能开始计算。也即需要云计算平台当前拥有能启动该作业的所有子任务的资源后,才能将这个作业启动,否则,需要等到其他作业计算完毕,释放出足够资源,才能启动该作业。处理这种调度需求的调度方式称为作业级调度。MPI (Message Passing Interface,讯息传递接口;一种消息传递编程接口,同时提供了实现其一系列接口的多语言函数库)是云计算集群上常用的消 ...
【技术保护点】
一种支持多线程调用MPI函数的方法,其特征在于,包括:针对云计算中的一个计算服务器,当所述计算服务器执行一任务时,若所述计算服务器中的线程发送各自的MPI调用请求调用OpenMPI库中的MPI函数,将所述各MPI调用请求进行统一的排序操作;按所述排序操作后的顺序,逐个调用所述MPI调用请求对应的MPI函数进行操作。
【技术特征摘要】
1.一种支持多线程调用MPI函数的方法,其特征在于,包括 针对云计算中的一个计算服务器,当所述计算服务器执行一任务时,若所述计算服务器中的线程发送各自的MPI调用请求调用OpenMPI库中的MPI函数,将所述各MPI调用请求进行统一的排序操作; 按所述排序操作后的顺序,逐个调用所述MPI调用请求对应的MPI函数进行操作。2.根据权利要求1所述的方法,其特征在于,还包括 针对OpenMPI库构建一个队列;针对OpenMPI库中的每个MPI函数构建相应的封装函数;所述队列和所述封装函数用于当所述计算服务器执行一任务时,若所述计算服务器中的线程发送各自的MPI调用请求调用OpenMPI库中的MPI函数,将所述各MPI调用请求进行统一的排序操作。3.根据权利要求1所述的方法,其特征在于,所述当所述计算服务器中的线程发送各自的MPI调用请求调用OpenMPI库中的MPI函数时,将所述各MPI调用请求进行统一的排序操作包括 针对各线程发送的对于一 MPI函数的MPI调用请求,所述MPI函数对应的封装函数拦截所述MPI调用请求,并根据所述MPI调用请求处理为第一请求,再将所述第一请求放入所述队列中。4.根据权利要求3所述的方法,其特征在于,所述MPI函数对应的封装函数拦截所述MPI调用请求,根据所述MPI调用请求处理为第一请求,再将所述第一请求放入所述队列中包括 通过所述MPI封装函数拦截所述MPI调用请求; 将所述MPI调用请求的参数以及对应的MPI函数封装进一结构体中; 将所述结构体作为第一请求放入所述队列。5.根据权利要求3所述的方法,其特征在于,还包括 构建一个生命周期等于或者大于所述任务生命周期的收发线程;所述收发线程用于按所述排序操作后的顺序,逐个调用所述MPI调用请求对应的MPI函数进行操作。6.根据权利要求5所述的方法,其特征在于,所述按所述排序操作后的顺序,逐个调用所述MPI调用请求对应的MPI函数进行操作包括 通过所述收发线程从所述队列中按序读取MPI调用请求,并根据请求内容调用相应的MPI函数进行操作。7.根据权利要求2或3所述的方法,其特征在于, ...
【专利技术属性】
技术研发人员:何锐邦,唐会军,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。