CN115878333A - Method, device and equipment for judging consistency between process groups - Google Patents

Method, device and equipment for judging consistency between process groups Download PDF

Info

Publication number
CN115878333A
CN115878333A CN202310142767.7A CN202310142767A CN115878333A CN 115878333 A CN115878333 A CN 115878333A CN 202310142767 A CN202310142767 A CN 202310142767A CN 115878333 A CN115878333 A CN 115878333A
Authority
CN
China
Prior art keywords
keyword
process group
group
determining
information
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.)
Pending
Application number
CN202310142767.7A
Other languages
Chinese (zh)
Inventor
李锐喆
赵彤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Carpura Technology Co ltd
Original Assignee
Beijing Carpura Technology Co ltd
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 Beijing Carpura Technology Co ltd filed Critical Beijing Carpura Technology Co ltd
Priority to CN202310142767.7A priority Critical patent/CN115878333A/en
Publication of CN115878333A publication Critical patent/CN115878333A/en
Pending legal-status Critical Current

Links

Images

Abstract

The embodiment of the invention provides a method, a device and equipment for judging consistency between process groups, wherein the method comprises the following steps: responding to a command for calculating the keywords of the process group, determining the keyword information of each process in the process group, cooperatively calculating the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group; responding to a command for comparing the consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group. By comparing the keywords of the process groups, the consistency among the process groups is judged, the memory overhead and the comparison overhead are reduced, and the judgment speed is increased.

Description

