MPI communication sleep time determination apparatus, MPI communication device, MPI communication sleep time determination method, program, and recording medium

JP2024129395A5Pending Publication Date: 2026-03-03NEC SOLUTION INNOVATORS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023038572
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-03-13
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing MPI communication systems do not calculate an appropriate sleep time, leading to inefficient CPU usage and reduced system performance due to busy wait states.

Method used

A device and method that determine optimal sleep times in MPI communication by recording execution, calculating MPI communication times, and matching MPI procedure information to determine sleep times based on historical records.

Benefits of technology

Enables efficient MPI communication by optimizing CPU usage through appropriate sleep times, improving system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a sleep time determination apparatus which can determine an optimal sleep time in MPI communication.SOLUTION: An MPI communication sleep time determination apparatus 10 includes a recording execution unit 11, an MPI communication time calculation unit 12, and a sleep time determination unit 13. The recording execution unit 11 records a start time of an MPI communication standby state after a process executes MPI procedures, MPI procedure information, and a release time of the MPI communication standby state. The MPI communication time calculation unit 12 calculates and records an MPI communication time on the basis of the start time and the release time in the record. The sleep time determination unit 13 determines whether or not new MPI procedure information of the process is coincident with the recorded MPI procedure information, and determines a sleep time of the process of the MPI communication in the new MPI procedures.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an MPI communication sleep time decision device, an MPI communication device, an MPI communication sleep time decision method, a program, and a recording medium. [Background technology]

[0002] When multiple computers are connected for processing, MPI communication is used to exchange data between the computers. During data transmission by MPI communication, a busy wait state occurs, and the CPU is occupied by the transmission process, which is a problem. One method of solving this problem is to put the CPU into a sleep state to free it up, but if the sleep state continues even after data transmission is complete, this results in a problem of poor computer efficiency. To address this problem, a system has been disclosed that selects between a busy wait state and a sleep state based on past communication time performance (Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2001-117787 A Summary of the Invention [Problem to be solved by the invention]

[0004] In the system of Patent Document 1, it is possible to select the sleep state when it is advantageous to do so, but the system does not calculate an appropriate sleep time.

[0005] Therefore, an object of the present invention is to provide a sleep time determination device that can determine an optimal sleep time in MPI communication. [Means for solving the problem]

[0006] In order to achieve the above object, the MPI communication sleep time determination device of the present invention comprises: The recording execution unit, the MPI communication time calculation unit, and the sleep time determination unit are included. the record execution unit records, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state in an MPI communication history recording unit by assigning an identification code to the record; the MPI communication time calculation unit calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; The sleep time determination unit determines whether the new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a match in part or in whole, determines the sleep time of the process for the MPI communication in the new MPI procedure based on the MPI communication time of the matching record.

[0007] The MPI communication sleep time determination method of the present invention includes the steps of: The method includes a recording execution step, an MPI communication time calculation step, and a sleep time determination step, the recording step includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state in an MPI communication history recording unit while assigning an identification code to the record; the MPI communication time calculation step calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination step determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; Each of the above steps is executed by a computer.

[0008] The program of the present invention comprises: The method includes a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure. the record execution procedure includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step includes calculating the MPI communication time based on the start time and the release time in the record, and recording the calculated MPI communication time in the same record; the sleep time determination step is to determine whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, to determine a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; The program causes a computer to execute each of the above procedures.

[0009] The recording medium of the present invention comprises: The method includes a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure. the record execution procedure includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step includes calculating the MPI communication time based on the start time and the release time in the record, and recording the calculated MPI communication time in the same record; the sleep time determination step is to determine whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, to determine a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; A computer-readable recording medium records a program for causing a computer to execute each of the above procedures. Effect of the Invention

[0010] The present invention enables efficient MPI communication. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a block diagram illustrating a configuration of an example of an MPI communication sleep time determination device according to the first embodiment. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of the MPI communication sleep time determination device according to the first embodiment. [Diagram 3] FIG. 3 is a flowchart illustrating an example of processing in the MPI communication sleep time determination device according to the first embodiment. [Figure 4] FIG. 4 is a reference diagram for explaining an example of sleep time determination in the MPI communication sleep time determination device according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] The embodiments of the present invention will be described with reference to the drawings. The present invention is not limited to the following embodiments. In each of the drawings, the same parts are given the same reference numerals. In addition, the explanations of each embodiment can be mutually incorporated unless otherwise specified, and the configurations of each embodiment can be combined unless otherwise specified.

