通信域的集中式管理方法技术

技术编号:27771854 阅读:19 留言:0更新日期:2021-03-23 12:50
本发明专利技术公开了一种通信域的集中式管理方法,创建通信域数据结构;通信域的根进程向全局主进程发起申请,全局主进程收到申请后分配管理索引;全局主进程收从资源列表中读取资源信息,通过通信优化策略从资源列表中选择生成可用资源信息,并通知根进程;将生成可用资源信息加入全局通信域队列中;用户发起消息,运行时库使用本进程通信域队列中的可用资源信息读写数据和通信;发送消息后,运行时库通过轮询本进程通信域队列中消息状态,状态异常的消息触发容错流程。本发明专利技术将创建的通信域进行集中式管理的机制,有助于提高物理和软件资源利用效率,在通信域的数据结构中添加可用资源信息,帮助用户实现资源的高效利用和对程序运行状态的查询。

【技术实现步骤摘要】
通信域的集中式管理方法
本专利技术属于通信系统领域,尤其涉及一种通信域的集中式管理方法。
技术介绍
在并行程序中,集合通信消息需要使用通信域(用户发起消息时指示的通信范围)限定信息交换的范围,为进入下一阶段的运算做准备;在点对点消息中,通信域也常被用于标识计算进程的相对位置,对程序编写的可读性都有帮助,因此通信域在并行程序的开发和运行都起到关键的作用。用户发起消息操作需要给出相应的消息范围,例如广播操作中接受数据的进程集合等,在编程框架中通常使用通信域这一数据结构支持用户对消息范围的限定。通信域的创建和删除,由并行编程框架向用户提供通信域划分和进程位置读取等操作。以并行程序中典型的MPI为例,和通信域comm相关的接口主要有三类:1)创建与销毁:MPI_Comm_create、MPI_Comm_dup、MPI_Comm_free等;2)分割与合并:MPI_Comm_split、MPI_Comm_split_type、MPI_Intercomm_merge等;3)配置与读取信息:MPI_Comm_rank、MPI_Comm_set_name等。在MPI中,通信域的创建和维护完全交给应用程序的开发者,对于基本的消息操作能够满足用户需求,例如:1)在广播集合的使用中,接口要求传入通信域参数comm:intMPI_Bcast(void*buffer,intcount,MPI_Datatypedatatype,introot,MPI_Commcomm);既可以是由编程框架预创建的全局通信域MPI_COMM_WOTLD,也可能是由用户使用MPI_Comm_create、MPI_Comm_dup、MPI_Comm_split等接口从MPI_COMM_WOTLD依据一定的特征值(接口中的color、key)划分得来的自定义通信域newcomm:MPI_Comm_split(MPI_COMM_WOTLD,color,key,newcomm);2)在点对点消息的使用时,通过通信域comm和相对进程号dest配合给出目标方的位置:intMPI_Send(constvoid*buf,intcount,MPI_Datatypedatatype,intdest,inttag,MPI_Commcomm);intMPI_Recv(void*buf,intcount,MPI_Datatypedatatype,intsource,inttag,MPI_Commcomm,MPI_Status*status);在实际使用中,即使相同的进程号,在不同的通信域的限定下可以更灵活的体现出不同的消息模式。在当前常见的并行编程框架下,通信域的创建、使用和销毁基本交由用户进行操作(全局通信域通常由运行时库负责申请和销毁),以满足用户的基本消息功能需求。但是在实际应用中,用户创建和划分通信域往往是依据拓扑结构等物理资源相关的特征,与通信域有关的可能有网络端口资源、链路资源、共享存储资源;也可能是与特定进程相关的软件标识等,例如进程的任务完成度、任务分配属性、通信畅通状态、执行权限等。在现有并行编程框架对通信域的支持下,并不能对这些物理和软件资源进行很好的管理和维护。对用户而言,不同的通信域之间无法进行关联,即使他们是按照对应的特征进行划分。除此之外,并行程序的集合通信过程完全由通信域限定通信范围,但是非阻塞集合通信的存在使得同一进程可能在同一时刻同一通信范围参与多次集合通信,对用户而言掌握大规模并行程序中各进程所有集合通信的状态是非常困难的事情。
技术实现思路
本专利技术目的在于提供一种通信域的集中式管理方法,以解决多个通信域之间无法进行关联,资源无法合理高效利用的问题,并为通信域相关的软件状态管理提供支持。为达到上述目的,本专利技术采用的技术方案是:一种通信域的集中式管理方法,包括以下步骤,S1、用户程序在发起集合操作之前指定集合操作范围{P0,P1...,Pn},创建通信域数据结构;S2、通信域的根进程P0向用户程序的全局主进程发起申请,全局主进程收到申请后分配管理索引;S3、全局主进程从资源列表中读取资源信息,检查是否存在资源信息冲突或不足;如果不存在冲突资源信息,则基于通信优化策略从资源列表中选择生成可用资源信息,并通知根进程P0;若存在资源冲突或不足,用户程序通过屏幕输出方式向用户报告,并分配资源保障可用性;S4、全局主进程更新全局通信域队列;S5、通信域的根进程P0收到分配管理索引和可用资源信息后,在通信域内进行广播;通信域内进程收到广播后,将通信域加入存储在当前进程的本进程通信域队列;S6、用户发起消息,运行时库使用本进程通信域队列中的可用资源信息读写数据和通信;S7、用户发送消息后,运行时库通过轮询本进程通信域队列中消息状态,状态异常的消息触发容错流程。1.上述方案中,所述资源列表为网卡、端口、链路和共享存储空间。由于上述技术方案的运用,本专利技术与现有技术相比具有下列优点:1)本专利技术通信域的集中式管理方法,将创建的通信域进行集中式管理的机制,有助于提高物理和软件资源利用效率,通过在通信域的数据结构中添加对应的可用资源信息以及在该通信域中正在发生的集合消息的相关信息,帮助用户实现资源的高效利用和对程序运行状态的查询。2)本专利技术通信域的集中式管理方法,由并行编程框架负责,在运行时库实现的由全局主进程为通信域维护唯一的管理索引,并分配可用资源信息的机制。3)本专利技术通信域的集中式管理方法,进程以通信域为单位,通过轮询通信域队列管理消息和资源状态,以提高消息通信效率和可靠性的机制,同时能够帮助为用户提供集合操作的状态查询支持。附图说明附图1为本专利技术的流程图;附图2为图1的简图。具体实施方式在本专利的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制;术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性;此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利的具体含义。一种通信域的集中式管理方法,如图1和2所示,包括以下步骤,S1、用户程序在发起集合操作之前指定集合操作范围{P0,P1...,Pn},创建通信域数据结构;S2、通信域的根进程P0向用户程序的全局主进程发起申请,全局主进程收本文档来自技高网
...

