An adaptive high performance computing scheduling system and method based on reverse time migration algorithm

By introducing an adaptive scheduling mechanism in a high-performance computing system with inverse time offset algorithm, dynamic allocation and utilization of computing resources is solved, and the problem of inadequate utilization of computing resources in the existing technology is achieved, and more efficient computing efficiency and resource utilization are achieved. Rate.

CN114265700BActive Publication Date: 2025-02-07CHINA NAT OFFSHORE OIL CORP +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210083641.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-19
Publication Date
2025-02-07
Estimated Expiration
2042-01-19

AI Technical Summary

Technical Problem

When the prior art uses the counter-time offset algorithm for high-performance computing, the computing resources cannot be fully utilized and the unreasonable task allocation leads to inconsistent node computing cycles.

Method used

An adaptive high-performance computing scheduling system based on the counter-time offset algorithm is provided, including a device resource pool, inspection module, scheduling module, RTM computing module and data I/O module. Through predefined device resource pools, dynamically detect node status, and the scheduling module allocates computing resources in real time, realizing dynamic allocation and full utilization of computing resources.

Benefits of technology

It realizes efficient utilization of computing resources in a heterogeneous node environment, improves computing efficiency, shortens computing time, and can use multiple types of computing nodes at the same time, thereby improving resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114265700B_ABST
    Figure CN114265700B_ABST
Patent Text Reader

Abstract

The present invention discloses an adaptive high-performance computing scheduling system and method based on a reverse time migration algorithm. The system includes: a device resource pool, a check module, a scheduling module, an RTM computing module, and a data I / O module; the device resource pool includes a plurality of computing nodes; the check module is used to detect the nodes in the device resource pool and return the available resource information of the nodes for use by the scheduling module; the scheduling module is used to receive the signal of the data I / O module, judge whether the overall task is completed and submit a resource application; the RTM computing module receives the task and uses the corresponding computing device to perform reverse time migration calculation; the data I / O module is used to receive the calculation result of the RTM computing module and output it to a disk and then send a signal to the scheduling module, and release the computing resources to the device resource pool so that the checking module obtains the available resource information. The present invention does not need to specify the device in advance each time a task is executed, can be adapted to the joint processing of tasks of heterogeneous nodes, and can make full use of computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of high performance computing in heterogeneous environments, and more specifically, to an adaptive high performance computing scheduling system and method based on a reverse time migration algorithm. Background Art

[0002] At present, the reverse time migration algorithm is the most accurate algorithm for seismic wave imaging, but its characteristics are: large amount of calculation, large amount of storage, large memory requirements, etc. These practical bottlenecks restrict the scope of application. The key points of existing technologies to solve these bottlenecks can be summarized as follows: multi-node parallel to improve computing efficiency, GPU to achieve wave field finite difference extension to improve the computing efficiency of some codes, optimize the checkpoint method to reduce storage, and use compression algorithms to reduce memory requirements. Although the existing technology can be applied to actual data, it is still an algorithm with the longest application cycle and needs to be further improved in efficiency.

[0003] In the prior art, the optimization of GPU computing algorithms has basically matured, and most of the research directions are focused on how to solve the problem of insufficient GPU memory and how to communicate with multiple GPUs. However, if you want to put it into large-scale applications, you often still face the problem of insufficient resource utilization. This problem arises from the fact that a production unit's high-performance computer usually contains CPU / GPU computing nodes and pure CPU computing nodes. Currently, all RTM methods can only adapt to one node structure, that is, only use GPU nodes or CPU nodes. This will inevitably result in a waste of hardware resources, and usually requires manual task allocation to achieve resource utilization, but it is impossible to manually determine whether the task allocation is reasonable, so there is still a problem of inconsistent node computing cycles. The reasons for these problems are attributed to three defects in the conventional algorithm process:

[0004] (1) The computing resource definition is just the node name without detailed information;

[0005] (2) The detection module only detects whether the node is communicating normally and cannot dynamically obtain node status information;

[0006] (3) The master control module needs to determine the required resources before sending a task, which cannot be changed after startup. It can only determine in advance whether to use CPU or GPU computing, and cannot switch during the process. These defects will result in the computing resources having to be divided manually, and new tasks can only be submitted after all tasks are completed.