[0013] [Embodiment 1] Fig. 1 is a block diagram showing an example of the configuration of an MPI communication sleep time determination device 10 (hereinafter also referred to as "this device") according to this embodiment. As shown in Fig. 1, this device 10 includes a record execution unit 11, an MPI communication time calculation unit 12, and a sleep time determination unit 13. Furthermore, although not shown, this device 10 may include, for example, an input unit, an output unit, a display unit, and / or a memory unit. The memory unit may function as an MPI communication history recording unit, which will be described later.

[0014] The device 10 may be, for example, a single device including each of the above-mentioned units, or a device to which each of the above-mentioned units can be connected via a communication line network. The device 10 may be connected to an external device described later via the communication line network. The communication line network is not particularly limited, and a known network may be used, for example, wired or wireless. Examples of the communication line network include an Internet line, a World Wide Web (WWW), a telephone line, a Local Area Network (LAN), a Storage Area Network (SAN), a Delay Tolerant Networking (DTN), a Low Power Wide Area (LPWA), and a Local 5G (L5G). Examples of wireless communication include Wi-Fi (registered trademark), Bluetooth (registered trademark), a Local 5G, and a LPWA. Examples of the wireless communication may include a form in which each device directly communicates with each other (Ad Hoc communication), an infrastructure (infrastructure communication), and an indirect communication via an access point. The device 10 may be incorporated into, for example, a server of a system. The device 10 may be, for example, a personal computer (PC, for example, desktop type or notebook type) on which the program of the present invention is installed, a smartphone, a tablet terminal, etc. Furthermore, the device 10 may be in the form of cloud computing or edge computing, for example, in which at least one of the units is on a server and the other units are on a terminal.

[0015] 2 illustrates a block diagram of a hardware configuration of the present device 10. The present device 10 includes, for example, a central processing unit (CPU, GPU, etc.) 101, a memory 102, a bus 103, a storage device 104, an input device 105, an output device 106, a communication device 107, etc. Each part of the present device 10 is connected to each other via the bus 103 by each interface (I / F).

[0016] The central processing unit 101 cooperates with other components through a controller (such as a system controller or an I / O controller) and controls the entire device 10. In the device 10, the central processing unit 101 executes, for example, the program of the present invention or other programs, and reads and writes various information. Specifically, for example, the central processing unit 101 functions as a record execution unit 11, an MPI communication time calculation unit 12, and a sleep time determination unit 13. In the case where the device 10 includes the output unit, the central processing unit 101 may function as the output unit. It may also function as an MPI communication history record unit described later. The device 10 may include, as a computing device, another computing device such as a CPU, a GPU (Graphics Processing Unit), or an APU (Accelerated Processing Unit), or may include a CPU and a combination of these.

[0017] The bus 103 can also be connected to, for example, an external device. Examples of the external device include a user terminal, an external storage device (external database, etc.), a printer, an external input device, an external display device, an external imaging device, etc. The present device 10 can be connected to an external network (the above-mentioned communication line network) by, for example, a communication device 107 connected to the bus 103, and can also be connected to other devices via the external network.

[0018] An example of the memory 102 is a main memory (primary storage device). When the central processing unit 101 performs processing, the memory 102 reads various operation programs, such as the program of the present invention, stored in the storage device 104 described below, and the central processing unit 101 receives data from the memory 102 and executes the program. The main memory is, for example, a RAM (random access memory). The memory 102 may also be, for example, a ROM (read only memory).