Method, device and equipment for judging consistency between process groups
Technical Field
The embodiment of the invention relates to the technical field of computer data processing, in particular to a method, a device and equipment for judging consistency among process groups.
Background
With the increasing number of computing nodes, the increasing number of processor cores on a chip and the increasing storage capacity, the computing power and the storage power of a high-performance computer are also increased, computing and storage services can be provided for multiple users and multiple application programs at the same time, and the method can be used for services such as cloud computing. Generally speaking, high performance computer systems manage their computing service capabilities and storage service capabilities relatively independently. Specifically, before an application program is started to run, firstly, required computing resources (which can be understood as a plurality of processor cores) need to be acquired through application, and then the application program is run by using the acquired computing resources; in the running process, the application program can initiate a read/write request of the file data to the storage system at any time, and the storage system needs to respond as soon as possible and complete the read/write request of the file data. That is, the application is exclusively using computing resources (i.e., two applications do not use the same processor core at substantially the same time); but all applications share the storage capacity. Therefore, when the storage capacity of the computer is limited (for example, the storage speed is low or the storage bandwidth is low), or the storage demand of the application program (the storage demand can be quantified by, for example, the amount of data read/written per unit time and the initiated read/write request) is large, or there are many application programs running simultaneously, the storage capacity may be insufficient, the data read/write speed may be slow, or even a large number of data read/write requests may be initiated by different application programs, so that the congestion and the application program running speed may be significantly slow.
In order to enable different applications to share the storage capacity in a time-sharing manner, the storage system needs to record data read/write requests initiated by different applications into a queue, and then take out the data read/write requests from the queue and enable the I/O device to complete data read/write. In one conventional implementation, the storage system has only one data read/write request queue, and completes data read/write requests according to a first-in-first-out principle. Although this method is simple and easy to implement, it is easy to cause unfairness in the use of storage capacity of each application, for example, the average response time of the data read/write requests of the application with a large storage demand is smaller than the average response time of the data read/write requests of the application with a small storage demand.
In order to realize the fairness of the application programs on the use storage capacity as much as possible, a scheduling priority mechanism for establishing a plurality of data read/write request queues and among the request queues is provided, wherein one request queue corresponds to at least one process group. The processes are basic units for resource allocation, and on a high-performance computer, an application program may be run serially by one process or run in parallel by a group of processes in cooperation, and the group of processes in cooperation may initiate parallel data read/write requests in cooperation. When the application program initiates a data read/write request, the storage system may acquire corresponding process group information. One key operation of the multiple request queue technology in implementation is to determine whether two process groups are the same. In the prior art, corresponding information of all processes in each process group is usually recorded, and then whether the information of each process in two process groups is the same or not is sequentially judged. This determination increases memory overhead and comparison overhead, reduces determination speed, especially in the case of a large number of processes in a process group (e.g., thousands or even more than 10 thousands).
Disclosure of Invention
The embodiment of the invention provides a method, a device and equipment for judging consistency between process groups, which are used for solving the problems of high memory overhead and comparison overhead and low judgment speed in the conventional method.
In a first aspect, an embodiment of the present invention provides a method for determining consistency between process groups, where the method includes:
responding to a command for calculating the keywords of the process group, determining the keyword information of each process in the process group, cooperatively calculating the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group;
responding to a command for comparing the consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
In one embodiment, the keyword information of each process includes feature information of a job to which each process belongs, so that the keyword information of different processes is different, and the job refers to one-time running of the application program.
In one embodiment, determining key information for each process in a group of processes includes:
and determining the keyword information of the process according to the name of the computing node where the process is located and the process number.
In one embodiment, determining key information of each process in a process group when an application program runs in a multi-threaded manner includes:
and determining the keyword information of the process according to the name of the computing node where the process is located and the thread number.
In one embodiment, determining key information for each process in a process group includes:
and determining the keyword information of the process according to the job number of the job to which the process belongs.
In one embodiment, the collaboratively calculating the keywords of the process group based on the keyword information of each process includes:
and determining the checksum of the keyword information of all the processes in the process group as the keyword of the process group.
In one embodiment, the process group keyword calculation process includes an unordered mode and an ordered mode, when the ordered mode is adopted to calculate the process group keyword, the keyword information of each process further includes a process rank, and the process rank is used to indicate the position or number of the process in the process group.
In a second aspect, an embodiment of the present invention provides an apparatus for determining consistency between process groups, including:
the computing module is used for responding to a command for computing the keywords of the process group, determining the keyword information of each process in the process group, collaboratively computing the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group;
the judging module is used for responding to a command for comparing the consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
In a third aspect, an embodiment of the present invention provides an electronic device, including:
at least one processor and memory;
the memory stores computer execution instructions;
the at least one processor executes computer-executable instructions stored in the memory to cause the at least one processor to perform a method for inter-process consistency determination as defined in any one of the first aspects.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, where computer-executable instructions are stored, and when executed by a processor, the computer-executable instructions are used to implement the method for determining consistency between process groups according to any one of the first aspect.
According to the method, the device and the equipment for judging the consistency between the process groups, which are provided by the embodiment of the invention, the keyword information of each process in the process group is determined in response to the command of calculating the keyword of the process group, and in the process of communication of all the processes in the process group, the keyword of the process group is cooperatively calculated based on the keyword information of each process, and the keyword of the process group is recorded; responding to a command for comparing the consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group. By comparing the keywords of the process groups, the consistency among the process groups is judged, the memory overhead and the comparison overhead are reduced, and the judgment speed is increased.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
Fig. 1 is a flowchart of a method for determining consistency between process groups according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of an apparatus for determining consistency between process groups according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
With the above figures, there are shown certain embodiments of the invention and will be described in more detail hereinafter. The drawings and the description are not intended to limit the scope of the inventive concept in any way, but rather to illustrate it by those skilled in the art with reference to specific embodiments.
Detailed Description
The present invention will be described in further detail with reference to the following detailed description and accompanying drawings. Wherein like elements in different embodiments are numbered with like associated elements. In the following description, numerous details are set forth in order to provide a better understanding of the present application. However, those skilled in the art will readily recognize that some of the features may be omitted or replaced with other elements, materials, methods in different instances. In some instances, certain operations related to the present application have not been shown or described in detail in order to avoid obscuring the core of the present application from excessive description, and it is not necessary for those skilled in the art to describe these operations in detail, so that they may be fully understood from the description in the specification and the general knowledge in the art.
Furthermore, the described features, operations, or characteristics may be combined in any suitable manner to form various embodiments. Also, the various steps or actions in the method descriptions may be transposed or transposed in order, as will be apparent to one of ordinary skill in the art. Thus, the various sequences in the specification and drawings are for the purpose of describing certain embodiments only and are not intended to imply a required sequence unless otherwise indicated where such sequence must be followed.
The numbering of the components as such, e.g., "first", "second", etc., is used herein only to distinguish the objects as described, and does not have any sequential or technical meaning. The term "connected" and "coupled" when used in this application, unless otherwise indicated, includes both direct and indirect connections (couplings).
Fig. 1 is a flowchart of a method for determining consistency between process groups according to an embodiment of the present invention. As shown in fig. 1, the method for determining consistency between process groups according to this embodiment may be applied to a computer, and specifically may include:
s101, responding to a command for calculating the keywords of the process group, determining the keyword information of each process in the process group, cooperatively calculating the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group.
When a command for calculating a process group keyword is received, keyword information of each process in the process group needs to be determined. A process group typically includes multiple processes, and the multiple processes in the process group may all be from the same job (i.e., the process group is a subset of all processes of a job) or from multiple jobs, where a job represents a run of an application submitted by a user on a high-performance computer. In order to ensure that different processes have different key information, in an alternative embodiment, the key information of each process includes characteristic information of the job to which each process belongs. Specifically, when each process in the process group is from multiple jobs, the keyword information of each process should include the feature information of the job to which the process belongs; when all processes in a process group are from the same job, the keyword information of each process should also include the characteristic information of the job to which the process belongs, otherwise, the condition that the keywords of two process groups corresponding to different jobs are the same may result. In summary, in an optional embodiment, the keyword information of each process includes feature information of a job to which each process belongs, so that the keyword information of different processes is different, where a job refers to one run of an application.
And calculating the keywords of the process group in the process of communication of all the processes in the process group. It will be appreciated that different processes have different key information and that groups of processes made up of different processes also each have different keys. When the keywords of the process group are cooperatively calculated based on the keyword information of each process, any method that satisfies the following conditions may be adopted: when the keyword information of each process in the process group is completely the same, the keywords of the process group are the same; when the keyword information of each process in the process group is not completely the same, the keywords of the process group are different. The specific calculation method is not limited in this embodiment.
It should be particularly emphasized that, in this embodiment, only the keyword of the process group needs to be recorded, and the corresponding information of all processes in the process group does not need to be recorded, so that the memory overhead can be greatly reduced.
S102, responding to a command for comparing consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
For example, when a command for comparing consistency of the process group 1 and the process group 2 is received, the keyword 1 of the process group 1 and the keyword 2 of the process group 2 are first acquired, and then it is determined whether the keyword 1 and the keyword 2 are the same. If the keyword 1 is the same as the keyword 2, determining that the process group 1 is the same as the process group 2; otherwise, it is determined that process group 1 is different from process group 2.
It should be particularly emphasized that, in this embodiment, only the keywords of the process groups need to be compared, and the corresponding information of each process in the two process groups does not need to be sequentially compared, so that the comparison overhead can be greatly reduced, and the determination speed is increased.
In the method for judging consistency between process groups provided by this embodiment, in response to a command for calculating a keyword of a process group, keyword information of each process in the process group is determined, and in a process of communicating all processes in the process group, the keyword of the process group is cooperatively calculated based on the keyword information of each process, and the keyword of the process group is recorded; responding to a command for comparing the consistency of the first process group and the second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group. By comparing the keywords of the process groups, the consistency among the process groups is judged, the memory overhead and the comparison overhead are reduced, and the judgment speed is increased.
On the basis of the foregoing embodiments, specific embodiments are respectively adopted below to describe in detail how to determine the keyword information of each process in the process group, and how to cooperatively calculate the keyword of the process group based on the keyword information of each process.
On a high-performance computer, different jobs generally run on different computing nodes, and the different computing nodes have different computing node names (the computing node names have uniqueness, and the computing node names can also be understood as unique numbers of the computing nodes in the high-performance computer); even if processes of different jobs run on the same computing node, process numbers of different processes running on the same computing node are different (on the same computing node, process numbers of different processes running simultaneously are different, and the process numbers are generated by an operating system). Therefore, for a process, the keyword information can be determined by jointly using the name and the process number of the computing node where the process is located, the keyword information implicitly contains the characteristic information of the job to which the process belongs, and the keyword information of any two processes running on a high-performance computer at the same time can be ensured to be different. That is, in an optional implementation manner, determining the keyword information of each process in the process group may specifically include: and determining the keyword information of the process according to the name of the computing node where the process is located and the process number. For example, the keyword information of the process may be determined as a combination of the name of the computing node where the process is located and the process number, but the sequence of the name of the computing node and the process number is not limited in this embodiment; the name of the computing node where the process is located and the process number may also be mapped to the keyword information of the process by using a one-to-one mapping relationship, and the specific mapping relationship is not limited in this embodiment.
Furthermore, on the same computing node, the thread numbers of different threads running simultaneously are different, and the thread numbers are generated by the operating system, so that for the case that the application program runs in a multi-thread mode, the keyword information of one process can be determined by jointly using the name of the computing node where the process is located and the thread number. That is to say, in an optional implementation manner, when the application program runs in a multi-thread manner, determining the keyword information of each process in the process group may specifically include: and determining the keyword information of the process according to the name of the computing node where the process is located and the thread number. For example, the keyword information of the process may be determined as a combination of the name of the computing node where the process is located and the thread number, but the sequence of the name of the computing node and the thread number is not limited in this embodiment; the name and the thread number of the computing node where the process is located may also be mapped to the key information of the process by using a one-to-one mapping relationship, and the specific mapping relationship is not limited in this embodiment.
It should be noted that the programming language and the operating system have jointly provided an interface for obtaining the name of the computing node, the process number and the thread number, which makes it easy to determine the key information of the process according to the name of the computing node and the process number (or the thread number).
On the high-performance computer, each job has a job number, and the job number has uniqueness, so that the job numbers of a plurality of jobs which run simultaneously by different users on the high-performance computer are different from each other, and therefore the characteristic information of the jobs to which the processes belong can be represented by the job numbers. In an optional implementation manner, determining the keyword information of each process in the process group may specifically include: and determining the keyword information of the process according to the job number of the job to which the process belongs. For example, the job number of the job to which the process belongs may be used as the keyword information of the process; a one-to-one mapping relationship may also be used to map the job number of the job to which the process belongs to the keyword information of the process, and the specific mapping relationship used is not limited in this embodiment.
In any case, the keyword information of each process should contain the feature information of the job to which the process belongs, but how to characterize the feature information of the job? One possible option is to let the user specify keywords of the job when starting the job, however, this method is not very desirable, on one hand, it cannot be guaranteed that the keywords specified by different users are different, and on the other hand, it will also bring extra requirements to the user; another possible option is to use the executable file name (which may include the file path) of the application program corresponding to the job as the feature information of the job, but the same user or different users may run different jobs of the same executable file at the same time; a further possible option is to use the job number as characteristic information for the job. On the high-performance computer, each job has a job number, and the job number has uniqueness, so that the job numbers of a plurality of jobs which are simultaneously operated by different users on the high-performance computer are different. If the job number is to be used as the feature information of the job, the job number needs to be acquired first. Although many job managers are used on high-performance computers, the existing programming languages and operating systems do not provide an interface for acquiring job numbers, so how to acquire job numbers of jobs to which processes belong is a technical challenge to be solved, especially without changing application programs, job managers, programming languages and operating systems.
The above embodiment details how to determine the keyword information of each process in the process group, and the following further details how to cooperatively calculate the keyword of the process group based on the keyword information of each process in the process of communicating all the processes in the process group.
On the basis of obtaining the keyword information of each process in the process group, the keyword of the process group is cooperatively calculated, and when the keyword of the process group is cooperatively calculated, a checksum method can be utilized, namely, the checksum of the keyword information of all the processes in the process group is calculated, and then the checksum is used as the keyword of the process group. That is to say, in an optional implementation, the collaboratively calculating the keyword of the process group based on the keyword information of each process specifically may include: and determining the checksum of the keyword information of all the processes in the process group as the keyword of the process group. The specific method for calculating the checksum is not limited in this embodiment. The checksum is typically a short string, e.g., no more than 100 characters, which makes the storage overhead and comparison overhead for comparing consistency of two process groups controllable and small, even when there are tens or even hundreds of thousands of processes in a process group. When the two process groups are the same, the checksums of the two process groups are necessarily the same; when two process groups are different, the checksums of the two process groups are different with a high probability, so that the checksums are sufficient for distinguishing the consistency of the two process groups, and the checksums can be calculated in the process of communication between all the processes in the process groups.
The multiple processes in the process group may or may not have a precedence relationship, and whether there is a precedence relationship is determined by the application program. When there is a precedence relationship, if the processes included in the two process groups are the same, but the ranks of the same process in the two process groups are different, the two process groups should be determined as different process groups. Therefore, the process group key is calculated in an unordered mode and an ordered mode, wherein the calculated process group key includes the order information between the processes in the ordered mode. That is, in an alternative embodiment, the process group keyword calculation process includes an unordered mode and an ordered mode, when the process group keyword is calculated in the ordered mode, the keyword information of each process further includes a process rank, and the process rank is used to indicate the position or number of the process in the process group. Specifically, in the ordered mode, an optional calculation method of the keyword of the process group includes: the ranking of each process in the process group is first extended into the keyword information of the process, and then the keyword information of the process may include, for example, the name of a computing node, the process number (or thread number), and the ranking of the process, and then the keyword of the process group is calculated based on the extended process keyword information.
On a high performance computer, different jobs sharing of different users uses a parallel storage service system with a priority mechanism. In the operation process of the job, a data read/write request is initiated to the parallel storage service system by taking a process group as a unit. The computer may determine whether the process groups are the same by using the method for determining consistency between the process groups provided in any of the embodiments, specifically: before a process group initiates a data read/write request, whether the keywords of the process group are calculated according to the specified ordered mode or unordered mode is checked, if the keywords are not calculated, the keyword information of each process is determined, the keywords of the process group are cooperatively calculated according to the specified ordered mode or unordered mode by utilizing interprocess communication, and the keywords of the process group are recorded. When a process group initiates a data read/write request, the keywords of the process group are sent to the parallel storage service system at the same time, the parallel storage service system associates the keywords of the process group with the data read/write request, the data read/write request is placed into a corresponding queue according to the keywords of the process group, and the priority of the data read/write request is further determined or modified.
Fig. 2 is a schematic structural diagram of an apparatus for determining consistency between process groups according to an embodiment of the present invention. As shown in fig. 2, the device 20 for determining consistency between process groups according to the present embodiment may include: a calculation module 201 and a judgment module 202.
The computing module 201 is configured to determine, in response to a command for computing a process group keyword, keyword information of each process in the process group, collaboratively compute the keyword of the process group based on the keyword information of each process in a process of communicating among all the processes in the process group, and record the keyword of the process group;
the judging module 202 is configured to, in response to a command for comparing consistency of the first process group and the second process group, obtain a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determine that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 1, and the implementation principle and the technical effect are similar, which are not described herein again.
In an optional implementation manner, the keyword information of each process includes feature information of a job to which each process belongs, so that the keyword information of different processes is different, and the job refers to one-time running of the application program.
In an optional implementation manner, the calculation module 201 is specifically configured to determine the keyword information of the process according to the name of the calculation node where the process is located and the process number.
In an alternative embodiment, when the application program runs in a multi-thread manner, the computing module 201 is specifically configured to determine the keyword information of the process according to the name of the computing node where the process is located and the thread number.
In an alternative embodiment, the calculation module 201 is specifically configured to determine the keyword information of the process according to the job number of the job to which the process belongs.
In an optional implementation manner, the calculation module 201 is specifically configured to determine a checksum of keyword information of all processes in the process group as a keyword of the process group.
In an alternative embodiment, the process group keyword calculation process includes an unordered mode and an ordered mode, when the ordered mode is used to calculate the process group keyword, the keyword information of each process further includes a process rank, and the process rank is used to indicate the position or number of the process in the process group.
Fig. 3 is a schematic view of an electronic device according to an embodiment of the present invention, which is only illustrated in fig. 3, and the embodiment of the present invention is not limited thereto. Fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention. As shown in fig. 3, the electronic device 30 provided in the present embodiment includes: memory 301, processor 302, and bus 303. The bus 303 is used to realize connection between the elements.
The memory 301 stores a computer program, and the computer program can implement the technical solution of any of the above method embodiments when executed by the processor 302.
Wherein, the memory 301 and the processor 302 are electrically connected directly or indirectly to realize data transmission or interaction. For example, these components may be electrically connected to each other via one or more communication buses or signal lines, such as bus 303. The memory 301 stores a computer program for implementing the method for determining consistency between process groups, the computer program includes at least one software functional module which can be stored in the memory 301 in the form of software or firmware, and the processor 302 executes various functional applications and data processing by running the software program and the module stored in the memory 301.
The Memory 301 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an erasable Read-Only Memory (EPROM), an electrically erasable Read-Only Memory (EEPROM), and the like. The memory 301 is used for storing programs, and the processor 302 executes the programs after receiving the execution instructions. Further, the software programs and modules within the memory 301 may also include an operating system, which may include various software components and/or drivers for managing system tasks (e.g., memory management, storage device control, power management, etc.), and may communicate with various hardware or software components to provide an operating environment for other software components.
The processor 302 may be an integrated circuit chip having signal processing capabilities. The processor 302 may be a general-purpose processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and so on. The various methods, steps, and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. It will be appreciated that the configuration of fig. 3 is merely illustrative and may include more or fewer components than shown in fig. 3 or have a different configuration than shown in fig. 3. The components shown in fig. 3 may be implemented in hardware and/or software.
The embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the technical solution of any one of the above-mentioned method embodiments.
The embodiments in the disclosure are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments.
The scope of the present disclosure is not limited to the above-described embodiments, and it is apparent that various modifications and variations can be made to the present disclosure by those skilled in the art without departing from the scope and spirit of the present disclosure. It is intended that the present disclosure also cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Claims (10)