[0007] The prior art discloses a heterogeneous node adaptive calling system and method based on the reverse time migration algorithm; comprising: a plurality of computing units, for receiving computing commands, performing reverse time migration algorithm calculations and sending the computing results to a data transceiver module; a calling detection module, for receiving computing requirements, detecting the computing capabilities of each computing unit and comparing them with the computing requirements, and sending computing commands to the computing units whose computing capabilities meet the computing requirements; and a data transceiver module, for receiving the computing results of the computing units and sending the results to an imaging module. Due to the huge amount of computing in the reverse time migration technology, the overall task cycle is usually measured in days or even months. Usually we need to allocate many computing nodes to perform parallel calculations at the same time. Because the node device status detection is manually completed before the main control module is started, the main control module continuously sends tasks to the computing node after it is started. After sending, it can only wait for the computing node to return the computing results, and cannot detect the computing node status again. Therefore, the conventional algorithm flow must assume that each computing node has similar configurations or available resources. That is, if the CPU is specified to be used for calculation, each node can only use the CPU for calculation, and if the GPU is specified to be used for calculation, each node must include a GPU device. Because each node may or may not contain a GPU device, and the models and numbers of GPUs and CPUs may also be different, computing devices with different configurations are difficult to meet the requirements of joint parallel computing, and precious computing resources are usually not fully utilized. Summary of the invention

[0008] In order to overcome the defects that the above-mentioned existing computing scheduling methods cannot meet the requirements of joint parallel computing and computing resources cannot be fully utilized, the present invention provides an adaptive high-performance computing scheduling system and method based on a reverse time migration algorithm.

[0009] The primary purpose of the present invention is to solve the above technical problems. The technical solution of the present invention is as follows:

[0010] The first aspect of the present invention provides an adaptive high-performance computing scheduling system based on a reverse time migration algorithm, the system comprising: a device resource pool, a check module, a scheduling module, an RTM calculation module, and a data I / O module;

[0011] The device resource pool includes a number of computing nodes;

[0012] The checking module is used to detect the available resource information of the nodes returned by the nodes in the device resource pool for use by the scheduling module;

[0013] The scheduling module is used to receive the signal from the data I / O module, determine whether the overall task is completed, and if not, submit a resource application to the inspection module. After the inspection module returns the available resource information, the scheduling module sends the task to the RTM calculation module;

[0014] The RTM calculation module is used to accept the task of the scheduling module and perform reverse time migration calculation;

[0015] The data I / O module is used to receive the calculation results of the RTM calculation module and output them to the disk, then send a signal to the scheduling module, and release the calculation resources to the device resource pool so that the inspection module can obtain available resource information.

[0016] Furthermore, the device resource pool includes multiple computing nodes, and each computing node includes a predefined data structure.

[0017] Furthermore, the predefined data structure includes: node name, CPU computing power and quantity, GPU computing power and quantity, memory size, and cache size.

[0018] Furthermore, the inspection module includes an entity of a single node in the device resource pool, and after real-time detection of node resources, returns available resource information of the node, wherein the available resource information includes: computing device, available memory size, and available cache space.

[0019] A second aspect of the present invention provides an adaptive high-performance computing scheduling method based on a reverse time migration algorithm, the method being applied to the adaptive high-performance computing scheduling system based on a reverse time migration algorithm, comprising the following steps:

[0020] S1: Define the available device resource pool;

[0021] S2: The inspection module detects the device status and provides available computing nodes;

[0022] S3: The scheduling module determines whether the overall task is completed. If not, it sends the task to the available computing nodes.

[0023] S4: After receiving the task, the computing node uses the RTM computing module to perform reverse time migration calculation;

[0024] S5: After the calculation is completed, the calculation result is sent to the data I / O module;

[0025] S6: Repeat step S3 until all tasks are completed.

[0026] Furthermore, the inspection module includes an entity of a single node in the device resource pool, and after real-time detection of node resources, returns the available computing devices, available memory size, and available cache space of the node for use by the scheduling module.

[0027] Furthermore, the workflow of the inspection module is:

[0028] Read all the information of the device resource pool;

[0029] Receive resource requests;

[0030] Detect available resources in the device resource pool according to resource application, find the first node resource information that meets the conditions and return the node resource information;

[0031] Mark the returned node resource information as occupied.

[0032] Furthermore, the workflow of the scheduling module is:

[0033] Receive the signal from the data I / O module and start to determine whether the overall task is completed. If not, submit a resource request to the inspection module. After the inspection module returns the available resource information, the scheduling module sends the task to the RTM calculation module.