[0019] The storage device 104 is also called an auxiliary storage device, for example, in contrast to the main memory (primary storage device). As described above, the storage device 104 stores an operation program including the program of the present invention. The storage device 104 may be, for example, a combination of a recording medium and a drive for reading and writing data from and to the recording medium. The recording medium is not particularly limited, and may be, for example, an internal or external type, such as a HD (hard disk), a CD-ROM, a CD-R, a CD-RW, an MO, a DVD, a flash memory, or a memory card. The storage device 104 may be, for example, a hard disk drive (HDD) in which a recording medium and a drive are integrated, or a solid state drive (SSD). When the device 10 includes the storage unit, for example, the storage device 104 functions as the storage unit. The storage unit can store, for example, the start time of the MPI communication waiting state, MPI procedure information, and the release time of the MPI communication waiting state, which will be described later.

[0020] In the present device 10, the memory 102 and the storage device 104 can also store various information such as log information, information acquired from an external database (not shown) or an external device, information generated by the present device 10, and information used when the present device 10 executes processing. In this case, the memory 102 and the storage device 104 may store, for example, the start time of the MPI communication waiting state. Note that at least a part of the information may be stored, for example, in an external server other than the memory 102 and the storage device 104, or may be distributed and stored in multiple terminals using block chain technology or the like.

[0021] The device 10 further includes, for example, an input device 105 and an output device 106. Examples of the input device 105 include pointing devices such as a touch panel, a track pad, and a mouse; a keyboard; imaging means such as a camera and a scanner; a card reader such as an IC card reader and a magnetic card reader; and audio input means such as a microphone. Examples of the output device 106 include a display device such as an LED display and a liquid crystal display; an audio output device such as a speaker; a printer; and the like. In the first embodiment, the input device 105 and the output device 106 are configured separately, but the input device 105 and the output device 106 may be configured as one unit, such as a touch panel display.

[0022] Next, an example of the MPI communication sleep time determination method of this embodiment will be described with reference to the flowchart of Fig. 3. The MPI communication sleep time determination method of this embodiment is implemented as follows, for example, using the present device 10 of Fig. 1 or Fig. 2. Note that the MPI communication sleep time determination method of this embodiment is not limited to use of the present device 10 of Fig. 1 or Fig. 2.

[0023] MPI (Message Passing Interface) is a standard for using parallel computing. MPI is used for communication between multiple computers. When communication is performed using MPI, the CPU is occupied by communication processing as a busy wait state during communication. In order to release the CPU during communication and make effective use of the CPU, there is a method of putting it into sleep state. However, since processing after the arrival of data related to data transmission cannot be performed during sleep, if the sleep state is entered after data reception, the performance of the MPI program will be adversely affected as a result. Therefore, in order to perform communication processing efficiently, it is necessary to adjust the sleep state time to an appropriate length. Note that, below, an MPI communication sleep time determination method using the present invention will be explained, but as a prerequisite, it is preferable that the sending side and the receiving side perform a handshake before performing communication processing to synchronize. By doing so, even if the communication content is exactly the same, the communication waiting time does not change significantly. In addition, it is preferable that the data transfer itself after the execution of the MPI procedure is executed by dedicated hardware. Furthermore, it is preferable that multiple MPI procedures are not executed at the same time. In other words, it is preferable that other MPI procedures are not executed until the sending process or receiving process of the executed MPI procedure is completed.

[0024] First, the record execution unit 11 records the start time of the MPI communication waiting state after the process executes an MPI procedure, the MPI procedure information, and the release time of the MPI communication waiting state as one record in the MPI communication history recording unit by assigning an identification code to the record (S1, record execution step). The process is a program that is executing processing. The MPI procedure information (hereinafter also referred to as "pattern") is, for example, the MPI procedure name of a sending process and a receiving process, the address of the sending data, the type of the sending data, the address of the receiving data, the type of the receiving data, the rank number of the communication partner, information on the size of the data to be sent, information on the size of the data to be received, tags, communicators, and other information on the contents of the MPI procedure. The record execution unit 11 records the start time of the MPI communication waiting state, the pattern executed by the process, and the release time of the MPI communication waiting state as one record in the MPI communication history recording unit by assigning an identification code to the record. The MPI communication history recording unit is provided, for example, in a central processing unit of the device 10, but is not limited to this, and may be provided, for example, in a storage unit of the device 10 or in an external storage device. When the number of the records in the MPI communication history recording unit that match part or all of the MPI procedure information exceeds a predetermined reference number, the record execution unit 11 may delete the records in order of oldest recorded time from among the plurality of records so that the number is within the reference number.