1. A method for judging consistency among process groups is characterized by comprising the following steps:
responding to a command for calculating the keywords of the process group, determining the keyword information of each process in the process group, cooperatively calculating the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group;
responding to a command for comparing consistency of a first process group and a second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
2. The method according to claim 1, wherein the keyword information of each process includes characteristic information of a job to which each process belongs, so that the keyword information of different processes is different, and the job refers to one run of an application.
3. The method of claim 2, wherein determining key information for each process in the group of processes comprises:
and determining the keyword information of the process according to the name of the computing node where the process is located and the process number.
4. The method of claim 2, wherein determining key information for each process in the process group when the application program is running in a multi-threaded manner comprises:
and determining the keyword information of the process according to the name of the computing node where the process is located and the thread number.
5. The method of claim 2, wherein determining key information for each process in the group of processes comprises:
and determining the keyword information of the process according to the job number of the job to which the process belongs.
6. The method according to any one of claims 1 to 5, wherein the collaboratively calculating the keyword of the process group based on the keyword information of each process comprises:
and determining the checksum of the keyword information of all processes in the process group as the keyword of the process group.
7. The method as claimed in claim 6, wherein the process group key calculation process includes an unordered mode and an ordered mode, and when the process group key is calculated in the ordered mode, the key information of each process further includes a process rank, and the process rank is used to indicate the position or number of the process in the process group.
8. An apparatus for determining consistency between process groups, comprising:
the computing module is used for responding to a command for computing the keywords of the process group, determining the keyword information of each process in the process group, collaboratively computing the keywords of the process group based on the keyword information of each process in the process of communication of all the processes in the process group, and recording the keywords of the process group;
the judging module is used for responding to a command for comparing the consistency of a first process group and a second process group, acquiring a first keyword of the first process group and a second keyword of the second process group, and if the first keyword and the second keyword are the same, determining that the first process group is the same as the second process group; and if the first keyword and the second keyword are different, determining that the first process group is different from the second process group.
9. An electronic device, comprising: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executing the computer-executable instructions stored by the memory causes the at least one processor to perform the method for inter-process consistency determination as claimed in any one of claims 1 to 7.
10. A computer-readable storage medium, wherein computer-executable instructions are stored in the computer-readable storage medium, and when executed by a processor, the computer-executable instructions are used for implementing the method for determining consistency between process groups according to any one of claims 1 to 7.
CN202310142767.7A 2023-02-07 2023-02-07 Method, device and equipment for judging consistency between process groups Pending CN115878333A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310142767.7A CN115878333A (en) 2023-02-07 2023-02-07 Method, device and equipment for judging consistency between process groups

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310142767.7A CN115878333A (en) 2023-02-07 2023-02-07 Method, device and equipment for judging consistency between process groups