[0034] Furthermore, the RTM calculation module receives the task from the scheduling module and uses the corresponding computing device CPU or GPU to perform reverse time migration calculation.

[0035] Furthermore, the data I / O module receives the calculation results of the RTM calculation module and outputs them to the disk, then sends a signal to the scheduling module and releases the calculation resources to the device resource pool so that the inspection module can obtain the available resource information.

[0036] Compared with the prior art, the technical solution of the present invention has the following beneficial effects:

[0037] The present invention dynamically allocates resources by pre-defining an available device resource pool, without specifying a device in advance each time a task is executed; task submission does not require specifying a device and can be adapted to joint task processing of heterogeneous nodes, making full use of computing resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 This is a block diagram of an adaptive high-performance computing scheduling system based on a reverse time migration algorithm according to an embodiment of the present invention.

[0039] Figure 2 This is a schematic diagram of the data structure of a device resource pool according to an embodiment of the present invention.

[0040] Figure 3 Schematic diagram of the data structure of the detection module according to an embodiment of the present invention.

[0041] Figure 4 The following is a flowchart of the detection module according to an embodiment of the present invention.

[0042] Figure 5 This is a workflow diagram of the scheduling module, RTM calculation module, and data I / O module in an embodiment of the present invention.

[0043] Figure 6 It is a schematic diagram of the velocity field of the international model data in an embodiment of the present invention.

[0044] Figure 7 4 is a comparison chart of calculation results in an embodiment of the present invention. DETAILED DESCRIPTION

[0045] In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0046] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.

[0047] Example 1

[0048] like Figure 1 As shown, an adaptive high-performance computing scheduling system based on a reverse time migration algorithm, the system includes: a device resource pool, a check module, a scheduling module, an RTM computing module, and a data I / O module, the device resource pool includes a plurality of computing nodes; the check module is used to detect the nodes in the device resource pool and return the available resource information of the nodes for use by the scheduling module; the scheduling module is used to receive a signal from the data I / O module, determine whether the overall task is completed, and if not, submit a resource application to the check module, and after the check module returns the available resource information, the scheduling module sends the task to the RTM computing module; the RTM computing module is used to accept the task of the scheduling module, and use the corresponding computing device CPU or GPU to perform reverse time migration calculation; the data I / O module is used to receive the calculation result of the RTM computing module and output it to the disk, then send a signal to the scheduling module, and release the computing resources to the device resource pool so that the check module can obtain the available resource information.

[0049] It should be noted that the device resource pool described in the present invention is predefined, that is, the information of the computing nodes in the device resource pool is predefined, including: CPU and GPU, memory, cache information, the detection module is used to detect the node status in the device resource pool, and return the node's available computing device, available memory size, and available cache space for use by the scheduling module; the scheduling module is used to receive the signal of the data I / O module, start to determine whether the overall task is completed, if not completed, submit a resource application to the inspection module, after the inspection module returns the available information, the scheduling module sends the task to the RTM calculation module; the RTM calculation module is used to accept the task of the scheduling module, and use the corresponding computing device CPU or GPU to perform reverse time migration calculation, the data I / O module is used to receive the calculation result of the RTM calculation module and output it to the disk, then send a signal to the scheduling module, and release the computing resources to the device resource pool so that the inspection module can obtain available resource information.

[0050] Further, such as Figure 2 As shown, the device resource pool includes multiple computing nodes, each computing node includes a predefined data structure, and the predefined data structure includes: node name, CPU computing power and quantity, GPU computing power and quantity, memory size, cache size (disk space in the node). It should be noted that the data structure indicators of the above computing nodes can be used to determine whether the computing task can be assigned.

[0051] Further, such as Figure 3 As shown, the inspection module includes an entity of a single node in the device resource pool, and performs real-time detection of node resources (for example, detecting the remaining capacity of the CPU, the operating status of the GPU, the available memory space and the available cache space). After the detection is completed, the available computing devices, available memory size, and available cache space of the node are returned for use by the scheduling module.

[0052] Example 2

[0053] A second aspect of the present invention provides an adaptive high-performance computing scheduling method based on a reverse time migration algorithm, the method being applied to the adaptive high-performance computing scheduling system based on a reverse time migration algorithm, comprising the following steps:

[0054] S1: Define the available device resource pool;