[0025] Next, the MPI communication time calculation unit 12 calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record (S2, MPI communication time calculation step). For example, when the MPI communication is completed, the MPI communication time calculation unit 12 calculates the time required for the MPI communication, as described above, and records this as the MPI communication time in the MPI communication history recording unit in association with the release time.

[0026] Next, the sleep time determination unit 13 judges whether the new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines the sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record (S3, sleep time determination step). The judgment of whether there is a match is, for example, by a method in which it is judged that there is a match when all the patterns of the MPI communication match, but is not limited to this, and may be, for example, a method in which it is judged that there is a match when some arbitrarily specified elements match, and the mode may be set arbitrarily. The method of determining the sleep time includes, for example, the method described below, but is not limited to this, and may be set arbitrarily according to the actual situation. If there is no matching record, for example, the recording execution unit 11 may record in the MPI communication history recording unit the start time of the MPI communication waiting state for the new MPI procedure, the pattern executed by the process, and the release time of the MPI communication waiting state as one record, assign an identification code to it, and the MPI communication time calculation unit 12 may calculate the MPI communication time and record it in the same record, and then continue with the new MPI communication.

[0027] The sleep time determination unit 13 may determine the sleep time based on the MPI communication time of the matched record and a correction coefficient. The correction coefficient is, for example, a coefficient for preventing the sleep time from exceeding the reception time. In addition, in determining the sleep time, the correction coefficient may be, for example, addition, division, multiplication, and division, or a combination of these. In addition, the correction coefficient may be at least one of a predefined risk avoidance coefficient and a ratio of the data size of the matched record to the data size of the new MPI procedure. The risk avoidance coefficient is a coefficient arbitrarily set to prevent the sleep time from exceeding the MPI communication waiting time, and is, for example, 0.8, and the sleep time is determined by multiplying the MPI communication time of the matched record by this coefficient. Note that the risk avoidance coefficient is not limited to 0.8, and may be, for example, 0.7 or 0.9, and may be arbitrarily set. In this way, the sleep time determination unit 13 may determine the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient. Furthermore, when the ratio of data sizes is used to determine the sleep time, the condition of a match in data sizes is excluded from the conditions for a match in records.

[0028] Below is an example of a specific process of the MPI communication sleep time determination method using the present device 10. Note that the following explanation is an example of a specific flow, and as described above, the present device 10 and the MPI communication sleep time determination method of this embodiment are not limited to the following explanation, and the MPI communication sleep time determination method of this embodiment is not limited to the use of the present device 10.

[0029] First, as shown in FIG. 4A, the record execution unit 11 records the start time of the MPI communication waiting state after the execution of the MPI procedure by the process, the MPI procedure information, and the release time of the MPI communication waiting state as one record in the MPI communication history recording unit with an identification code. At this stage, the communication is not completed, so the communication waiting release time and the time required for the communication completion are blank. After that, the MPI communication is completed, and the record execution unit 11 records the release time of the MPI communication waiting state in the same record. Next, the MPI communication time calculation unit 12 calculates the MPI communication time based on the start time and the release time in the record, and records it in the same record. The state of the record after the recording is as shown in FIG. 4B. After that, when a new MPI communication is performed, the MPI sleep time determination unit 13 checks whether there is a record recorded in the MPI history recording unit whose pattern matches the new MPI procedure. 4B, if there is a match with the record with ID number 1, the MPI sleep time determination unit 13 multiplies the time required to complete the communication in that record, 0.330 seconds, by a correction coefficient of 0.8 to determine the sleep time as 0.264 seconds. Note that although there is no record of the data size in Fig. 4, if the data size of the new MPI communication is, for example, 1.2 times the data size of the transmission data with ID number 1, the sleep time may be determined as 0.3168 seconds by multiplying it by 1.2.