【技术保护点】
1.一种通信域的集中式管理方法,其特征在于:包括以下步骤,/nS1、用户程序在发起集合操作之前指定集合操作范围{P0,P1...,Pn},创建通信域数据结构;/nS2、通信域的根进程P0向用户程序的全局主进程发起申请,全局主进程收到申请后分配管理索引;/nS3、全局主进程从资源列表中读取资源信息,检查是否存在资源信息冲突或不足;如果不存在冲突资源信息,则基于通信优化策略从资源列表中选择生成可用资源信息,并通知根进程P0;若存在资源冲突或不足,用户程序通过屏幕输出方式向用户报告,并分配资源保障可用性;/nS4、全局主进程更新全局通信域队列;/nS5、通信域的根进程P0收到分配管理索引和可用资源信息后,在通信域内进行广播;通信域内进程收到广播后,将通信域加入存储在当前进程的本进程通信域队列;/nS6、用户发起消息,运行时库使用本进程通信域队列中的可用资源信息读写数据和通信;/nS7、用户发送消息后,运行时库通过轮询本进程通信域队列中消息状态,状态异常的消息触发容错流程。/n

【技术特征摘要】
1.一种通信域的集中式管理方法,其特征在于:包括以下步骤,
S1、用户程序在发起集合操作之前指定集合操作范围{P0,P1...,Pn},创建通信域数据结构;
S2、通信域的根进程P0向用户程序的全局主进程发起申请,全局主进程收到申请后分配管理索引;
S3、全局主进程从资源列表中读取资源信息,检查是否存在资源信息冲突或不足;如果不存在冲突资源信息,则基于通信优化策略从资源列表中选择生成可用资源信息,并通知根进程P0;若存在资源冲突或不足,用户程序通过屏幕输出方式向用户报告,并分配资源保障可用性;<...

【专利技术属性】
技术研发人员:于康方燕飞董恩铭李雁冰何王全漆锋滨
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:江苏;32

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

1