[0055] S2: The inspection module detects the device status and provides available computing nodes;

[0056] S3: The scheduling module determines whether the overall task is completed. If not, it sends the task to the available computing nodes.

[0057] S4: After receiving the task, the computing node uses the RTM computing module to perform reverse time migration calculation;

[0058] S5: After the calculation is completed, the calculation result is sent to the data I / O module;

[0059] S6: Repeat step S3 until all tasks are completed.

[0060] Furthermore, the inspection module includes an entity of a single node in the device resource pool, and after real-time detection of node resources, returns the available computing devices, available memory size, and available cache space of the node for use by the scheduling module.

[0061] Further, such as Figure 4 As shown, the workflow of the inspection module is:

[0062] Read all the information of the device resource pool;

[0063] Receive resource requests;

[0064] Detect available resources in the device resource pool according to resource application, find the first node resource information that meets the conditions and return the node resource information;

[0065] Mark the returned node resource information as occupied.

[0066] It should be noted that the workflow of the detection module in the present invention is: first read all the information of the device resource pool, receive resource applications, then detect the available resources in the device resource pool based on the information of the device resource pool, find the first node resource information that meets the conditions and return the node resource information, and mark the resource as occupied. It should be noted that the step of receiving resource applications is a loop execution step.

[0067] Furthermore, the workflow of the scheduling module is:

[0068] Receive the signal from the data I / O module and start to determine whether the overall task is completed. If not, submit a resource request to the inspection module. After the inspection module returns the available resource information, the scheduling module sends the task to the RTM calculation module.

[0069] Furthermore, the RTM calculation module receives the task from the scheduling module and uses the corresponding computing device CPU or GPU to perform reverse time migration calculation.

[0070] Furthermore, the data I / O module receives the calculation results of the RTM calculation module and outputs them to the disk, then sends a signal to the scheduling module and releases the calculation resources to the device resource pool so that the inspection module can obtain the available resource information.

[0071] like Figure 5The figure shows a schematic diagram of the workflow of the scheduling module, data I / O module and RTM calculation module in the present invention. Specifically, the scheduling module first receives a signal from the data I / O module to determine whether the overall task is completed. If the task is not completed, the resource application is submitted to the inspection module. After the inspection module returns the available information, the task is sent to the RTM calculation module. The RTM calculation module receives the task of the scheduling module and uses the corresponding computing device CPU or GPU to perform reverse time migration calculation, and sends the calculation result to the data I / O module. The data I / O module receives the calculation result of the RTM calculation module and outputs it to the disk, then sends a signal to the scheduling module, and releases the computing resources to the resource pool so that the inspection module can obtain available resource information.

[0072] The present invention constructs a scheduling module and a data IO module separately, and integrates the inspection module into the scheduling module to dynamically detect the available status of the device resource pool information, so that dynamic allocation of computing resources can be achieved. By pre-defining the detailed CPU and GPU, memory, and cache information of all hardware in the resource pool, full utilization of heterogeneous cluster nodes can be achieved.

[0073] Example 3

[0074] This embodiment adopts Figure 5 The reverse time migration parallel algorithm in a heterogeneous node environment can be realized by programming in a way, and a 10 Gigabit Ethernet network is used to realize the transmission process. The GPU-RTM coprocessor calculation function adopts the method of the prior art: it uses the idea of ​​matrix slicing and is implemented with the help of the GPU shared memory mechanism. The computing device configuration is as follows: 60 CPU / GPU nodes, each node contains 2 GPU coprocessors, model Nvidia M2090 GPU cards, and 60 pure CPU nodes. Conventional algorithms can only use a set of 60 nodes at the same time. The method of the present invention can use 120 nodes and all resources for simultaneous calculations at the same time. For the specific algorithm test, select an international model data such as Figure 6 The velocity model shown in the figure, the observation system is a wide-azimuth surface acquisition of the entire grid while receiving reflected seismic waves, the grid dimensions are (901, 901, 501), the grid element is (15m, 15m, 10m) three-dimensional acquisition mode, the single shot design is (300m, 300m) grid point to add artificial seismic source, it can be calculated that the number of single shots is 45x45=2025 shot data, the total data volume is 300GB. The reverse time migration algorithm is used to migrate and image it, and the calculation results are as follows Figure 7(a) and (b) are shown. The calculation results of the conventional method are completely consistent with the calculation results of the present invention, proving that the parallel algorithm of the present invention meets the calculation accuracy. In addition, in terms of calculation efficiency, the conventional algorithm uses 60 CPU nodes to calculate and takes 84 hours. If 60 CPU / GPU nodes are used, it takes 16 hours. The method of the present invention uses 120 heterogeneous nodes at the same time and only takes 10 hours, which is 7.25 times higher than that of pure CPU nodes, and 37.5% higher than that of CPU / GPU nodes. Because the embodiment of the present invention only uses artificial model data testing, the scale is relatively small. If applied to seismic wave imaging of actual data in the field of oil exploration, the conventional method usually completes the entire reverse time migration and needs to be estimated on a monthly basis. The present invention can make full use of existing hardware resources, thereby saving a lot of time and machine time costs, which is a favorable method for reducing service costs and improving exploration efficiency.