[0030] The MPI communication sleep time determination device of this embodiment can determine an optimal sleep time in MPI communication, thereby enabling efficient MPI communication.

[0031] [Embodiment 2] The program of this embodiment is a program for causing a computer to execute each step of the above-mentioned MPI communication sleep time determination method. Specifically, the program of this embodiment is a program for causing a computer to execute, for example, a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure.

[0032] the record execution procedure includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step includes calculating the MPI communication time based on the start time and the release time in the record, and recording the calculated MPI communication time in the same record; The sleep time determination procedure determines whether the new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines the sleep time of the process for the MPI communication in the new MPI procedure based on the MPI communication time of the matching record.

[0033] Furthermore, the program of this embodiment can also be said to be a program that causes a computer to function as, for example, a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure.

[0034] The program of this embodiment can be implemented by using the description of the MPI communication sleep time determination device and the MPI communication sleep time determination method of the present invention. In each of the steps, for example, the "step" can be read as "processing". In addition, the program of this embodiment may be recorded in a computer-readable recording medium. The recording medium is, for example, a non-transitory computer-readable storage medium. The recording medium is not particularly limited, and examples thereof include a random access memory (RAM), a read-only memory (ROM), a hard disk (HD), a flash memory (for example, a solid state drive (SSD), a USB flash memory, an SD / SDHC card, etc.), an optical disk (for example, a CD-R / CD-RW, a DVD-R / DVD-RW, a BD-R / BD-RE, etc.), a magneto-optical disk (MO), a floppy disk (FD), etc. In addition, the program of this embodiment (for example, also referred to as a programming product or a program product) may be in a form distributed from an external computer, for example. The "distribution" may be, for example, distribution via a communication network or distribution via a device connected by a wire. The program of the present embodiment may be installed and executed in the device to which it is distributed, or may be executed without being installed.

