CN111367665B - A method and system for establishing a parallel communication route - Google Patents
A method and system for establishing a parallel communication route Download PDFInfo
- Publication number
- CN111367665B CN111367665B CN202010127096.3A CN202010127096A CN111367665B CN 111367665 B CN111367665 B CN 111367665B CN 202010127096 A CN202010127096 A CN 202010127096A CN 111367665 B CN111367665 B CN 111367665B
- Authority
- CN
- China
- Prior art keywords
- grid point
- parallel
- local
- receiving end
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种并行通信路由建立方法及系统,该方法包括:发送端和接收端为相同网格建立所有网格点的全局索引,各进程基于网格点全局索引构建网格点局部‑全局映射表;发送端/接收端对网格点局部‑全局映射表中的各项在发送端/接收端所有进程之间进行并行排序;发送端与接收端的进程进行协作,并行建立发送端‑接收端网格点映射关系表;发送端/接收端对发送端‑接收端网格点映射关系表的各项在发送端/接收端的所有进程之间进行并行排序;发送端与接收端的各进程根据进程局部的发送端‑接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。本发明能快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性。
The invention provides a method and system for establishing a parallel communication route. The method includes: a sending end and a receiving end establish a global index of all grid points for the same grid, and each process builds a local-global grid point based on the grid point global index Mapping table; the items in the local-global mapping table of the grid point by the sender/receiver are sorted in parallel among all the processes of the sender/receiver; the processes of the sender and the receiver cooperate to establish the sender-receiver in parallel End grid point mapping relationship table; the sending end/receiving end performs parallel sorting among all processes on the sending end/receiving end for the items in the sending end-receiving end grid point mapping relationship table; each process of the sending end and the receiving end is based on A process-local sender-receiver grid point mapping relationship table to generate the communication routing relationship between each process and the process corresponding to the receiver or sender. The invention can quickly establish a parallel communication routing relationship between numerical programs, is efficient and has parallel scalability.
Description
技术领域technical field
本发明涉及数值程序技术领域,具体涉及一种并行通信路由建立方法及系统。The invention relates to the technical field of numerical programs, in particular to a method and system for establishing a parallel communication route.
背景技术Background technique
地球系统模式是气候演变规律研究、未来气候预测和无缝隙数值预报所不可或缺的科学工具。它是一种复杂的综合数值程序,由分别模拟大气、陆面、海洋和海冰等地球系统圈层的分量模式通过耦合器的耦合而构成。地球系统模式的各分量模式均是基于格网的数值程序,即把要计算的区域(二维面或空间三维)划分为由若干互不重叠格点(原子区域)组成的计算网格,并在所有网格点上进行协同计算。对一个计算区域而言,划分出来的网格点越多,则模拟的分辨率越高,模拟过程的计算量也就越大。计算节点和处理器核越来越多的高性能计算机给很多应用程序的加速运行带来了机会,这也包括数值程序。为了在高性能计算机上取得较好的加速效果,数值程序需要被编写为高效的并行版本。MPI(MessagePassing Interface,消息传递接口)是一种被广泛使用的并行编程库,既可以在不同计算节点之间,也可以在同一计算节点内的不同处理器核之间实现并行计算。无论国内外,绝大多数地球系统模式分量模式都具备了基于MPI的并行版本。The Earth System Model is an indispensable scientific tool for the study of climate evolution, future climate prediction and seamless numerical prediction. It is a complex comprehensive numerical program consisting of the coupling of component modes that simulate the atmosphere, land surface, ocean, and sea ice layers of the Earth system, respectively, through couplers. Each component mode of the Earth System Model is a grid-based numerical program, that is, the area to be calculated (two-dimensional surface or three-dimensional space) is divided into calculation grids composed of several non-overlapping grid points (atomic areas), and Co-calculation is performed on all grid points. For a calculation area, the more grid points are divided, the higher the resolution of the simulation, and the greater the amount of calculation in the simulation process. The increasing number of high-performance computers with computing nodes and processor cores brings opportunities to accelerate the execution of many applications, including numerical programs. To achieve good speedups on high-performance computers, numerical programs need to be written as efficient parallel versions. MPI (MessagePassing Interface, message passing interface) is a widely used parallel programming library, which can realize parallel computing not only between different computing nodes, but also between different processor cores in the same computing node. Most Earth system model component models have parallel versions based on MPI, both at home and abroad.
在研制数值程序的并行版本时,首先需要把计算网格的不同网格点分派给不同进程(以下将网格点在不同进程上的分派称为并行剖分),以便进行并行计算。例如,表1、表2分别示出了同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分,各网格点中的数字表示进程编号。When developing a parallel version of a numerical program, it is first necessary to assign different grid points of the computational grid to different processes (hereinafter, the assignment of grid points to different processes is called parallel subdivision) for parallel computing. For example, Table 1 and Table 2 show the parallel division of the same 8×8 grid when 4 processes are used and the parallel division when 8 processes are used, and the number in each grid point represents the process number.
表1 8×8网格在使用4个进程时的并行剖分Table 1 Parallel division of 8×8 grid using 4 processes
表2 8×8网格在使用8个进程时的并行剖分Table 2 Parallel subdivision of 8×8 grid using 8 processes
由于地球系统模式中不同分量模式之间相互耦合,耦合变量会从一个分量模式传递到另一个分量模式,这个过程的本质就是针对耦合变量的MPI通信,该过程通常由两个步骤实现:1)根据同一网格在两个分量模式中的并行剖分,建立分量模式间的并行通信路由关系,例如,表1中的1号进程需要把位于网格右上角网格点上的耦合变量数据传递给表2中的7号进程;2)在耦合过程中,根据已建立的通信路由关系,完成分量模式间针对若干变量的并行通信。由于并行通信路由可在分量模式间频繁的耦合过程中保持不变,因此两个并行剖分之间的并行通信路由通常仅需建立一次。Due to the mutual coupling between different component modes in the Earth system model, the coupled variable will be transferred from one component mode to another component mode. The essence of this process is MPI communication for coupled variables, which is usually implemented in two steps: 1) According to the parallel division of the same grid in two component modes, the parallel communication routing relationship between the component modes is established. For example, the No. 1 process in Table 1 needs to transmit the coupled variable data located on the grid point in the upper right corner of the grid. Give the No. 7 process in Table 2; 2) In the coupling process, according to the established communication routing relationship, the parallel communication between component modes for several variables is completed. Parallel communication routes between two parallel partitions usually only need to be established once, since parallel communication routes can be maintained during frequent coupling between component modes.
当前,负责实现地球系统模式分量模式间耦合的耦合器,如C-Coupler、OASIS、CPL等,都采用了上述两步来实现分量模式间的并行通信,其中均采用了全局算法来实现并行通信路由关系的构建,即:一个分量模式的一个进程P,首先获取到另一分量模式所有进程RALL的全局并行剖分信息,再求出进程P的局部并行剖分信息与R ALL全局剖分信息之间的相交关系,从而确定并行通信路由关系。给定网格的总网格点数为N,一个分量模式的进程数为M,则在各进程上的平均计算复杂度为O(N)、平均存储复杂度为O(N),且会引入复杂度甚至为O(NM)的全局集合通信。因此,很耗时且不具备并行可扩展性,特别是在模式网格分辨率很高、格点数很多的情况下,会导致模式启动速度严重变慢。At present, the couplers responsible for realizing the coupling between the component modes of the Earth system mode, such as C-Coupler, OASIS, CPL, etc., all adopt the above two steps to realize the parallel communication between the component modes, in which the global algorithm is used to realize the parallel communication. The construction of the routing relationship, that is: a process P of a component mode, first obtains the global parallel segmentation information of all processes RALL of the other component mode, and then obtains the local parallel segmentation information of the process P and the R ALL global segmentation information The intersection relationship between them, so as to determine the parallel communication routing relationship. The total number of grid points of a given grid is N, and the number of processes in a component mode is M, then the average computational complexity on each process is O(N), the average storage complexity is O(N), and the introduction of Even global set communication with complexity O(NM). As a result, it is time-consuming and does not have parallel scalability, especially when the pattern grid resolution is very high and the number of grid points is large, which can cause the pattern startup speed to be severely slowed down.
发明内容SUMMARY OF THE INVENTION
本发明提供一种并行通信路由建立方法及系统,能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性,尤其在数值程序的网格分辨率很高、网格点数很多的情况下,能够快速启动数值程序。The invention provides a method and system for establishing a parallel communication route, which can quickly establish a parallel communication route relationship between numerical programs, is efficient and has parallel scalability, especially when the numerical program has a high grid resolution and a large number of grid points. In this case, the numerical program can be started quickly.
第一方面,本发明提供一种并行通信路由建立方法,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述方法包括:In the first aspect, the present invention provides a method for establishing a parallel communication route, which is used to establish a parallel communication routing relationship between multi-process parallel numerical programs for variables on the same grid, where the numerical program that sends the variable is the sending end, and the numerical program that receives the variable is the sending end. The numerical program is the receiving end, and each process of the sending end and the receiving end saves the variable values on some grid points; the method includes:
发送端和接收端为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;The sender and the receiver establish a global index of all grid points for the same grid, and each process of the sender and receiver builds a grid point local-global mapping table based on the grid point global index;
发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;The sender sorts the items in the grid point local-global mapping table in parallel among all the processes of the sender;
接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;The receiving end sorts the items in the grid point local-global mapping table in parallel among all the processes of the receiving end;
发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表;The processes of the sender and the receiver cooperate to establish the sender-receiver grid point mapping table in parallel;
发送端对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;The sending end performs parallel sorting among all the processes of the sending end on the items of the sending end-receiving end grid point mapping relationship table;
接收端对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;The receiving end performs parallel sorting among all the processes of the receiving end on the items of the sending end-receiving end grid point mapping relationship table;
发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。Each process of the sending end and the receiving end generates a communication routing relationship between each process and the process corresponding to the receiving end or the sending end according to the local sending end-receiving end mesh point mapping relationship table of the process.
更进一步地,所述网格点局部-全局映射表中的各项为三元组<网格点全局索引,进程编号,网格点局部索引>。Further, the items in the grid point local-global mapping table are triples <grid point global index, process number, grid point local index>.
更进一步地,所述发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均以网格点全局索引为关键字。Further, the sending end performs parallel sorting on the items in the grid point local-global mapping table among all processes of the sending end, and the receiving end performs parallel sorting on the items in the grid point local-global mapping table. Parallel sorting is performed among all processes on the receiving end, using the global index of grid points as the key.
更进一步地,所述发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均包括:Further, the sending end performs parallel sorting on the items in the grid point local-global mapping table among all processes of the sending end, and the receiving end performs parallel sorting on the items in the grid point local-global mapping table. Parallel sorting among all processes on the receiver side, including:
根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;According to the total number of grid points and the number of processes, determine the global index range of grid points in each process after sorting;
分别对各进程的网格点局部-全局映射表中的各项进行排序;Sort the items in the grid point local-global mapping table of each process respectively;
在所有进程之间对网格点局部-全局索引表中的各项进行排序。Sorts the entries in the grid point local-global index table across all processes.
更进一步地,所述发送端-接收端网格点映射关系表中的各项为五元组<网格点全局索引,发送端进程编号,发送端网格点局部索引,接收端进程编号,接收端网格点局部索引>。Further, the items in the sending end-receiving end grid point mapping relationship table are quintuple < grid point global index, sending end process number, sending end grid point local index, receiving end process number, Receiver grid point local index >.
更进一步地,所述并行建立发送端-接收端网格点映射关系表,包括:Further, the parallel establishment of the sending end-receiving end grid point mapping relationship table includes:
根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;According to the grid point global index range of each process of the sender and the receiver, complete the exchange of the grid point local-global mapping table between each process of the sender and the corresponding process of the receiver;
在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。In each process, according to the grid point local-global mapping table of the sender and the receiver, the sender-receiver grid point mapping table is constructed.
更进一步地,所述发送端对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序,以发送端进程编号为关键字;Further, the sending end performs parallel sorting among all the processes of the sending end on the items in the sending end-receiving end grid point mapping relationship table, with the sending end process number as a key;
所述接收端对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序,以接收端进程编号为关键字。The receiving end sorts the items in the sending end-receiving end grid point mapping relationship table in parallel among all the processes of the receiving end, using the process number of the receiving end as a key.
第二方面,本发明提供一种并行通信路由建立系统,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述系统包括:In a second aspect, the present invention provides a system for establishing a parallel communication route, which is used to establish a parallel communication routing relationship between multi-process parallel numerical programs for variables on the same grid. The numerical program is the receiving end, and each process of the sending end and the receiving end saves the variable values on some grid points; the system includes:
初始化模块,用于为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;The initialization module is used to establish the global index of all grid points for the same grid, and each process of the sender and the receiver builds the grid point local-global mapping table based on the grid point global index;
第一并行排序模块,用于对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;The first parallel sorting module is used to sort the items in the grid point local-global mapping table in parallel among all the processes of the sender;
第二并行排序模块,用于对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;The second parallel sorting module is used to sort the items in the grid point local-global mapping table in parallel among all processes at the receiving end;
并行建立模块,用于发送端与接收端的进程进行协作时并行建立发送端-接收端网格点映射关系表;The parallel establishment module is used to establish the sending end-receiving end grid point mapping relationship table in parallel when the processes of the sending end and the receiving end cooperate;
第三并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;A third parallel sorting module, configured to perform parallel sorting among all the processes of the transmitter for the items in the transmitter-receiver grid point mapping relationship table;
第四并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;a fourth parallel sorting module, configured to perform parallel sorting among all processes at the receiving end for each item of the sending end-receiving end grid point mapping relationship table;
并行生成模块,用于根据进程局部的发送端-接收端网格点映射关系表,生成发送端与接收端的各进程与对应接收端或发送端的进程的通信路由关系。The parallel generation module is used to generate the communication routing relationship between each process of the sender and the receiver and the process of the corresponding receiver or the sender according to the local sender-receiver grid point mapping relationship table.
更进一步地,所述第一并行排序模块和第二并行排序模块,均包括:Further, the first parallel sorting module and the second parallel sorting module include:
确定模块,用于根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;The determination module is used to determine the global index range of the grid points in each process after sorting according to the total number of grid points and the number of processes;
第一排序模块,用于分别对各进程的网格点局部-全局映射表中的各项进行排序;The first sorting module is used to sort the items in the grid point local-global mapping table of each process respectively;
第二排序模块,用于在所有进程之间对网格点局部-全局索引表中的各项进行排序。A second sorting module for sorting items in the grid point local-global index table among all processes.
更进一步地,所述并行建立模块,包括:Further, the parallel establishment module includes:
交换模块,用于根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;The exchange module is used to complete the exchange of the grid point local-global mapping table between each process of the sender and the corresponding process of the receiver according to the grid point global index range of each process of the sender and the receiver;
构建模块,用于在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。The building module is used for constructing the sending end-receiving end grid point mapping table according to the grid point local-global mapping table of the sending end and the receiving end in each process.
本发明提供的并行通信路由建立方法,发送端和接收端为相同网格建立所有网格点全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;发送端/接收端对网格点局部-全局映射表中的各项在发送端/接收端所有进程之间进行并行排序;发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表;发送端/接收端对发送端-接收端网格点映射关系表的各项在发送端/接收端的所有进程之间进行并行排序;发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。无需引入全局通信,就能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性,尤其在数值程序的网格分辨率很高、网格点数很多的情况下,能够快速启动数值程序。In the method for establishing a parallel communication route provided by the present invention, the transmitting end and the receiving end establish global indexes of all grid points for the same grid, and each process of the transmitting end and the receiving end constructs a grid point local-global mapping table based on the grid point global index; The sender/receiver sorts the items in the local-global mapping table of grid points in parallel among all the processes of the sender/receiver; the sender and receiver processes cooperate to build the sender-receiver grid in parallel Point mapping table; the sender/receiver sorts the items in the sender-receiver grid point mapping table in parallel among all processes on the sender/receiver; each process of the sender and receiver is based on the process local The sending end-receiving end mesh point mapping relationship table generates the communication routing relationship between each process and the process corresponding to the receiving end or the sending end. Without introducing global communication, the parallel communication routing relationship between numerical programs can be quickly established, which is efficient and has parallel scalability, especially when the numerical program has a high grid resolution and a large number of grid points, it can quickly start the numerical value program.
附图说明Description of drawings
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to illustrate the technical solutions of the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings used in the embodiments. It should be understood that the following drawings only show some embodiments of the present invention, and therefore do not It should be regarded as a limitation of the scope, and for those of ordinary skill in the art, other related drawings can also be obtained according to these drawings without any creative effort.
图1是本发明实施例一提供的并行通信路由建立方法流程图;1 is a flowchart of a method for establishing a parallel communication route provided in
图2是本发明实施例一提供的步骤S2的具体流程图;2 is a specific flowchart of step S2 provided in
图3是本发明实施例一提供的步骤S4的具体流程图;3 is a specific flowchart of step S4 provided in
图4是本发明实施例二提供的并行通信路由建立系统框图;4 is a block diagram of a parallel communication route establishment system provided by
图5是本发明实施例二提供的第一并行排序模块框图;5 is a block diagram of a first parallel sorting module provided in
图6是本发明实施例二提供的并行建立模块框图。FIG. 6 is a block diagram of a parallel establishment module provided by
具体实施方式Detailed ways
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. The components of the embodiments of the invention generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Thus, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present invention.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。It should be noted that like numerals and letters refer to like items in the following figures, so once an item is defined in one figure, it does not require further definition and explanation in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", etc. are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.
由于现有技术中通常需要引入全局通信来进行数值程序间的并行路由,这会使得并行通信的效率低下,且不具并行扩展性,尤其是在数值模式的网格分辨率很高、网格点数很多的情况下,会导致数值程序的启动速度严重变慢。因此,本发明实施例提供一种并行通信路由建立方法,用于根据同一网格在不同数值程序中的并行剖分,建立数值程序间的并行通信路由关系,具体来说,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值。该方法能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性。其中,数值程序可以包括但不限于地球系统模式。In the prior art, it is usually necessary to introduce global communication for parallel routing between numerical programs, which makes parallel communication inefficient and does not have parallel scalability, especially when the numerical model has a high grid resolution and a high number of grid points. In many cases, the startup speed of the numerical program will be severely slowed down. Therefore, an embodiment of the present invention provides a method for establishing a parallel communication route, which is used to establish a parallel communication routing relationship between numerical programs according to the parallel subdivision of the same grid in different numerical programs, specifically, for establishing a multi-process The parallel communication routing relationship between parallel numerical programs for variables on the same grid, the numerical program that sends variables is the sender, the numerical program that receives variables is the receiver, and the processes of the sender and receiver are saved on some grid points. variable value. The method can quickly establish the parallel communication routing relationship between numerical programs, is efficient and has parallel scalability. Among them, numerical programs may include, but are not limited to, Earth System Models.
实施例一Example 1
图1示出了一种并行通信路由建立方法流程图,如图1所示,该方法包括如下步骤:Fig. 1 shows a flow chart of a method for establishing a parallel communication route. As shown in Fig. 1, the method includes the following steps:
步骤S1、初始化:发送端和接收端为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表。Step S1, initialization: the sender and the receiver establish a global index of all grid points for the same grid, and each process of the sender and receiver builds a grid point local-global mapping table based on the grid point global index.
需要说明的是,不同网格点的全局索引不同,本实施例的发送端和接收端为相同网格建立所有网格点的全局索引,使同一网格点在发送端和接收端中的全局索引相同,如果发送端的一个进程与接收端的一个进程保存了全局索引相同的网格点上的变量值,则并行通信路由关系将含有这两个进程间的通信。基于网格点全局索引,发送端和接收端的各进程能够构建各自的网格点局部-全局映射表,优选地,网格点局部-全局映射表中的各项为三元组<网格点全局索引,进程编号,网格点局部索引>。仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例来说明,表1所示的并行剖分为发送端的并行剖分,表2所示的并行剖分为接收端的并行剖分,表3和表4分别为表1和表2中所示并行剖分的网格点局部-全局映射表。It should be noted that the global indexes of different grid points are different, and the transmitter and receiver of this embodiment establish global indexes of all grid points for the same grid, so that the global index of the same grid point in the transmitter and receiver is The index is the same. If a process on the sender side and a process on the receiver side save the variable value on the grid point with the same global index, the parallel communication routing relationship will contain the communication between the two processes. Based on the grid point global index, each process of the sending end and the receiving end can construct their own grid point local-global mapping table, preferably, each item in the grid point local-global mapping table is triple < grid point global index, process number, grid point local index >. Still take the same 8 × 8 grid shown in Table 1 and Table 2 as an example of the parallel division when using 4 processes and the parallel division when using 8 processes. The parallel division shown in Table 1 is as follows: The parallel division of the sending end, the parallel division shown in Table 2 is the parallel division of the receiving end, and Tables 3 and 4 are the local-global mapping tables of the parallel divisions of the grid points shown in Tables 1 and 2, respectively.
表3 8×8网格在使用4个进程时的并行剖分的网格点局部-全局映射表Table 3 Local-global mapping table of grid points for parallel division of 8×8 grid when using 4 processes
完成上述初始化后,得到表1中8×8网格在使用4个进程时的并行剖分的网格点局部-全局映射表,其中网格点全局索引为0~63,进程为0~3,网格点局部索引按照网格点位置从左到右、从上到下逐一增加,表3的各进程中,网格点局部索引均为0~15。After completing the above initialization, the grid point local-global mapping table of parallel division of the 8×8 grid using 4 processes in Table 1 is obtained, in which the grid point global index is 0-63, and the process is 0-3 , the local index of the grid point increases one by one according to the position of the grid point from left to right and from top to bottom. In each process in Table 3, the local index of the grid point is 0 to 15.
表4 8×8网格在使用8个进程时的并行剖分的网格点局部-全局映射表Table 4 Local-global mapping table of grid points for parallel division of 8×8 grids when using 8 processes
完成上述初始化后,得到表2中8×8网格在使用8个进程时的并行剖分的网格点局部-全局映射表,其中网格点全局索引为0~63,进程为0~7,网格点局部索引按照网格点位置从左到右、从上到下逐一增加,表4的各进程中,网格点局部索引均为0~7。After completing the above initialization, the grid point local-global mapping table for parallel division of the 8×8 grid using 8 processes in Table 2 is obtained, where the global index of the grid point is 0-63, and the process is 0-7 , the local index of the grid point increases one by one according to the position of the grid point from left to right and from top to bottom. In each process in Table 4, the local index of the grid point is 0 to 7.
步骤S2、发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序。Step S2: The sender performs parallel sorting among all the processes of the sender for the items in the local-global mapping table of the grid point.
步骤S3、接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序。Step S3, the receiving end performs parallel sorting among all the processes of the receiving end for the items in the local-global mapping table of the grid points.
可以理解的是,步骤S2与步骤S3的执行顺序不限于此,可以根据需要调整执行顺序,或同时执行。It can be understood that the execution sequence of step S2 and step S3 is not limited to this, and the execution sequence can be adjusted as required, or executed simultaneously.
具体地,发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均以网格点全局索引为关键字,图2示出了步骤S2的具体流程图,如图2所示,步骤S2可以进一步包括如下子步骤:Specifically, the sending end sorts the items in the grid point local-global mapping table in parallel among all the processes of the sending end, and the receiving end sorts the items in the grid point local-global mapping table in the receiving end All processes are sorted in parallel, using the grid point global index as the key. Figure 2 shows a specific flowchart of step S2. As shown in Figure 2, step S2 may further include the following sub-steps:
步骤S21、根据网格点总数和(发送端或接收端的)进程数,确定排序后各进程内的网格点的全局索引范围,同时确保排序后各进程中网格点的数量相近,以确保负载平衡性。Step S21, according to the total number of grid points and the number of processes (of the sending end or the receiving end), determine the global index range of grid points in each process after sorting, and ensure that the number of grid points in each process after sorting is similar to ensure that the number of grid points in each process is similar. load balancing.
步骤S22、分别对各进程的网格点局部-全局映射表中的各项进行排序。Step S22 , sort the items in the grid point local-global mapping table of each process respectively.
步骤S23、在所有进程之间按照归并排序的思路对网格点局部-全局索引表中的各项进行排序。Step S23: Sort the items in the grid point local-global index table according to the idea of merge sort among all processes.
需要说明的是,步骤S3的具体流程同样可以包括上述步骤S21~步骤S23。It should be noted that, the specific flow of step S3 may also include the above-mentioned steps S21 to S23.
具体来说,给定网格的网格点数为N,发送端(或接收端)的进程数为M,排序过程中一个进程涉及到log(M)次与其他进程的一对一通信,各进程排序的平均时间复杂度为O((N/M)*(log(M)+log(N/M))),平均存储复杂度为O(N/M)、平均通信复杂度为O((N/M)*log(M))。Specifically, the number of grid points of a given grid is N, the number of processes at the sender (or receiver) is M, and a process involves log(M) one-to-one communication with other processes during the sorting process. The average time complexity of process sorting is O((N/M)*(log(M)+log(N/M))), the average storage complexity is O(N/M), and the average communication complexity is O( (N/M)*log(M)).
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例,对各进程的网格点局部-全局映射表中各项进行并行排序,分别得到表5和表6所示的排序结果。Still taking the parallel division of the same 8×8 grid when using 4 processes and the parallel division when using 8 processes shown in Table 1 and Table 2 as examples, the local-global mapping of the grid points of each process The items in the table are sorted in parallel, and the sorting results shown in Table 5 and Table 6 are obtained respectively.
表5表3所示网格点局部-全局映射表的排序结果The sorting results of the local-global mapping table of grid points shown in Table 5 and Table 3
表6表4所示网格点局部-全局映射表的排序结果The sorting results of the grid point local-global mapping table shown in Table 6 and Table 4
步骤S4、发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表。Step S4 , the processes of the sender and the receiver cooperate to establish a sender-receiver mesh point mapping relationship table in parallel.
网格点映射关系是:发送端的一个进程与接收端的一个进程拥有相同网格点。优选地,发送端-接收端网格点映射关系表中的各项为五元组<网格点全局索引,发送端进程编号,发送端网格点局部索引,接收端进程编号,接收端网格点局部索引>。The grid point mapping relationship is: a process on the sender and a process on the receiver have the same grid point. Preferably, the items in the sender-receiver grid point mapping relationship table are quintuple < grid point global index, sender process number, sender grid point local index, receiver process number, receiver network Lattice local index >.
具体地,图3示出了步骤S4的具体流程图,如图3所示,并行建立发送端-接收端网格点映射关系表,可以进一步包括如下子步骤:Specifically, FIG. 3 shows a specific flow chart of step S4. As shown in FIG. 3 , establishing a transmitter-receiver grid point mapping relationship table in parallel may further include the following sub-steps:
步骤S41、根据发送端与接收端的各进程的网格点全局索引范围,通过点对点的局部通信,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换。Step S41 , according to the grid point global index range of each process of the sender and the receiver, through point-to-point local communication, complete the exchange of grid point local-global mapping tables between each process of the sender and the corresponding process of the receiver.
步骤S42、在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。各进程的平均时间复杂度、平均存储空间复杂度和平均通信复杂度均是O(N/M)。Step S42 , in each process, build a sender-receiver grid point mapping table according to the grid point local-global mapping table of the sender and the receiver. The average time complexity, average storage space complexity and average communication complexity of each process are O(N/M).
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例,并行建立发送端-接收端网格点映射关系表,分别得到表7和表8所示的发送端-接收端网格点映射关系表。Still taking the parallel subdivision of the same 8×8 grid when using 4 processes and the parallel subdivision when using 8 processes shown in Table 1 and Table 2 as examples, the transmitter-receiver grid point mapping is established in parallel. The relationship table is obtained, respectively, to obtain the sender-receiver mesh point mapping relationship table shown in Table 7 and Table 8.
表7发送端-接收端网格点映射关系表Table 7 Transmitter-receiver mesh point mapping table
表8发送端-接收端网格点映射关系表Table 8 Transmitter-receiver mesh point mapping table
步骤S5、发送端对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序。Step S5, the sending end performs parallel sorting among all the processes of the sending end on the items in the sending end-receiving end grid point mapping relationship table.
步骤S6、接收端对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序。Step S6, the receiving end performs parallel sorting among all the processes of the receiving end on the items in the sending end-receiving end grid point mapping relationship table.
可以理解的是,步骤S5与步骤S6的执行顺序不限于此,可以根据需要调整执行顺序,或同时执行。It can be understood that, the execution sequence of step S5 and step S6 is not limited to this, and the execution sequence can be adjusted as required, or executed simultaneously.
具体地,在发送端(或接收端)的所有进程之间,根据进程编号对发送端-接收端网格点映射关系表中的各项按照归并排序进行并行排序,使发送端(或接收端)各进程的发送端-接收端网格点映射关系表只含有与该进程局部网格点有关的项。优选地,发送端对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序,以发送端进程编号为关键字;接收端对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序,以接收端进程编号为关键字。各进程排序的平均时间复杂度为O((N/M)*log(M)),平均存储复杂度为O(N/M)、平均通信复杂度为O((N/M)*log(M))。Specifically, among all processes of the sender (or receiver), the items in the sender-receiver grid point mapping relationship table are sorted in parallel according to the process number according to the merge sort, so that the sender (or receiver) ) The sender-receiver grid point mapping relationship table of each process only contains items related to the local grid points of the process. Preferably, the sending end sorts the items of the sending end-receiving end grid point mapping relationship table in parallel among all the processes of the sending end, using the sending end process number as a key; Items in the point mapping relationship table are sorted in parallel among all processes at the receiving end, with the process number of the receiving end as the key. The average time complexity of each process sorting is O((N/M)*log(M)), the average storage complexity is O(N/M), and the average communication complexity is O((N/M)*log( M)).
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例,根据进程编号对发送端-接收端网格点映射关系表中的各项按照归并排序进行并行排序后,分别得到表9和表10所示的排序结果。Still taking the parallel division of the same 8×8 grid when using 4 processes and the parallel division when using 8 processes shown in Table 1 and Table 2 as examples, the sender-receiver grid is divided according to the process number. After the items in the point mapping relationship table are sorted in parallel according to the merge sort, the sorting results shown in Table 9 and Table 10 are obtained respectively.
表9发送端-接收端网格点映射关系表排序结果Table 9 Sender-receiver grid point mapping relationship table sorting results
表10发送端-接收端网格点映射关系表排序结果Table 10 Sorting results of the sender-receiver grid point mapping relationship table
步骤S7、发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。Step S7: Each process of the sender and the receiver generates a communication routing relationship between each process and the process corresponding to the receiver or sender according to the local sender-receiver grid point mapping table of the process.
具体地,针对发送端(或接收端)的各进程,根据该进程局部的发送端-接收端网格点映射关系表,生成该进程与对应接收端(或发送端)进程的通信路由关系。Specifically, for each process of the sender (or receiver), a communication routing relationship between the process and the corresponding receiver (or sender) process is generated according to the local sender-receiver grid point mapping table of the process.
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例来说明:建立发送端(表1)的0号进程到接收端(表2)0~3号进程的通信路由关系,其中发送端的0号进程会将其局部索引为1和5的网格点上的变量数据发送给接收端的1号进程;建立接收端(表2)的0号进程到发送端(表1)的0号和2号进程的通信路由关系,其中接收端的0号进程会从发送端的2号进程接收到发送端局部索引为4~7的网格点上的变量数据。各进程的平均时间复杂度为O(N/M),平均存储复杂度为O(N/M),无通信。Still take the parallel subdivision of the same 8×8 grid when using 4 processes and the parallel subdivision when using 8 processes shown in Table 1 and Table 2 as examples: establishing the 0 of the sender (Table 1) The communication routing relationship between process No. 0 and process No. 3 on the receiving end (Table 2), in which process No. 0 on the sending end will send the variable data on the grid points whose local indices are 1 and 5 to process No. 1 on the receiving end; Establish a communication routing relationship from process 0 of the receiver (Table 2) to
实施例二
与实施例一对应地,本实施例提供一种并行通信路由建立系统,如图4所示,该系统包括:Corresponding to the first embodiment, this embodiment provides a parallel communication route establishment system, as shown in FIG. 4 , the system includes:
初始化模块1,用于为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;The
第一并行排序模块2,用于对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;The first
第二并行排序模块3,用于对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;The second
并行建立模块4,用于发送端与接收端的进程进行协作时并行建立发送端-接收端网格点映射关系表;The
第三并行排序模块5,用于对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;The third
第四并行排序模块6,用于对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;The fourth
并行生成模块7,用于根据进程局部的发送端-接收端网格点映射关系表,生成发送端与接收端的各进程与对应接收端或发送端的进程的通信路由关系。The
可以理解的是,初始化模块1可用于执行上述实施例一中的步骤S1,第一并行排序模块2可用于执行上述实施例一中的步骤S2,第二并行排序模块3可用于执行上述实施例一中的步骤S3,并行建立模块4可用于执行上述实施例一中的步骤S4,第三并行排序模块5可用于执行上述实施例一中的步骤S5,第四并行排序模块6可用于执行上述实施例一中的步骤S6,并行生成模块7可用于执行上述实施例一中的步骤S7。It can be understood that the
如图5所示,上述第一并行排序模块2还可以进一步包括:As shown in Figure 5, the above-mentioned first
确定模块21,用于根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;The determining
第一排序模块22,用于分别对各进程的网格点局部-全局映射表中的各项进行排序;The
第二排序模块23,用于在所有进程之间对网格点局部-全局索引表中的各项进行排序。The
可以理解的是,确定模块21可用于执行上述实施例一中的步骤S21,第一排序模块22可用于执行上述实施例一中的步骤S22,第二排序模块23可用于执行上述实施例一中的步骤S23。第二并行排序模块3同样也可以进一步包括确定模块21、第一排序模块22和第二排序模块23。It can be understood that the
如图6所示,上述并行建立模块4还可以进一步包括:As shown in Figure 6, the above-mentioned
交换模块41,用于根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;The
构建模块42,用于在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。The
可以理解的是,交换模块41可用于执行上述实施例一中的步骤S41,构建模块42可用于执行上述实施例一中的步骤S42。It can be understood that, the switching
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited to this. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention. should be included within the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127096.3A CN111367665B (en) | 2020-02-28 | 2020-02-28 | A method and system for establishing a parallel communication route |
PCT/CN2020/126790 WO2021169393A1 (en) | 2020-02-28 | 2020-11-05 | Parallel communication routing setup method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127096.3A CN111367665B (en) | 2020-02-28 | 2020-02-28 | A method and system for establishing a parallel communication route |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367665A CN111367665A (en) | 2020-07-03 |
CN111367665B true CN111367665B (en) | 2020-12-18 |
Family
ID=71206251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127096.3A Active CN111367665B (en) | 2020-02-28 | 2020-02-28 | A method and system for establishing a parallel communication route |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111367665B (en) |
WO (1) | WO2021169393A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367665B (en) * | 2020-02-28 | 2020-12-18 | 清华大学 | A method and system for establishing a parallel communication route |
CN113157806B (en) * | 2021-04-19 | 2022-05-24 | 清华大学 | Grid data distributed storage service system, method, device, device and medium |
CN112988907B (en) * | 2021-04-28 | 2022-01-21 | 北京卡普拉科技有限公司 | Information adjusting method, system, electronic equipment and storage medium |
CN113900808B (en) * | 2021-10-09 | 2024-09-20 | 合肥工业大学 | MPI parallel data structure based on arbitrary polyhedral unstructured grid |
CN116319364B (en) * | 2023-02-10 | 2024-02-09 | 国家海洋环境预报中心 | MPI virtual graph topology communication method and system suitable for wave numerical mode |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1435030A (en) * | 1999-12-10 | 2003-08-06 | 睦塞德技术公司 | Method and apparatus for longest match address lookup |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2440688A1 (en) * | 2000-07-25 | 2002-01-31 | Acuo Technologies, Llc | Routing and storage within a computer network |
US8156421B2 (en) * | 2008-06-30 | 2012-04-10 | Yahoo! Inc. | Analysis of database performance reports for graphical presentation of summary results |
CN102707932B (en) * | 2012-05-16 | 2013-07-24 | 清华大学 | Parallel coupling method for global system mode |
US9996389B2 (en) * | 2014-03-11 | 2018-06-12 | International Business Machines Corporation | Dynamic optimization of workload execution based on statistical data collection and updated job profiling |
CN103970580B (en) * | 2014-05-05 | 2017-09-15 | 华中科技大学 | A kind of data flow towards multinuclear cluster compiles optimization method |
CN110764934B (en) * | 2019-10-24 | 2020-11-27 | 清华大学 | Numerical model-oriented parallel communication method, device, system and storage medium |
CN111367665B (en) * | 2020-02-28 | 2020-12-18 | 清华大学 | A method and system for establishing a parallel communication route |
-
2020
- 2020-02-28 CN CN202010127096.3A patent/CN111367665B/en active Active
- 2020-11-05 WO PCT/CN2020/126790 patent/WO2021169393A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1435030A (en) * | 1999-12-10 | 2003-08-06 | 睦塞德技术公司 | Method and apparatus for longest match address lookup |
Also Published As
Publication number | Publication date |
---|---|
CN111367665A (en) | 2020-07-03 |
WO2021169393A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367665B (en) | A method and system for establishing a parallel communication route | |
CN115066589B (en) | Distributed tensor network contraction scheme based on dynamic sorting and partitioning | |
TW201939366A (en) | Recommendation system construction method and device | |
Parhami et al. | A unified formulation of honeycomb and diamond networks | |
CN104462668A (en) | Computer-implemented method for designing an industrial product modeled with a binary tree | |
CN112100450A (en) | Graph calculation data segmentation method, terminal device and storage medium | |
CN108491628A (en) | The three-dimensional CAD assembling model of product design requirement drive clusters and search method | |
CN110505080A (en) | Construction method of dynamic evolution model of command and control supernetwork based on hybrid structure | |
CN107911300B (en) | Multicast routing optimization method based on whale algorithm and application of multicast routing optimization method on Spark platform | |
Li et al. | A generic cloud platform for engineering optimization based on OpenStack | |
Shintani et al. | A set based design method using Bayesian active learning | |
CN112231591B (en) | Information recommendation method and system considering social network user group compactness | |
CN119202785A (en) | Method, device, electronic device and storage medium for determining root cause of fault | |
Yoshida et al. | CONeP: A cost-effective online nesting procedure for regional atmospheric models | |
CN114329673B (en) | Wall searching method and device, electronic equipment and storage medium | |
Inam et al. | Shortest path routing algorithm for hierarchical interconnection network-on-chip | |
Abdolazimi et al. | Connected components of big graphs in fixed mapreduce rounds | |
CN115344607A (en) | Batch streaming type edge point mixed segmentation method for graph data | |
CN113590335A (en) | A Task Load Balancing Method Based on Packet and Delay Estimation in Tree Edge Networks | |
Selmi et al. | Dilation two embedding one-by-one particular sub-quadtree into M-dimentional crossed cubes | |
CN113987762A (en) | Elevator design method based on digital twin model | |
Zhang et al. | A distributed computation of the shortest path in large-scale road network | |
CN116979540B (en) | Converter station tide estimation method, device, equipment and medium based on graph technology | |
CN114707309B (en) | A method and computer device for calculating link coupling degree of loosely coupled federated system | |
CN112104474B (en) | Internet topological feature extraction method and system based on structural model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |