WO2021169393A1 - 一种并行通信路由建立方法及系统 - Google Patents

一种并行通信路由建立方法及系统 Download PDF

Info

Publication number
WO2021169393A1
WO2021169393A1 PCT/CN2020/126790 CN2020126790W WO2021169393A1 WO 2021169393 A1 WO2021169393 A1 WO 2021169393A1 CN 2020126790 W CN2020126790 W CN 2020126790W WO 2021169393 A1 WO2021169393 A1 WO 2021169393A1
Authority
WO
WIPO (PCT)
Prior art keywords
parallel
receiving end
grid point
grid
sending end
Prior art date
Application number
PCT/CN2020/126790
Other languages
English (en)
French (fr)
Inventor
刘利
于灏
孙超
李锐喆
于馨竹
Original Assignee
清华大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 清华大学 filed Critical 清华大学
Publication of WO2021169393A1 publication Critical patent/WO2021169393A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Definitions

  • the present disclosure relates to the technical field of numerical programs, and in particular, to a method and system for establishing a parallel communication route.
  • Earth system model is an indispensable scientific tool for the study of climate evolution laws, future climate prediction and seamless numerical prediction. It is a complex comprehensive numerical program, which is composed of component modes that simulate the atmosphere, land, ocean, and sea ice of the earth system through the coupling of a coupler.
  • Each component model of the Earth system model is based on a grid-based numerical program, that is, the area to be calculated (two-dimensional surface or three-dimensional space) is divided into a calculation grid composed of a number of non-overlapping grid points (atomic areas), and Perform collaborative calculations 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.
  • MPI Message Passing Interface
  • Table 1 and Table 2 respectively show the parallel division of the same 8 ⁇ 8 grid when using 4 processes and the parallel division when using 8 processes, and the number in each grid point represents the process number.
  • the coupling variables will be transferred from one component mode to another.
  • the essence of this process is MPI communication for coupling variables.
  • This process is usually implemented in two steps: 1) According to the parallel division of the same grid in the two component modes, the parallel communication routing relationship between the component modes is established. For example, the process No. 1 in Table 1 needs to transfer the coupled variable data located at the upper right corner of the grid. Give process No. 7 in Table 2; 2) In the coupling process, according to the established communication routing relationship, complete the parallel communication for several variables between the component modes. Since the parallel communication route can remain unchanged during the frequent coupling process between the component modes, the parallel communication route between two parallel subdivisions usually only needs to be established once.
  • the couplers responsible for coupling between component modes of the Earth system such as C-Coupler, OASIS, CPL, etc.
  • all use the above two steps to achieve parallel communication between component modes, and all of them use global algorithms to achieve parallel communication.
  • the construction of the routing relationship that is: a process P in a component mode, first obtain the global parallel partition information of all processes R_ALL in another component mode, and then obtain the local parallel partition information of the process P and the R_ALL global partition information The intersection relationship between the two, so as to determine the parallel communication routing relationship.
  • the present disclosure 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 quickly started.
  • the present disclosure provides a method for establishing a parallel communication route, which is used to establish a parallel communication route relationship for variables on the same grid between multi-process parallel numerical programs.
  • 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 sending end and the receiving end establish a global index of all the grid points for the same grid, the sending end and Each process at the receiving end builds a grid point local-global mapping table based on the global index of the grid point; the sending end sorts the items in the grid point local-global mapping table in parallel among all processes at the sending end; the receiving end compares the network The items in the grid point local-global mapping table are sorted in parallel among all processes at the receiving end; the processes of the sending end and the receiving end cooperate to establish the sending end-receiving end grid point mapping table in parallel; The items of the sender-receiver grid point mapping relationship table are sorted in parallel among all the processes on the sender; the receiving end compares
  • the present disclosure provides a parallel communication route establishment system, which is used to establish a parallel communication route relationship for variables on the same grid between multi-process parallel numerical programs.
  • the numerical program is the receiving end, and each process of the sending end and the receiving end saves the variable values on part of the grid points;
  • the system includes: an initialization module, which is used to establish a global index of all grid points for the same grid, the sending end and Each process on the receiving end builds a grid point local-global mapping table based on the grid point global index;
  • the first parallel sorting module is used to parallelize items in the grid point local-global mapping table among all processes on the sending end Sorting;
  • the second parallel sorting module is used to sort the items in the local-global mapping table of grid points in parallel among all the processes on the receiving end;
  • the parallel establishment module is used for parallel when the processes of the sending end and the receiving end are coordinated Establish a sending end-receiving end grid point mapping relationship table;
  • a third parallel sorting module for parallel sorting of items
  • FIG. 1 is a flowchart of a method for establishing a parallel communication route provided by Embodiment 1 of the present disclosure
  • FIG. 2 is a flowchart of step S2 provided in Embodiment 1 of the present disclosure.
  • FIG. 3 is a flowchart of step S4 provided by Embodiment 1 of the present disclosure.
  • FIG. 4 is a block diagram of a parallel communication route establishment system provided by Embodiment 2 of the present disclosure.
  • FIG. 5 is a block diagram of the first parallel sorting module provided by Embodiment 2 of the present disclosure.
  • Fig. 6 is a block diagram of a parallel establishment module provided in Embodiment 2 of the present disclosure.
  • the embodiments of the present disclosure provide a method for establishing a parallel communication route, which is used to establish a parallel communication route relationship between numerical programs according to the parallel division of the same grid in different numerical programs, and is used to establish a multi-process parallel numerical program
  • the numerical program for sending the variable is the sending end
  • the numerical program for receiving the variable is the receiving end.
  • Each process of the sending and receiving ends saves the variable values on some grid points.
  • This method can quickly establish parallel communication routing relationships between numerical programs, and is efficient and has parallel scalability.
  • the numerical program can include, but is not limited to, the earth system model.
  • 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:
  • Step S1 Initialization: the sending end and the receiving end establish a global index of all grid points for the same grid, and each process of the sending end and the receiving end builds a grid point local-global mapping table based on the grid point global index.
  • the global indexes of different grid points are different.
  • the sending end and the receiving end of this embodiment establish global indexes of all the grid points for the same grid, so that the same grid point is global in the sending end and the receiving end.
  • the index is the same. If a process on the sending end and a process on the receiving end save the variable value on the grid point with the same global index, the parallel communication routing relationship will include the communication between the two processes.
  • each process of the sending end and the receiving end can construct their own grid point local-global mapping table, and the grid point local-global mapping table constructed by each process of the sending end based on the grid point global index can be called The first grid point local-global mapping table, the grid point local-global mapping table constructed by the processes of the receiving end based on the grid point global index can be called the second grid point local-global mapping table, the grid point local- The items in the global mapping table are triples ⁇ grid point global index, process number, grid point local index>.
  • Table 3 The local-global mapping table of the grid points of the parallel subdivision of the 8 ⁇ 8 grid when 4 processes are used
  • the grid point local-global mapping table of the 8 ⁇ 8 grid in Table 1 when 4 processes are used in parallel is obtained, where the global index of the grid point is 0 ⁇ 63, and the process is 0 ⁇ 3.
  • the local index of the grid point increases one by one from left to right and from top to bottom according to the position of the grid point. In each process in Table 3, the local index of the grid point is 0-15.
  • Table 4 The local-global mapping table of the grid points of the parallel division of the 8 ⁇ 8 grid when 8 processes are used
  • the grid point local-global mapping table of the 8 ⁇ 8 grid in Table 2 when 8 processes are used in parallel 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 from left to right and from top to bottom according to the position of the grid point. In each process in Table 4, the local index of the grid point is 0-7.
  • Step S2. The sending end sorts items in the grid point local-global mapping table in parallel among all processes on the sending end.
  • Step S3 The receiving end sorts items in the grid point local-global mapping table in parallel among all processes on the receiving end.
  • step S2 and step S3 is not limited to this, and the execution order may be adjusted as needed, or executed at the same time.
  • step S2 may include the following sub-steps:
  • Step S21 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 (at the sending end or receiving end), while ensuring that the number of grid points in each process is similar after sorting to ensure Load balance.
  • Step S22 Sort the items in the grid point local-global mapping table of each process respectively.
  • Step S23 Sort the items in the grid point local-global index table according to the idea of merging and sorting among all processes.
  • step S3 may also include the above-mentioned steps S21 to S23.
  • the number of grid points in a given grid is N, and the number of processes on the sending end (or receiving end) is M.
  • a process involves log(M) one-to-one communication with other processes, and the average of each process is sorted.
  • the time complexity is O((N/M)*(log(M)+log(N/M)))
  • the average storage complexity is O(N/M)
  • the average communication complexity is O((N/M) )*log(M)).
  • Table 5 The sorting results of the grid point local-global mapping table shown in Table 3
  • Table 6 The sorting results of the grid point local-global mapping table shown in Table 4
  • Step S4 The processes of the sending end and the receiving end cooperate, and the sending end-receiving end grid point mapping relationship table is established in parallel.
  • the grid point mapping relationship is: a process on the sending end and a process on the receiving end have the same grid points.
  • each item in the sender-receiver grid point mapping relationship table is a five-tuple ⁇ grid point global index, sender process number, sender grid point local index, and receiver process number, The local index of the grid point at the receiving end>.
  • Fig. 3 shows a flowchart of step S4.
  • the parallel establishment of the sender-receiver grid point mapping relationship table may include the following sub-steps:
  • Step S41 According to the global index range of the grid points of the processes of the sending end and the receiving end, through point-to-point local communication, the exchange of the grid point local-global mapping table between the processes of the sending end and the corresponding process of the receiving end is completed.
  • Step S42 in each process, construct a sending end-receiving end grid point mapping relationship table according to the local-global mapping table of the sending end and the receiving end of the grid points.
  • the average time complexity, average storage space complexity, and average communication complexity of each process are all O(N/M).
  • Step S5 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.
  • Step S6 The receiving end sorts items of the sending end-receiving end grid point mapping relationship table in parallel among all the processes of the receiving end.
  • step S5 and step S6 is not limited to this, and the execution order may be adjusted as needed, or executed at the same time.
  • the items in the sender-receiver grid point mapping relationship table are sorted in parallel according to the process number, so that the sender (or receiver) processes
  • the sending end-receiving end grid point mapping table only contains items related to the local grid points of the process.
  • the sender sorts the items in the sender-receiver grid point mapping relationship table in parallel among all processes on the sender, using the sender process number as the key; the receiver to sender-receiver grid point mapping relationship
  • the items of the table are sorted in parallel among all processes on 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)).
  • the sender-receiver grid is determined according to the process number After the items in the point mapping relationship table are sorted in parallel according to the merge sorting, the sorting results shown in Table 9 and Table 10 are obtained respectively.
  • Table 9 The sorting results of the grid point mapping relationship table at the sender-receiver end
  • Step S7 each process of the sending end and the receiving end generates a communication routing relationship between each process and the corresponding receiving end or the process of the sending end according to the sending end-receiving end grid point mapping relationship table of the process part.
  • the communication routing relationship between the process and the corresponding receiving end (or sending end) process is generated according to the local sending end-receiving end grid point mapping relationship table of the process.
  • this embodiment provides a parallel communication route establishment system. As shown in FIG. 4, the system includes:
  • the initialization module 1 is used to establish a global index of all grid points for the same grid, and each process of the sending end and the receiving end builds a grid point local-global mapping table based on the grid point global index;
  • the first parallel sorting module 2 is used to sort items in the grid point local-global mapping table in parallel among all processes on the sending end;
  • the second parallel sorting module 3 is used to sort items in the grid point local-global mapping table in parallel among all processes on the receiving end;
  • Parallel establishment module 4 used for parallel establishment of the sending end-receiving end grid point mapping table when the processes of the sending end and the receiving end are cooperating;
  • the third parallel sorting module 5 is used to sort items of the sender-receiver grid point mapping relationship table in parallel among all processes on the sender;
  • the fourth parallel sorting module 6 is used to sort items in the grid point mapping relationship table from the sender end to the receiver end in parallel among all processes on the receiver end;
  • the parallel generating module 7 is used to generate the communication routing relationship between each process of the sending end and the receiving end and the process corresponding to the receiving end or the sending end according to the sending end-receiving end grid point mapping relationship table of the process part.
  • the initialization module 1 can be used to perform step S1 in the above-mentioned embodiment 1
  • the first parallel sorting module 2 can be used to perform the step S2 in the above-mentioned embodiment 1
  • the second parallel sorting module 3 can be used to perform the above-mentioned embodiment.
  • the parallel establishment module 4 can be used to perform step S4 in the above-mentioned embodiment 1
  • the third parallel sorting module 5 can be used to perform the step S5 in the above-mentioned embodiment 1
  • the fourth parallel sorting module 6 can be used to perform the above-mentioned
  • the parallel generation module 7 can be used to execute step S7 in Embodiment 1 above.
  • the above-mentioned first parallel sorting module 2 may further include:
  • the determining module 21 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 22 is used to sort the items in the local-global mapping table of grid points of each process
  • the second sorting module 23 is used to sort items in the grid point local-global index table among all processes.
  • the second parallel sorting module 3 may also include a determining module 21, a first sorting module 22, and a second sorting module 23.
  • the aforementioned parallel establishment module 4 may further include:
  • the switching module 41 is used to complete the exchange of the grid point local-global mapping table between each process of the sending end and the corresponding process of the receiving end according to the global index range of the grid points of each process of the sending end and the receiving end;
  • the constructing module 42 is used for constructing a sending end-receiving end grid point mapping relationship table according to the local-global mapping table of the sending end and the receiving end within each process.
  • exchange module 41 can be used to perform step S41 in the foregoing embodiment 1
  • construction module 42 can be used to perform step S42 in the foregoing embodiment 1.
  • the sending end and the receiving end establish a global index of all grid points for the same grid, and each process of the sending end and the receiving end builds a grid point local-global mapping table based on the grid point global index;
  • the sending end/receiving end sorts the items in the grid point local-global mapping table in parallel among all processes of the sending end/receiving end; the sending end and the receiving end cooperate to establish the sender-receiving end grid in parallel Point mapping table; sender/receiver to sender-receiver grid point mapping table items are sorted in parallel among all processes of sender/receiver; each process of sender and receiver is based on the local process
  • the sending end-receiving end grid point mapping relationship table generates the communication routing relationship between each process and the process corresponding to the receiving end or the sending end. It is possible to quickly establish parallel communication routing relationships between numerical programs without introducing global communication, which is efficient and has parallel scalability, especially when the numerical program has a

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

本公开提供一种并行通信路由建立方法及系统,该方法包括:发送端和接收端为相同网格建立所有网格点的全局索引,各进程基于网格点全局索引构建网格点局部-全局映射表;发送端/接收端对网格点局部-全局映射表中的各项在发送端/接收端所有进程之间进行并行排序;发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表;发送端/接收端对发送端-接收端网格点映射关系表的各项在发送端/接收端的所有进程之间进行并行排序;发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。本公开能快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性。

Description

一种并行通信路由建立方法及系统
相关申请的交叉引用
本公开要求享有2020年02月28日提交的名称为“一种并行通信路由建立方法及系统”的中国专利申请CN202010127096.3的优先权,其全部内容通过引用并入本文中。
技术领域
本公开涉及数值程序技术领域,特别是涉及一种并行通信路由建立方法及系统。
背景技术
地球系统模式是气候演变规律研究、未来气候预测和无缝隙数值预报所不可或缺的科学工具。它是一种复杂的综合数值程序,由分别模拟大气、陆面、海洋和海冰等地球系统圈层的分量模式通过耦合器的耦合而构成。地球系统模式的各分量模式均是基于格网的数值程序,即把要计算的区域(二维面或三维空间)划分为由若干互不重叠格点(原子区域)组成的计算网格,并在所有网格点上进行协同计算。对一个计算区域而言,划分出来的网格点越多,则模拟的分辨率越高,模拟过程的计算量也就越大。计算节点和处理器核越来越多的高性能计算机给很多应用程序(包括数值程序)的加速运行带来了机会。为了在高性能计算机上取得较好的加速效果,数值程序需要被编写为高效的并行版本。MPI(Message Passing Interface,消息传递接口)是一种被广泛使用的并行编程库,既可以在不同计算节点之间,也可以在同一计算节点内的不同处理器核之间实现并行计算。绝大多数地球系统模式分量模式都具备了基于MPI的并行版本。
在研制数值程序的并行版本时,首先需要把计算网格的不同网格点分派给不同进程(以下将网格点在不同进程上的分派称为并行剖分),以便进行并行计算。例如,表1、表2分别示出了同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分,各网格点中的数字表示进程编号。
表1 8×8网格在使用4个进程时的并行剖分
0 0   0 0 1 1 1 1
0 0   0 0 1 1 1 1
0 0   0 0 1 1 1 1
0 0   0 0 1 1 1 1
2 2   2 2 3 3 3 3
2 2   2 2 3 3 3 3
2 2   2 2 3 3 3 3
2 2   2 2 3 3 3 3
表2 8×8网格在使用8个进程时的并行剖分
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
由于地球系统模式中不同分量模式之间相互耦合,耦合变量会从一个分量模式传递到另一个分量模式,这个过程的本质就是针对耦合变量的MPI通信,该过程通常由两个步骤实现:1)根据同一网格在两个分量模式中的并行剖分,建立分量模式间的并行通信路由关系,例如,表1中的1号进程需要把位于网格右上角网格点上的耦合变量数据传递给表2中的7号进程;2)在耦合过程中,根据已建立的通信路由关系,完成分量模式间针对若干变量的并行通信。由于并行通信路由可在分量模式间频繁的耦合过程中保持不变,因此两个并行剖分之间的并行通信路由通常仅需建立一次。
当前,负责实现地球系统模式分量模式间耦合的耦合器,如C-Coupler、OASIS、CPL等,都采用了上述两步来实现分量模式间的并行通信,其中均采用了全局算法来实现并行通信路由关系的构建,即:一个分量模式的一个进程P,首先获取到另一分量模式所有进程R_ALL的全局并行剖分信息,再求出进程P的局部并行剖分信息与R_ALL全局剖分信息之间的相交关系,从而确定并行通信路由关系。给定网格的总网格点数为N,一个分量模式的进程数为M,则在各进程上的平均计算复杂度为O(N)、平均存储复杂度为O(N),且会引入复杂度甚至为O(NM)的全局集合通信。因此,很耗时且不具备并行可扩展性,特别是在模式网格分辨率很高、格点数很多的情况下,会导致模式启动速度严重变慢。
发明内容
本公开提供一种并行通信路由建立方法及系统,能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性,尤其在数值程序的网格分辨率很高、网格点数很多的情况下,能够快速启动数值程序。
第一方面,本公开提供一种并行通信路由建立方法,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述方法包括:发送端和接收端为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;发送端与接收端的进程进行协作,并行建立发送端-接收端 网格点映射关系表;发送端对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;接收端对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。
第二方面,本公开提供一种并行通信路由建立系统,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述系统包括:初始化模块,用于为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;第一并行排序模块,用于对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;第二并行排序模块,用于对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;并行建立模块,用于发送端与接收端的进程进行协作时并行建立发送端-接收端网格点映射关系表;第三并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;第四并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;并行生成模块,用于根据进程局部的发送端-接收端网格点映射关系表,生成发送端与接收端的各进程与对应接收端或发送端的进程的通信路由关系。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本公开实施例1提供的并行通信路由建立方法流程图;
图2是本公开实施例1提供的步骤S2的流程图;
图3是本公开实施例1提供的步骤S4的流程图;
图4是本公开实施例2提供的并行通信路由建立系统框图;
图5是本公开实施例2提供的第一并行排序模块框图;
图6是本公开实施例2提供的并行建立模块框图。
具体实施方式
下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描 述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要再对其进行定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在一些情形下,需要引入全局通信来进行数值程序间的并行路由,这会使得并行通信的效率低下,且不具并行扩展性,尤其是在数值模式的网格分辨率很高、网格点数很多的情况下,会导致数值程序的启动速度严重变慢。因此,本公开实施例提供一种并行通信路由建立方法,用于根据同一网格在不同数值程序中的并行剖分,建立数值程序间的并行通信路由关系,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值。该方法能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性。其中,数值程序可以包括但不限于地球系统模式。
实施例1
图1示出了一种并行通信路由建立方法流程图,如图1所示,该方法包括如下步骤:
步骤S1、初始化:发送端和接收端为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表。
需要说明的是,不同网格点的全局索引不同,本实施例的发送端和接收端为相同网格建立所有网格点的全局索引,使同一网格点在发送端和接收端中的全局索引相同,如果发送端的一个进程与接收端的一个进程保存了全局索引相同的网格点上的变量值,则并行通信路由关系将含有这两个进程间的通信。基于网格点全局索引,发送端和接收端的各进程能够构建各自的网格点局部-全局映射表,发送端的各进程基于网格点全局索引构建的网格点局部-全局映射表可以称为第一网格点局部-全局映射表,接收端的各进程基于网格点全局索引构建的网格点局部-全局映射表可以称为第二网格点局部-全局映射表,网格点局部-全局映射表中的各项为三元组<网格点全局索引,进程编号,网格点局部索引>。仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例来说明,表1所示的并行剖分为发送端的并行剖分,表2所示的并行剖分为接收端的并行剖分,表3和表4分别为表1和表2中所示并行剖分的网格点局部-全局映射表。
表3 8×8网格在使用4个进程时的并行剖分的网格点局部-全局映射表
Figure PCTCN2020126790-appb-000001
Figure PCTCN2020126790-appb-000002
完成上述初始化后,得到表1中8×8网格在使用4个进程时的并行剖分的网格点局部-全局映射表,其中网格点全局索引为0~63,进程为0~3,网格点局部索引按照网格点位置从左到右、从上到下逐一增加,表3的各进程中,网格点局部索引均为0~15。
表4 8×8网格在使用8个进程时的并行剖分的网格点局部-全局映射表
Figure PCTCN2020126790-appb-000003
完成上述初始化后,得到表2中8×8网格在使用8个进程时的并行剖分的网格点局部-全局映射表,其中网格点全局索引为0~63,进程为0~7,网格点局部索引按照网格点位置从左到右、从上到下逐一增加,表4的各进程中,网格点局部索引均为0~7。
步骤S2、发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序。
步骤S3、接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序。
可以理解的是,步骤S2与步骤S3的执行顺序不限于此,可以根据需要调整执行顺序,或同时执行。
发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均以网格点全局索引为关键字,图2示出了步骤S2的流程图,如图2所示,步骤S2可以包括如下子步骤:
步骤S21、根据网格点总数和(发送端或接收端的)进程数,确定排序后各进程内的网格点的全局索引范围,同时确保排序后各进程中网格点的数量相近,以确保负载平衡性。
步骤S22、分别对各进程的网格点局部-全局映射表中的各项进行排序。
步骤S23、在所有进程之间按照归并排序的思路对网格点局部-全局索引表中的各项进行排序。
需要说明的是,步骤S3的流程同样可以包括上述步骤S21~步骤S23。
给定网格的网格点数为N,发送端(或接收端)的进程数为M,排序过程中一个进程涉及到log(M)次与其他进程的一对一通信,各进程排序的平均时间复杂度为O((N/M)*(log(M)+log(N/M))),平均存储复杂度为O(N/M)、平均通信复杂度为O((N/M)*log(M))。
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例,对各进程的网格点局部-全局映射表中各项进行并行排序,分别得到表5和表6所示的排序结果。
表5表3所示网格点局部-全局映射表的排序结果
Figure PCTCN2020126790-appb-000004
表6表4所示网格点局部-全局映射表的排序结果
Figure PCTCN2020126790-appb-000005
Figure PCTCN2020126790-appb-000006
步骤S4、发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表。
网格点映射关系是:发送端的一个进程与接收端的一个进程拥有相同网格点。在一实施方式中,发送端-接收端网格点映射关系表中的各项为五元组<网格点全局索引,发送端进程编号,发送端网格点局部索引,接收端进程编号,接收端网格点局部索引>。
图3示出了步骤S4的流程图,如图3所示,并行建立发送端-接收端网格点映射关系表,可以包括如下子步骤:
步骤S41、根据发送端与接收端的各进程的网格点全局索引范围,通过点对点的局部通信,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换。
步骤S42、在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。各进程的平均时间复杂度、平均存储空间复杂度和平均通信复杂度均是O(N/M)。
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时的并行剖分为例,并行建立发送端-接收端网格点映射关系表,分别得到表7和表8所示的发送端-接收端网格点映射关系表。
表7发送端-接收端网格点映射关系表
Figure PCTCN2020126790-appb-000007
Figure PCTCN2020126790-appb-000008
表8发送端-接收端网格点映射关系表
Figure PCTCN2020126790-appb-000009
步骤S5、发送端对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序。
步骤S6、接收端对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序。
可以理解的是,步骤S5与步骤S6的执行顺序不限于此,可以根据需要调整执行顺序,或同时执行。
在发送端(或接收端)的所有进程之间,根据进程编号对发送端-接收端网格点映射关系表中的各项按照归并排序进行并行排序,使发送端(或接收端)各进程的发送端-接收端网格点映射关系表只含有与该进程局部网格点有关的项。发送端对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序,以发送端进程编号为关键字;接收端对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序,以接收端进程编号为关键字。各进程排序的平均时间复杂度为O((N/M)*log(M)),平均存储复杂度为O(N/M)、平均通信复杂度为O((N/M)*log(M))。
仍以表1和表2所示的同一8×8网格在使用4个进程时的并行剖分和使用8个进程时 的并行剖分为例,根据进程编号对发送端-接收端网格点映射关系表中的各项按照归并排序进行并行排序后,分别得到表9和表10所示的排序结果。
表9发送端-接收端网格点映射关系表排序结果
Figure PCTCN2020126790-appb-000010
表10发送端-接收端网格点映射关系表排序结果
Figure PCTCN2020126790-appb-000011
Figure PCTCN2020126790-appb-000012
步骤S7、发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。
针对发送端(或接收端)的各进程,根据该进程局部的发送端-接收端网格点映射关系表,生成该进程与对应接收端(或发送端)进程的通信路由关系。
仍以表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),无通信。
实施例2
与实施例1对应地,本实施例提供一种并行通信路由建立系统,如图4所示,该系统包括:
初始化模块1,用于为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;
第一并行排序模块2,用于对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;
第二并行排序模块3,用于对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;
并行建立模块4,用于发送端与接收端的进程进行协作时并行建立发送端-接收端网格点映射关系表;
第三并行排序模块5,用于对发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;
第四并行排序模块6,用于对发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;
并行生成模块7,用于根据进程局部的发送端-接收端网格点映射关系表,生成发送端与接收端的各进程与对应接收端或发送端的进程的通信路由关系。
可以理解的是,初始化模块1可用于执行上述实施例1中的步骤S1,第一并行排序模块2可用于执行上述实施例1中的步骤S2,第二并行排序模块3可用于执行上述实施例1中的步骤S3,并行建立模块4可用于执行上述实施例1中的步骤S4,第三并行排序模块5可用于执行上述实施例1中的步骤S5,第四并行排序模块6可用于执行上述实施例1中的 步骤S6,并行生成模块7可用于执行上述实施例1中的步骤S7。
如图5所示,上述第一并行排序模块2还可以包括:
确定模块21,用于根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;
第一排序模块22,用于分别对各进程的网格点局部-全局映射表中的各项进行排序;
第二排序模块23,用于在所有进程之间对网格点局部-全局索引表中的各项进行排序。
可以理解的是,确定模块21可用于执行上述实施例1中的步骤S21,第一排序模块22可用于执行上述实施例1中的步骤S22,第二排序模块23可用于执行上述实施例1中的步骤S23。第二并行排序模块3同样也可以包括确定模块21、第一排序模块22和第二排序模块23。
如图6所示,上述并行建立模块4还可以包括:
交换模块41,用于根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;
构建模块42,用于在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。
可以理解的是,交换模块41可用于执行上述实施例1中的步骤S41,构建模块42可用于执行上述实施例1中的步骤S42。
本公开提供的并行通信路由建立方法,发送端和接收端为相同网格建立所有网格点全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;发送端/接收端对网格点局部-全局映射表中的各项在发送端/接收端所有进程之间进行并行排序;发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表;发送端/接收端对发送端-接收端网格点映射关系表的各项在发送端/接收端的所有进程之间进行并行排序;发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。无需引入全局通信,就能够快速建立数值程序间的并行通信路由关系,高效且具备并行可扩展性,尤其在数值程序的网格分辨率很高、网格点数很多的情况下,能够快速启动数值程序。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (10)

  1. 一种并行通信路由建立方法,其中,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述方法包括:
    发送端和接收端为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;
    发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;
    接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;
    发送端与接收端的进程进行协作,并行建立发送端-接收端网格点映射关系表;
    发送端对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;
    接收端对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;
    发送端与接收端的各进程根据进程局部的发送端-接收端网格点映射关系表,生成各进程与对应接收端或发送端的进程的通信路由关系。
  2. 根据权利要求1所述的并行通信路由建立方法,其中,所述网格点局部-全局映射表中的各项为三元组<网格点全局索引,进程编号,网格点局部索引>。
  3. 根据权利要求1所述的并行通信路由建立方法,其中,所述发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均以网格点全局索引为关键字。
  4. 根据权利要求1至3中任一项所述的并行通信路由建立方法,其中,所述发送端对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序,以及所述接收端对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序,均包括:
    根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;
    分别对各进程的网格点局部-全局映射表中的各项进行排序;
    在所有进程之间对网格点局部-全局索引表中的各项进行排序。
  5. 根据权利要求1所述的并行通信路由建立方法,其中,所述发送端-接收端网格点映射关系表中的各项为五元组<网格点全局索引,发送端进程编号,发送端网格点局部索引,接收端进程编号,接收端网格点局部索引>。
  6. 根据权利要求1所述的并行通信路由建立方法,其中,所述并行建立发送端-接收端网格点映射关系表,包括:
    根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;
    在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。
  7. 根据权利要求1所述的并行通信路由建立方法,其中,所述发送端对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序,以发送端进程编号为关键字;
    所述接收端对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序,以接收端进程编号为关键字。
  8. 一种并行通信路由建立系统,其中,用于建立多进程并行的数值程序间对于相同网格上的变量的并行通信路由关系,发送变量的数值程序为发送端,接收变量的数值程序为接收端,发送端和接收端的各进程均保存部分网格点上的变量值;所述系统包括:
    初始化模块,用于为相同网格建立所有网格点的全局索引,发送端和接收端的各进程基于网格点全局索引构建网格点局部-全局映射表;
    第一并行排序模块,用于对网格点局部-全局映射表中的各项在发送端所有进程之间进行并行排序;
    第二并行排序模块,用于对网格点局部-全局映射表中的各项在接收端所有进程之间进行并行排序;
    并行建立模块,用于发送端与接收端的进程进行协作时并行建立发送端-接收端网格点映射关系表;
    第三并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在发送端的所有进程之间进行并行排序;
    第四并行排序模块,用于对所述发送端-接收端网格点映射关系表的各项在接收端的所有进程之间进行并行排序;
    并行生成模块,用于根据进程局部的发送端-接收端网格点映射关系表,生成发送端与接收端的各进程与对应接收端或发送端的进程的通信路由关系。
  9. 根据权利要求8所述的并行通信路由建立系统,其中,所述第一并行排序模块和第二并行排序模块,均包括:
    确定模块,用于根据网格点总数和进程数,确定排序后各进程内的网格点的全局索引范围;
    第一排序模块,用于分别对各进程的网格点局部-全局映射表中的各项进行排序;
    第二排序模块,用于在所有进程之间对网格点局部-全局索引表中的各项进行排序。
  10. 根据权利要求8所述的并行通信路由建立系统,其中,所述并行建立模块,包括:
    交换模块,用于根据发送端与接收端的各进程的网格点全局索引范围,完成发送端各进程与接收端相应进程之间的网格点局部-全局映射表的交换;
    构建模块,用于在各进程内,根据发送端与接收端的网格点局部-全局映射表,构建发送端-接收端网格点映射关系表。
PCT/CN2020/126790 2020-02-28 2020-11-05 一种并行通信路由建立方法及系统 WO2021169393A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010127096.3A CN111367665B (zh) 2020-02-28 2020-02-28 一种并行通信路由建立方法及系统
CN202010127096.3 2020-02-28

Publications (1)

Publication Number Publication Date
WO2021169393A1 true WO2021169393A1 (zh) 2021-09-02

Family

ID=71206251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/126790 WO2021169393A1 (zh) 2020-02-28 2020-11-05 一种并行通信路由建立方法及系统

Country Status (2)

Country Link
CN (1) CN111367665B (zh)
WO (1) WO2021169393A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319364A (zh) * 2023-02-10 2023-06-23 国家海洋环境预报中心 适用于海浪数值模式的mpi虚拟图拓扑通信方法及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367665B (zh) * 2020-02-28 2020-12-18 清华大学 一种并行通信路由建立方法及系统
CN113157806B (zh) * 2021-04-19 2022-05-24 清华大学 网格数据分布式存储服务系统、方法、装置、设备及介质
CN112988907B (zh) * 2021-04-28 2022-01-21 北京卡普拉科技有限公司 一种信息调整方法、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327854A1 (en) * 2008-06-30 2009-12-31 Yahoo!, Inc. Analysis of Database Performance Reports for Graphical Presentation of Summary Results
CN102707932A (zh) * 2012-05-16 2012-10-03 清华大学 一种用于地球系统模式的并行耦合方法
CN103970580A (zh) * 2014-05-05 2014-08-06 华中科技大学 一种面向多核集群的数据流编译优化方法
US20150261568A1 (en) * 2014-03-11 2015-09-17 International Business Machines Corporation Optimizing parallel data flows with generated job profile data
CN110764934A (zh) * 2019-10-24 2020-02-07 清华大学 面向数值模型的并行通信方法、装置、系统和存储介质
CN111367665A (zh) * 2020-02-28 2020-07-03 清华大学 一种并行通信路由建立方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1250775A2 (en) * 1999-12-10 2002-10-23 Mosaid Technologies Incorporated Method and apparatus for longest match address lookup
CA2440730A1 (en) * 2000-07-25 2002-01-31 Acuo Technologies, Llc Reconciling assets within a computer network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327854A1 (en) * 2008-06-30 2009-12-31 Yahoo!, Inc. Analysis of Database Performance Reports for Graphical Presentation of Summary Results
CN102707932A (zh) * 2012-05-16 2012-10-03 清华大学 一种用于地球系统模式的并行耦合方法
US20150261568A1 (en) * 2014-03-11 2015-09-17 International Business Machines Corporation Optimizing parallel data flows with generated job profile data
CN103970580A (zh) * 2014-05-05 2014-08-06 华中科技大学 一种面向多核集群的数据流编译优化方法
CN110764934A (zh) * 2019-10-24 2020-02-07 清华大学 面向数值模型的并行通信方法、装置、系统和存储介质
CN111367665A (zh) * 2020-02-28 2020-07-03 清华大学 一种并行通信路由建立方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319364A (zh) * 2023-02-10 2023-06-23 国家海洋环境预报中心 适用于海浪数值模式的mpi虚拟图拓扑通信方法及系统
CN116319364B (zh) * 2023-02-10 2024-02-09 国家海洋环境预报中心 适用于海浪数值模式的mpi虚拟图拓扑通信方法及系统

Also Published As

Publication number Publication date
CN111367665B (zh) 2020-12-18
CN111367665A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
WO2021169393A1 (zh) 一种并行通信路由建立方法及系统
Yang et al. A collaborative neurodynamic approach to multiple-objective distributed optimization
CN106101232A (zh) 负载均衡方法及装置
US20150081203A1 (en) Shortest path determination for large graphs
Koh et al. MapReduce skyline query processing with partitioning and distributed dominance tests
Malik et al. Latency based group discovery algorithm for network aware cloud scheduling
CN105227493A (zh) 多核平台下提高数据报文转发性能的方法
CN108880872B (zh) 一种互联网测试床拓扑结构分解方法及装置
CN112799598B (zh) 一种数据处理方法、处理器及电子设备
Li et al. A generic cloud platform for engineering optimization based on OpenStack
CN112766505A (zh) 非单调推理在逻辑动作语言系统刻画中的知识表示方法
Yoshida et al. CONeP: A cost-effective online nesting procedure for regional atmospheric models
CN113691403B (zh) 拓扑节点配置方法、相关装置及计算机程序产品
CN115730663A (zh) 量子计算任务映射方法以及量子计算机操作系统
US8560277B2 (en) Creating a load balanced spatial partitioning of a structured, diffusing system of particles
US20150347627A1 (en) Gossiping for decentralized information spreading
CN105812434A (zh) 用户手持设备虚拟化后的业务链控制方法及装置
CN114979128A (zh) 跨区域通信方法、装置及电子设备
Odendahl et al. Optimized buffer allocation in multicore platforms
Srinivasan et al. Communications Data Distribution and other Goodies in the HLA Performance Model
CN112104474B (zh) 基于结构模型的互联网拓扑特征提取方法及系统
Shihata Specification and Performance Evaluation for Atomic Read/Write Shared Memory in Mobile Ad Hoc Networks Using Fuzzy Logic.
US11379728B2 (en) Modified genetic recombination operator for cloud optimization
Derouiche et al. Cooperative Agents Based Data Placement Approach for Data Intensive Workflows
EP4123523A1 (en) Method and apparatus for sharing resource, method and apparatus for creating service, and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20921861

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20921861

Country of ref document: EP

Kind code of ref document: A1