[0035] Although the present invention has been described above with reference to the embodiment, the present invention is not limited to the above embodiment. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0036] <Additional Notes> A part or all of the above-described embodiments can be described as follows, but is not limited to the following. (Additional Note 1) Including a record execution unit, an MPI communication time calculation unit, and a sleep time determination unit, the record execution unit records, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state in an MPI communication history recording unit by assigning an identification code to the record; the MPI communication time calculation unit calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination unit determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record. MPI communication sleep time determination device. (Appendix 1) the sleep time determination unit, when there are a plurality of the matching records, determines the sleep time based on statistics of the MPI communication times of the plurality of the records. 2. The MPI communication sleep time determination apparatus according to claim 1. (Appendix 2) the sleep time determination unit determines the sleep time based on the MPI communication time of the matched record and a correction coefficient. 2. The MPI communication sleep time determination apparatus according to claim 1. (Appendix 3) the correction factor is at least one of a predefined risk aversion factor and a ratio of a data size of the matched record to a data size of the new MPI procedure; the sleep time determination unit determines the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient. 4. The MPI communication sleep time determination apparatus according to claim 3. (Appendix 4) when the number of the records in the MPI communication history recording unit that are partially or entirely identical to the MPI procedure information exceeds a predetermined reference number, the record execution unit deletes the records in the order of oldest recorded time from among the plurality of records so that the number is within the reference number. 5. An MPI communication sleep time determination device according to any one of appendixes 1 to 4. (Appendix 5) 6. An MPI communications device including an MPI communications sleep time determination device according to any one of appendixes 1 to 5. (Appendix 6) The method includes a recording execution step, an MPI communication time calculation step, and a sleep time determination step, the recording step includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state in an MPI communication history recording unit while assigning an identification code to the record; the MPI communication time calculation step calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination step determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; Each of the steps is executed by a computer. How to determine the MPI communication sleep time. (Appendix 7) the sleep time determination step, when there are a plurality of the matching records, determines the sleep time based on a statistical value of the MPI communication time of the plurality of the records; Each of the steps is executed by a computer. The MPI communication sleep time determination method described in Appendix 7. (Appendix 8) The sleep time determination step determines the sleep time based on the MPI communication time of the matched record and a correction coefficient; Each of the steps is executed by a computer. The MPI communication sleep time determination method described in Appendix 7. (Appendix 9) the correction factor is at least one of a predefined risk aversion factor and a ratio of a data size of the matched record to a data size of the new MPI procedure; the sleep time determination step determines the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient; Each of the steps is executed by a computer. The MPI communication sleep time determination method according to Appendix 9. (Appendix 10) the recording execution step, when the number of the records in the MPI communication history recording unit that match a part or all of the MPI procedure information exceeds a predetermined reference number, deletes the records in the order of oldest recorded time from among the plurality of records so that the number is within the reference number; Each of the steps is executed by a computer. 11. An MPI communication sleep time determination method according to any one of appendices 7 to 10. (Appendix 11) The method includes a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure. the record execution procedure includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step includes calculating the MPI communication time based on the start time and the release time in the record, and recording the calculated MPI communication time in the same record; the sleep time determination step is to determine whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, to determine a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; A program for causing a computer to execute each of the above procedures. (Appendix 12) the sleep time determination step, when there are a plurality of the matching records, determines the sleep time based on a statistical value of the MPI communication time of the plurality of the records; 13. The program according to claim 12, for causing a computer to execute each of the steps. (Appendix 13) the sleep time determination step determines the sleep time based on the MPI communication time of the matched record and a correction coefficient; 13. The program according to claim 12, for causing a computer to execute each of the steps. (Appendix 14) the correction factor is at least one of a predefined risk aversion factor and a ratio of a data size of the matched record to a data size of the new MPI procedure; the sleep time determination step determines the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient; 15. The program according to claim 14, for causing a computer to execute each of the above steps. (Appendix 15) the record execution step, when the number of the records in the MPI communication history recording unit that match part or all of the MPI procedure information exceeds a predetermined reference number, deletes the records in the order of oldest recorded time from among the plurality of records so that the number is within the reference number; 16. The program according to any one of appendices 12 to 15, for causing a computer to execute each of the steps. (Appendix 16) The method includes a record execution procedure, an MPI communication time calculation procedure, and a sleep time determination procedure. the record execution procedure includes recording, as one record, a start time of an MPI communication wait state after execution of an MPI procedure by a process, information about the MPI procedure, and a release time of the MPI communication wait state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step includes calculating the MPI communication time based on the start time and the release time in the record, and recording the calculated MPI communication time in the same record; the sleep time determination step is to determine whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, to determine a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matching record; A computer-readable recording medium having recorded thereon a program for causing a computer to execute each of the above procedures. (Appendix 17) the sleep time determination step, when there are a plurality of the matching records, determines the sleep time based on a statistical value of the MPI communication time of the plurality of the records; 18. A computer-readable recording medium according to claim 17, which records a program for causing a computer to execute each of the above procedures. (Appendix 18) the sleep time determination step determines the sleep time based on the MPI communication time of the matched record and a correction coefficient; 18. A computer-readable recording medium according to claim 17, which records a program for causing a computer to execute each of the above procedures. (Appendix 19) the correction factor is at least one of a predefined risk aversion factor and a ratio of a data size of the matched record to a data size of the new MPI procedure; the sleep time determination step determines the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient; 20. A computer-readable recording medium according to claim 19, having a program recorded thereon for causing a computer to execute each of the procedures described above. (Appendix 20) the record execution step, when the number of the records in the MPI communication history recording unit that match part or all of the MPI procedure information exceeds a predetermined reference number, deletes the records in the order of oldest recorded time from among the plurality of records so that the number is within the reference number; A computer-readable recording medium according to any one of appendices 17 to 20, having a program recorded thereon for causing a computer to execute each of the procedures. [Industrial Applicability]