[0075] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the embodiments here. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the claims of the present invention.

Claims

1. An adaptive high performance computing scheduling method based on a reverse time migration algorithm, the method is applied to an adaptive high performance computing scheduling system based on a reverse time migration algorithm, characterized in that: The adaptive high-performance computing scheduling system based on the reverse time migration algorithm includes: a device resource pool, a check module, a scheduling module, an RTM computing module, and a data I / O module; the device resource pool includes a plurality of computing nodes; the check module is used to detect the nodes in the device resource pool and return the available resource information of the nodes for use by the scheduling module; the scheduling module is used to receive the signal of the data I / O module, judge whether the overall task is completed, and submit a resource application to the check module if it is not completed. After the check module returns the available resource information, the scheduling module sends the task to the RTM computing module; the RTM computing module is used to accept the task of the scheduling module to perform reverse time migration calculation; the data I / O module is used to receive the calculation result of the RTM computing module and output it to the disk, then send a signal to the scheduling module, and release the computing resources to the device resource pool so that the check module can obtain the available resource information; The device resource pool includes a plurality of computing nodes, each computing node includes a predefined data structure; The predefined data structure includes: node name, CPU computing power and quantity, GPU computing power and quantity, memory size, cache size; The inspection module includes an entity of a single node in the device resource pool, and after real-time detection of node resources, returns the available resource information of the node for use by the scheduling module, and the available resource information includes: available computing devices, available memory size, and available cache space; The method comprises the following steps: S1: Define the available device resource pool; S2: The inspection module detects the device status and provides available computing nodes; S3: The scheduling module determines whether the overall task is completed. If not, it sends the task to the available computing nodes. S4: After receiving the task, the computing node uses the RTM computing module to perform reverse time migration calculation; S5: After the calculation is completed, the calculation result is sent to the data I / O module; S6: Repeat step S3 until all tasks are completed.

2. The adaptive high performance computing scheduling method based on the reverse time migration algorithm according to claim 1, characterized in that: The inspection module includes an entity of a single node in the device resource pool, and after real-time detection of node resources, returns the available computing devices, available memory size, and available cache space of the node for use by the scheduling module.

3. The adaptive high performance computing scheduling method based on the reverse time migration algorithm according to claim 1 is characterized in that: The workflow of the inspection module is: Read all the information of the device resource pool; Receive resource requests; Detect available resources in the device resource pool according to resource application, find the first node resource information that meets the conditions and return the node resource information; Mark the returned node resource information as occupied.

4. The adaptive high performance computing scheduling method based on the reverse time migration algorithm according to claim 1, characterized in that: The workflow of the scheduling module is: Receive the signal from the data I / O module and determine whether the overall task is completed. If not, submit a resource request to the inspection module. After the inspection module returns the available resource information, the scheduling module sends the task to the RTM calculation module.

5. The adaptive high performance computing scheduling method based on the reverse time migration algorithm according to claim 1 is characterized in that: The RTM calculation module receives the tasks from the scheduling module and uses the corresponding computing device CPU or GPU to perform reverse time migration calculation.

6. The adaptive high performance computing scheduling method based on the reverse time migration algorithm according to claim 1, characterized in that: The data I / O module receives the calculation results of the RTM calculation module and outputs them to the disk, then sends a signal to the scheduling module and releases the computing resources to the device resource pool so that the inspection module can obtain available resource information.

Citation Information

Patent Citations

  • Adaptive calling system and method for heterogeneous nodes based on reverse-time migration algorithm

    CN108345030A