Publications (1)

Publication Number Publication Date
CN115878333A true CN115878333A (en) 2023-03-31

Family

ID=85761394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310142767.7A Pending CN115878333A (en) 2023-02-07 2023-02-07 Method, device and equipment for judging consistency between process groups

Country Status (1)

Country Link
CN (1) CN115878333A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076212A (en) * 2023-10-17 2023-11-17 北京卡普拉科技有限公司 Consistency check method, device, medium and equipment for MPI communication data content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110416A1 (en) * 2001-06-01 2003-06-12 Microsoft Corporation Methods and systems for creating and communicating with computer processes
US20200004580A1 (en) * 2018-06-29 2020-01-02 International Business Machines Corporation Resource management for parent child workload
CN112148465A (en) * 2019-06-26 2020-12-29 维塔科技(北京)有限公司 Resource allocation method and device, electronic equipment and storage medium
CN112988907A (en) * 2021-04-28 2021-06-18 北京卡普拉科技有限公司 Information adjusting method, system, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110416A1 (en) * 2001-06-01 2003-06-12 Microsoft Corporation Methods and systems for creating and communicating with computer processes
US20200004580A1 (en) * 2018-06-29 2020-01-02 International Business Machines Corporation Resource management for parent child workload
CN112148465A (en) * 2019-06-26 2020-12-29 维塔科技(北京)有限公司 Resource allocation method and device, electronic equipment and storage medium
US20220244998A1 (en) * 2019-06-26 2022-08-04 Virtai Technologies (Beijing) Co., Ltd. Method and apparatus for acquiring device information, storage medium and electronic device
CN112988907A (en) * 2021-04-28 2021-06-18 北京卡普拉科技有限公司 Information adjusting method, system, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076212A (en) * 2023-10-17 2023-11-17 北京卡普拉科技有限公司 Consistency check method, device, medium and equipment for MPI communication data content
CN117076212B (en) * 2023-10-17 2024-02-23 北京卡普拉科技有限公司 Consistency check method, device, medium and equipment for MPI communication data content