[0037] According to the present invention, it is possible to determine an optimal sleep time in MPI communication, thereby enabling efficient MPI communication. [Explanation of symbols]

[0038] 10 MPI communication sleep time determination device 11 Recording Execution Department 12 MPI communication time calculation part 13 Sleep time determination unit 101 Central Processing Unit 102 Memory 103 Bus 104 Storage device 105 Input Device 106 Output Device 107 Communication Devices

Claims

1. a recording execution unit, an MPI communication time calculation unit, and a sleep time determination unit; the record execution unit records, as one record, the start time of the MPI communication waiting state after the execution of an MPI procedure by the process, the MPI procedure information, and the release time of the MPI communication waiting state, and assigns an identification code to the record in the MPI communication history recording unit; the MPI communication time calculation unit calculates the MPI communication time based on the start time and the release time in the record and records the calculated MPI communication time in the same record; the sleep time determination unit determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time for the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matched record. MPI communication sleep time determination device.

2. the sleep time determination unit, when there are a plurality of matching records, determines the sleep time based on statistics of the MPI communication times of the plurality of matching records.

2. The MPI communication sleep time determination device according to claim 1.

3. the sleep time determination unit determines the sleep time based on the MPI communication time of the matched record and a correction coefficient.

2. The MPI communication sleep time determination device according to claim 1.

4. the correction factor is at least one of a predefined risk aversion factor and a ratio of a data size of the matched record to a data size of the new MPI procedure; the sleep time determination unit determines the sleep time by multiplying the MPI communication time of the matched record by the correction coefficient.

4. The MPI communication sleep time determination device according to claim 3.

5. When the number of records in the MPI communication history recording unit that match part or all of the MPI procedure information exceeds a predetermined reference number, the recording execution unit deletes the records in the order of oldest recorded time from among the plurality of records so that the number is within the reference number. The MPI communication sleep time determination device according to any one of claims 1 to 4.

6. An MPI communication device comprising the MPI communication sleep time determination device according to any one of claims 1 to 4.

7. The method includes a recording execution step, an MPI communication time calculation step, and a sleep time determination step, the recording execution step includes recording, as one record, a start time of an MPI communication waiting state after execution of an MPI procedure by a process, the MPI procedure information, and a release time of the MPI communication waiting state, the record being assigned an identification code, in an MPI communication history recording unit; the MPI communication time calculation step calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination step determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matched record; Each of the steps is executed by a computer. MPI communication sleep time determination method.

8. the sleep time determination step, when there are a plurality of matching records, determines the sleep time based on statistics of the MPI communication times of the plurality of matching records; Each of the steps is executed by a computer.

8. The MPI communication sleep time determination method according to claim 7.

9. A method for implementing a recording process, a method for calculating an MPI communication time, and a method for determining a sleep time, the recording and execution procedure includes recording, as one record, the start time of an MPI communication waiting state after execution of an MPI procedure by a process, the MPI procedure information, and the release time of the MPI communication waiting state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination procedure determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matched record; A program for causing a computer to execute each of the above procedures.

10. A method for implementing a recording process, a method for calculating an MPI communication time, and a method for determining a sleep time, the recording and execution procedure includes recording, as one record, the start time of an MPI communication waiting state after execution of an MPI procedure by a process, the MPI procedure information, and the release time of the MPI communication waiting state, and assigning an identification code to the record in an MPI communication history recording unit; the MPI communication time calculation step calculates the MPI communication time based on the start time and the release time in the record, and records the calculated MPI communication time in the same record; the sleep time determination procedure determines whether new MPI procedure information by the process matches the MPI procedure information of the record recorded in the MPI history recording unit, and if there is a partial or complete match, determines a sleep time of the process of the MPI communication in the new MPI procedure based on the MPI communication time of the matched record; A computer-readable recording medium that records a program for causing a computer to execute each of the above procedures.