Similar Documents

Publication Publication Date Title
US8381230B2 (en) Message passing with queues and channels
CN103970520B (en) Method for managing resource, device and architecture system in MapReduce frameworks
US10505832B2 (en) Resource coordinate system for data centers
CN114741207B (en) GPU resource scheduling method and system based on multi-dimensional combination parallelism
US20110265093A1 (en) Computer System and Program Product
CN113448743A (en) Method, electronic device and computer program product for task processing
US20220229701A1 (en) Dynamic allocation of computing resources
CN113010265A (en) Pod scheduling method, scheduler, memory plug-in and system
CN115878333A (en) Method, device and equipment for judging consistency between process groups
US8543722B2 (en) Message passing with queues and channels
CN112035239A (en) Task scheduling method and device, terminal equipment and storage medium
CN110851245A (en) Distributed asynchronous task scheduling method and electronic equipment
CN115658295A (en) Resource scheduling method and device, electronic equipment and storage medium
CN116166421A (en) Resource scheduling method and equipment for distributed training task
CN114675954A (en) Task scheduling method and device
CN112597080B (en) Read request control device and method and memory controller
CN114741165A (en) Processing method of data processing platform, computer equipment and storage device
US20130247065A1 (en) Apparatus and method for executing multi-operating systems
CN111708631B (en) Data processing method based on multipath server, intelligent terminal and storage medium
CN109614242B (en) Computing capacity sharing method, device, equipment and medium
CN114356516A (en) Resource scheduling method, related device, equipment and storage medium
CN114116150A (en) Task scheduling method and device and related equipment
CN115840621A (en) Interaction method and related device of multi-core system
CN113094172A (en) Server management method and device applied to distributed storage system
CN115244514A (en) Function As A Service (FAAS) model for specialized processing units

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230331

RJ01 Rejection of invention patent application after publication