Wind resource simulation task scheduling method and device, equipment and storage medium
Patent Information
- Application Number
- CN202610092045.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-23
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2046-01-23
AI Technical Summary
[0006]本申请的主要目的在于提供一种风资源仿真任务调度方法、装置、设备及存储介质,旨在解决如何提高调度系统的资源利用率和混合任务负载下的调度效率的技术问题
[0018] This application obtains the resource request amount corresponding to the target simulation task; determines whether the resource request amount meets the resource threshold condition of the target computing node based on a resource safety threshold mathematical model; and when the resource request amount meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node. This solves the problem of computational crashes or resource idleness caused by resource overload or improper allocation in traditional scheduling. Compared with existing technologies, it achieves accurate and secure task matching of heterogeneous resources while ensuring computational stability, significantly improving the overall resource utilization and scheduling reliability of the system.
Smart Images

Figure CN121579177B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wind power engineering technology, and in particular to wind resource simulation task scheduling methods, devices, equipment and storage media. Background Technology
[0002] With the expansion of offshore and onshore wind power development and the increasing complexity of wind resource assessment software applications, wind farm wind resource simulation cloud platforms need to support multi-user concurrency, multi-project parallel computing, and diverse server deployment schemes. This requires the system to achieve second-level response scheduling of computing tasks, real-time and accurate resource status monitoring, and avoid resource idleness and task blocking in scenarios with a mix of long-duration and short-duration tasks, thereby maximizing the utilization of expensive high-performance computing resources.
[0003] Currently, traditional wind resource simulation scheduling systems mostly employ HTTP polling mechanisms. HTTP polling typically has long polling intervals, leading to significant delays in task status updates and failing to meet real-time interaction requirements. Furthermore, the time lag between resource status acquisition and task scheduling can cause resources to be released but not matched promptly, creating "virtual idle" windows and reducing resource utilization. Simultaneously, existing scheduling strategies are relatively simple, lacking advanced scheduling mechanisms such as backfilling algorithms. When faced with a mixed load of long and short tasks, long tasks can easily occupy resources, causing short tasks to queue for extended periods, resulting in low system scheduling efficiency.
[0004] Currently, improving the resource utilization rate of the scheduling system and the scheduling efficiency under mixed task loads are urgent problems to be solved.
[0005] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0006] The main purpose of this application is to provide a wind resource simulation task scheduling method, apparatus, equipment and storage medium, which aims to solve the technical problem of how to improve the resource utilization rate of the scheduling system and the scheduling efficiency under mixed task loads.
[0007] To achieve the above objectives, this application proposes a wind resource simulation task scheduling method, which is applied to the central scheduling server of a wind resource simulation task scheduling system. The method includes: Obtain the resource request amount corresponding to the target simulation task; The resource request amount for the task is determined based on the resource security threshold mathematical model to determine whether it meets the resource threshold condition of the target computing node. When the resource request amount of the task meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node.
[0008] In one embodiment, the wind resource simulation task scheduling system includes a web front-end; The process of obtaining the resource request amount corresponding to the target simulation task includes: Receive simulation calculation tasks from the web front-end; Identify the task type of the simulation computation task; Set priority according to the task type; The simulation calculation task is added to the task waiting queue according to the priority. Determine the target simulation task from the task waiting queue; Obtain the resource request amount corresponding to the target simulation task.
[0009] In one embodiment, determining whether the resource request amount of the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model includes: Obtain the target compute node from the global resource mapping table; Obtain the deployment mode, wherein the deployment mode includes single-machine centralized and multi-machine distributed; Determine the resource security threshold mathematical model based on the deployment mode; Based on the resource security threshold mathematical model, determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node.
[0010] In one embodiment, the wind resource simulation task scheduling system further includes multiple computing nodes; Before obtaining the target compute node from the global resource mapping table, the process also includes: Resource probe packets are sent to multiple computing nodes according to the polling interval, and status packets are received from each computing node based on the resource probe packets. Based on the status packet, the node resources corresponding to each computing node are obtained; The global resource mapping table is updated based on the node resources.
[0011] In one embodiment, after updating the global resource mapping table based on the node resources, the method further includes: Obtain the baseline heart rate interval; The system load rate is obtained based on the global resource mapping table. The polling interval is adjusted based on the baseline heartbeat interval and the system load rate. Based on the adjusted polling interval, determine the node disconnection threshold and send the resource detection packet to multiple computing nodes; If the time required to determine if a node is offline is reached and no status packets are received from the computing nodes based on the resource detection packets, the computing nodes that have not received status packets are determined to be offline and task migration is triggered.
[0012] In one embodiment, after determining whether the resource request amount of the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model, the method further includes: When the resource request amount for the task does not meet the resource threshold condition of the target computing node, the estimated start time of the target simulation task is obtained; Traverse the task waiting queue and determine whether the resource request amount corresponding to each scheduled task in the task waiting queue meets the resource threshold condition of the target computing node. If the resource request amount corresponding to the task to be scheduled meets the resource threshold condition of the target computing node and the expected running time of the task to be scheduled is less than the expected start time, the task to be scheduled is designated as the target simulation task, and the step of sending the target simulation task to the target computing node is executed.
[0013] In one embodiment, after the step of sending the target simulation task to the target computing node when the resource request amount meets the resource threshold condition of the target computing node, the method further includes: Generate remote procedure call instructions based on the target simulation task; The target simulation task is executed by the solver of the target computing node based on the remote procedure call instruction. During the execution of the target simulation task by the solver of the target computing node, the resource load of the target computing node is obtained; When the resource load of the target computing node exceeds the circuit breaker threshold, a load protection strategy is executed.
[0014] Furthermore, to achieve the above objectives, this application also proposes a wind resource simulation task scheduling device, which includes: The acquisition module is used to acquire the amount of resource requests corresponding to the target simulation task. The judgment module is used to determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model. The distribution module is used to distribute the target simulation task to the target computing node when the resource request amount of the task meets the resource threshold condition of the target computing node.
[0015] In addition, to achieve the above objectives, this application also proposes a wind resource simulation task scheduling device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the wind resource simulation task scheduling method described above.
[0016] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the wind resource simulation task scheduling method described above.
[0017] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the wind resource simulation task scheduling method described above.
[0018] This application obtains the resource request amount corresponding to the target simulation task; determines whether the resource request amount meets the resource threshold condition of the target computing node based on a resource safety threshold mathematical model; and when the resource request amount meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node. This solves the problem of computational crashes or resource idleness caused by resource overload or improper allocation in traditional scheduling. Compared with existing technologies, it achieves accurate and secure task matching of heterogeneous resources while ensuring computational stability, significantly improving the overall resource utilization and scheduling reliability of the system. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart illustrating an embodiment of the wind resource simulation task scheduling method of this application. Figure 2 This is a flowchart illustrating Embodiment 2 of the wind resource simulation task scheduling method of this application. Figure 3 A simplified flowchart is provided for Embodiment 2 of the wind resource simulation task scheduling method of this application; Figure 4 This is a schematic diagram of the module structure of the wind resource simulation task scheduling device according to an embodiment of this application; Figure 5 This is a schematic diagram of the equipment structure of the hardware operating environment involved in the wind resource simulation task scheduling method in the embodiments of this application.
[0022] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0023] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0024] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0025] The main solution of this application embodiment is: to obtain the resource request amount corresponding to the target simulation task; to determine whether the resource request amount meets the resource threshold condition of the target computing node according to the resource security threshold mathematical model; and to send the target simulation task to the target computing node when the resource request amount meets the resource threshold condition of the target computing node.
[0026] In this embodiment, for ease of description, the central scheduling server of the wind resource simulation task scheduling system will be used as the execution subject for the following description.
[0027] Traditional wind resource simulation scheduling systems often employ HTTP polling mechanisms. HTTP polling typically has long polling intervals, leading to significant delays in task status updates and failing to meet real-time interaction requirements. Furthermore, the time lag between resource status acquisition and task scheduling can cause resources to be released but not matched promptly, creating "virtual idle" windows and reducing resource utilization. Simultaneously, existing scheduling strategies are relatively simple, lacking advanced scheduling mechanisms such as backfilling algorithms. When faced with a mixed load of long and short tasks, long tasks can easily occupy resources, causing short tasks to queue for extended periods, resulting in low system scheduling efficiency.
[0028] This application provides a solution that addresses the problems of computational crashes or resource idleness caused by resource overload or improper allocation in traditional scheduling. Compared with existing technologies, it achieves accurate and secure task matching of heterogeneous resources while ensuring computational stability, significantly improving the overall resource utilization and scheduling reliability of the system.
[0029] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device capable of performing the above functions, such as the central scheduling server of a wind resource simulation task scheduling system. The following description uses the central scheduling server of a wind resource simulation task scheduling system as an example to illustrate this embodiment and the subsequent embodiments.
[0030] Based on this, embodiments of this application provide a wind resource simulation task scheduling method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the wind resource simulation task scheduling method of this application.
[0031] In this embodiment, the wind resource simulation task scheduling method includes steps S10~S30: Step S10: Obtain the resource request amount corresponding to the target simulation task; It should be noted that the target simulation task refers to the specific simulation calculation job selected from the task waiting queue that is about to undergo resource matching and scheduling, such as directional calculation, comprehensive calculation, or layout optimization tasks in wind resource assessment. The resource request amount of the task refers to the quantitative indicator of the computing resources required to execute the simulation task, including but not limited to the number of CPU cores and memory size.
[0032] Understandably, given the diverse types, varying resource requirements, and differing execution times of wind resource simulation tasks, indiscriminate scheduling of all tasks could easily lead to resource allocation conflicts or uneven utilization. Obtaining the resource requirements of the tasks to be scheduled in step S10 avoids resource overload or fragmentation caused by blind scheduling, thereby improving the accuracy of subsequent resource matching and scheduling success rate.
[0033] In one feasible implementation, step S10 may include: receiving a simulation computing task from a Web frontend; identifying the task type of the simulation computing task; setting a priority according to the task type; adding the simulation computing task to a task waiting queue according to the priority; determining a target simulation task from the task waiting queue; and obtaining the task request resource amount corresponding to the target simulation task.
[0034] It's important to note that the web frontend refers to the interactive interface running in the user's browser, based on a B / S architecture, used for submitting tasks and monitoring status. Simulation tasks are specific CFD (Computational Fluid Dynamics) simulation jobs submitted by the user through the frontend and executed on computing nodes. Task types include directed computation, comprehensive computation, and layout optimization, with significant differences in computation time and resource requirements between different types. Priority is a level identifier used for scheduling and ordering, such as High, Medium, and Low, controlling the dequeue order of tasks. The task waiting queue is a priority-based task buffer structure, typically implemented using a multi-level FIFO (First In, First Out) queue.
[0035] For example, for short-duration comprehensive computing tasks (5-10 min) and layout optimization tasks (1-10 min), users can manually set the priority to "High" or set an automatic promotion strategy to prioritize them over long-duration targeted computing tasks (6-10 h) when scanning and matching. When a user submits a "layout optimization" task, the system identifies it as a short-duration task, automatically sets its priority to "High" or allows the user to set it, and inserts it into a high-priority queue; the scheduler retrieves the task from the head of the queue as the target simulation task and parses its preset resource requests.
[0036] In this implementation, task classification and priority queue management enable the orderly organization of mixed loads, solving the problem of high-priority short tasks being blocked by long tasks due to disordered task accumulation in traditional scheduling, thereby improving system response speed and user experience.
[0037] The above are merely feasible implementations of step S10 provided in this embodiment. This embodiment does not specifically limit the specific implementation of step S10.
[0038] Step S20: Determine whether the resource request amount of the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model; It should be noted that the resource safety threshold mathematical model is a set of mathematical inequalities used to determine whether a computing node can safely undertake a new task. Its core is to ensure that the overall resource utilization of the node does not exceed a safe upper limit (e.g., 95%) after the task runs, while also considering the physical capacity of a single node and the global load of the cluster. The target computing node refers to the physical or virtual computing unit selected from the resource pool to be used to execute the target simulation task. The resource threshold condition refers to the safe relationship that the resource request amount and the current resource usage and total resource amount of the target computing node must satisfy.
[0039] Understandably, since wind resource CFD computation is a memory and CPU intensive task, resource overload can easily lead to process crashes or sudden performance drops. By performing precise resource admission determination based on a mathematical model in step S20, system instability or task execution failures caused by excessive resource allocation can be avoided, thereby improving computation success rate and overall cluster reliability.
[0040] In one feasible implementation, step S20 may include: obtaining the target computing node from the global resource mapping table; obtaining the deployment mode, wherein the deployment mode includes single-machine centralized and multi-machine distributed; determining a resource security threshold mathematical model according to the deployment mode; and determining whether the resource amount requested by the task meets the resource threshold condition of the target computing node according to the resource security threshold mathematical model.
[0041] It should be noted that the global resource mapping table is a data structure maintained in the scheduling server's memory, used to record the real-time resource status of each computing node (such as CPU utilization and memory utilization). Deployment mode refers to the system hardware architecture: single-machine centralized means all computing services are deployed on the same physical machine, while multi-machine distributed means computing services are distributed across multiple physical machines or virtual machines interconnected by a network.
[0042] The system supports seamless switching between single-machine centralized and multi-machine distributed deployment modes.
[0043] When the system is deployed in a distributed mode, the Socket service gateway communicates with the resource daemons of each node via a TCP / IP network, enabling both global and local constraint judgments. The system includes... The resource security threshold mathematical model includes: (Number of computing nodes) Global resource level constraints:
[0044] Single-node physical admission constraints:
[0045] The parameters have the following meanings: Let i be the CPU utilization of node i. Let i be the memory utilization rate of node i; Let J be the CPU utilization of node j. Let be the memory utilization rate of node j; , The amount of resources requested by the task; , For nodes The total amount of physical resources; , For nodes The total amount of physical resources.
[0046] When the system is deployed in standalone mode, the Socket service gateway and the resource daemon communicate through the local loopback address (Localhost). The resource security threshold mathematical model is automatically downgraded to standalone judgment, which only needs to meet the physical access constraints of a single node. Resource judgment only verifies the local machine.
[0047] In this embodiment, the scheduling strategy and hardware architecture are decoupled through dual resource constraint determination with adaptive deployment mode. This solves the problem that a single resource determination model cannot be compatible with different deployment scenarios and is prone to causing local or global overload in a distributed environment.
[0048] Specifically, the wind resource simulation task scheduling system further includes multiple computing nodes; before obtaining the target computing node from the global resource mapping table, the system further includes: sending resource probe packets to multiple computing nodes according to the polling interval, and receiving status packets fed back by each computing node based on the resource probe packets; obtaining the node resources corresponding to each computing node based on the status packets; and updating the global resource mapping table based on the node resources.
[0049] It should be noted that a compute node is the hardware unit that actually performs the simulation computation task. The polling interval is the time period during which the scheduler actively probes the resource status of compute nodes. A resource probe packet is a network command packet sent by the scheduler to the compute node to trigger resource reporting. A status packet is a response packet returned by the compute node containing information such as current CPU utilization and memory utilization. Node resources are the resource usage data parsed from the status packet.
[0050] For example, the HUB (central scheduling) server starts a Ticker (timer) that triggers a probe event every 3 seconds.
[0051] The C++ resource probes running on each compute node read the local / proc / stat (CPU) and / proc / meminfo (memory) data, calculate the current utilization, and generate a status packet: {cpu_usage: 45.2%, mem_usage: 62.1%}, which means that the current CPU utilization of the compute node is 45.2% and the memory utilization is 62.1%.
[0052] The probe sends the status packet back to the HUB via a TCP connection, and the HUB updates the global resource mapping table in memory.
[0053] Furthermore, after updating the global resource mapping table based on the node resources, the method further includes: obtaining the basic heartbeat interval; obtaining the system load rate according to the global resource mapping table; adjusting the polling interval according to the basic heartbeat interval and the system load rate; determining the node disconnection judgment threshold according to the adjusted polling interval, and sending the resource probe packet to multiple computing nodes; when the node disconnection judgment threshold is reached and no status packet is received from each computing node based on the resource probe packet, determining that the computing node that did not send a status packet is offline and triggering task migration.
[0054] It should be noted that the basic heartbeat interval is a system-preset baseline for the regular detection period (e.g., 3 seconds). The system load rate is the average utilization rate of the overall cluster resources calculated based on the global resource mapping table. The node disconnection judgment threshold is a time threshold used to determine if a node is offline. An offline state indicates that the node is unavailable. Task migration refers to rescheduling tasks originally assigned to the offline node to other healthy nodes.
[0055] For example, polling interval The settings are based on high-performance computing scheduling standards, and the specific strategy is as follows: set a basic heartbeat interval. 3 to 5 seconds are used for routine resource data collection; When system load rate Automatic adjustment Reduce monitoring costs; When system load rate Automatic adjustment To ensure data real-time performance under high load; Set a threshold for determining node disconnection If no heartbeat is received from the node within this time, the node is determined to be offline and a task migration is triggered.
[0056] The above are merely feasible implementations of step S20 provided in this embodiment. This embodiment does not specifically limit the specific implementation of step S20.
[0057] Step S30: When the resource request amount of the task meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node.
[0058] Understandably, wind resource simulation calculations (such as CFD solutions) are high-load, time-consuming scientific calculations. If a task is scheduled to a node that does not meet stable operating conditions, it is highly likely to cause process crashes or system freezes, leading to computational failures and resource waste. Therefore, only after the task's resource request volume has passed a strict mathematical threshold check should it be actually issued for execution. This can avoid computational interruptions and node instability caused by resource overload allocation, thereby significantly improving the success rate of task execution and the overall availability of the system.
[0059] In one feasible implementation, step S30 may include: generating a remote procedure call instruction based on the target simulation task; triggering the solver of the target computing node to execute the target simulation task based on the remote procedure call instruction; obtaining the resource load of the target computing node during the execution of the target simulation task by the solver of the target computing node; and executing a load protection strategy when the resource load of the target computing node exceeds the circuit breaker threshold.
[0060] It should be noted that Remote Procedure Call (RPC) instructions are internal commands issued by the central scheduling server to the target computing node for remotely starting and controlling the computing process. It is an efficient inter-process communication mechanism that encapsulates task parameters and execution commands into instructions, which are sent to the daemon process of the computing node via network or local communication, where the daemon process parses and executes them. The solver refers to the software that performs the core calculations for wind resource simulation, such as the CFD solver QFLUX (QuickFlux) in this system. It is the engine for performing numerical calculations in fluid dynamics, receiving input files (such as terrain and wind turbine parameters) and outputting calculation results (such as wind speed and turbulence). Resource load refers to key performance indicators such as real-time CPU utilization and memory utilization of the target computing node during task execution. The circuit breaker threshold is a preset resource safety red line that is higher than the scheduling admission threshold (such as 95%) (e.g., CPU or memory utilization consistently reaches 98%). When the load exceeds this threshold, it indicates that the actual consumption of the task may exceed expectations or an anomaly may occur, posing a risk of system crash. Load protection policies are emergency response mechanisms that are automatically triggered when resource load exceeds the circuit breaker threshold. Their purpose is to protect nodes and the system. Policies may include: terminating the current task, marking the task status as failed and requeuing it, or migrating the task to other idle nodes in a distributed environment.
[0061] In this implementation, a complete safety closed loop from "pre-scheduling prevention" to "runtime protection" is formed through real-time load monitoring and circuit breaker protection mechanisms during execution. This solves the problem of chain failures caused by a single task abnormally dragging down the entire node or even the cluster due to the lack of runtime overload protection in traditional scheduling systems, thereby greatly enhancing the robustness of large-scale simulation computing environments.
[0062] The above are merely feasible implementations of step S30 provided in this embodiment. This embodiment does not specifically limit the specific implementation of step S30.
[0063] This embodiment provides a wind resource simulation task scheduling method. It obtains the resource request amount corresponding to the target simulation task; determines whether the resource request amount meets the resource threshold condition of the target computing node based on a resource safety threshold mathematical model; and when the resource request amount meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node. This solves the problem of computational crashes or resource idleness caused by resource overload or improper allocation in traditional scheduling. Compared with existing technologies, it achieves accurate and secure task matching of heterogeneous resources while ensuring computational stability, significantly improving the overall resource utilization and scheduling reliability of the system.
[0064] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment described above can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 2 After step S20, the wind resource simulation task scheduling method further includes steps S21 to S23: Step S21: When the resource request amount of the task does not meet the resource threshold condition of the target computing node, obtain the estimated start time of the target simulation task; It should be noted that the estimated startup time refers to how long the currently blocked high-priority task (target simulation task) is expected to wait before its resource requirements are met and it can begin execution. This time is dynamically calculated based on the estimated completion time of currently running tasks, resource release rate, and queue status.
[0065] Understandably, since high-priority tasks are often blocked due to their high resource requirements, if the system does nothing during the waiting period, computing resources will be idle during the waiting window. Therefore, step S21, by predicting the waiting window of high-priority tasks, can avoid the waste of resources during scheduling gaps, thus providing a basis for decision-making to schedule other tasks using this time window, improving the system's insight and scheduling initiative.
[0066] Step S22: Traverse the task waiting queue and determine whether the resource request amount corresponding to each scheduled task in the task waiting queue meets the resource threshold condition of the target computing node. It should be noted that the tasks to be scheduled refer to simulation computing tasks that are in the task waiting queue and have not yet been scheduled for execution. They usually have a lower priority than the blocked task at the head of the queue.
[0067] Understandably, since the task waiting queue may contain "gap-filling" tasks with low resource requirements and short execution times, if the system simply waits rigidly for the conditions of high-priority tasks to be met, it will lose the opportunity to improve overall throughput. Therefore, step S22, which actively scans the resource feasibility of all tasks to be scheduled in the queue, can avoid overall scheduling deadlock caused by a single task blocking, thereby creating conditions for mining and utilizing fragmented computing resources and improving the flexibility and exploratory capabilities of the scheduling system.
[0068] Step S23: If the resource request amount corresponding to the task to be scheduled meets the resource threshold condition of the target computing node and the expected running time of the task to be scheduled is less than the expected start time, the task to be scheduled is designated as the target simulation task, and the step of sending the target simulation task to the target computing node is executed.
[0069] It should be noted that the estimated runtime refers to the time required for a scheduled task to go from start to finish. This estimate is based on the task type, historical execution data, or user-provided expectations.
[0070] Understandably, the scheduling of "gap-filling" tasks ensures that the timely start of high-priority tasks is not affected, otherwise the congestion situation would worsen. Therefore, step S23, which adds a time constraint (estimated running time less than estimated start time) for double verification on the basis of meeting resource conditions, can avoid the negative effect of "gap-filling" scheduling delaying the start of high-priority tasks. Thus, while improving resource utilization, it strictly protects the scheduling rights of high-priority tasks, achieving a balance between efficiency and fairness.
[0071] For example, the system maintains three priority FIFO queues: .
[0072] Regular scheduling: Prioritize from Get the task.
[0073] Optimized scheduling (Backfilling): Scenario: Currently, there are 10 CPU cores remaining. The task at the head of the queue is a "targeted computing" task (requires 64 cores, high priority), which is blocked.
[0074] Action: The central scheduling server predicts that it will take another hour to obtain resources for directional calculations.
[0075] Scan: View or The task "Layout Optimization" was discovered (requires 4 cores and takes 5 minutes).
[0076] Decision: If the time required is less than 5 minutes but less than 1 hour, and the number of cores is less than 10, immediately schedule and optimize the deployment of tasks online.
[0077] Effect: Utilizes fragmented resources without delaying the startup of high-priority tasks.
[0078] This application provides a solution that, when the resource request amount of a task does not meet the resource threshold condition of the target computing node, obtains the estimated start time of the target simulation task; traverses the task waiting queue to determine whether the resource request amount corresponding to each task to be scheduled in the queue meets the resource threshold condition of the target computing node; if the resource request amount corresponding to the task to be scheduled meets the resource threshold condition of the target computing node and the estimated running time of the task to be scheduled is less than the estimated start time, the task to be scheduled is designated as the target simulation task, and the step of sending the target simulation task to the target computing node is executed. This solves the technical problems of traditional scheduling strategies, such as idle system resources during the waiting period when facing tasks with high resource demands, and starvation of short tasks in mixed long and short task scenarios. It achieves the proactive scheduling of executable short tasks within their waiting time windows while ensuring that high-priority tasks are not delayed, thereby maximizing the utilization of computing resources and significantly shortening the average waiting time and completion time of short tasks. This improves the overall system throughput and scheduling efficiency, and optimizes the user experience under mixed loads.
[0079] For example, to help understand the implementation process of the wind resource simulation task scheduling method obtained in this embodiment combined with the above embodiment one, please refer to... Figure 3 , Figure 3 A simplified flowchart of a wind resource simulation task scheduling method is provided, specifically: The task scheduling process of this invention begins with a user submitting a task via a web frontend. After the user completes and confirms the parameter settings on the frontend interface, the frontend sends an Action instruction packet encapsulated in JSON format to the central scheduling server (HUB) via an established WebSocket long connection. The content includes the task type, resource requirements, and priority. Upon receiving the instruction, the central scheduling server parses and registers the task through the task management service, identifies the task type (such as targeted calculation, comprehensive calculation, or layout optimization), and assigns it a priority (high, medium, or low) according to preset rules or user settings. Subsequently, the task is added to the corresponding multi-level priority waiting queue, completing the initial stage from user submission to entry into the system scheduling queue.
[0080] Once a task enters the queue, the system's scheduling core begins operation. The computing resource management service continuously runs an adaptive heartbeat mechanism, sending lightweight resource probe packets to each computing node in the cluster at preset polling intervals. Resource daemons on each node respond to the probes, collecting local CPU and memory utilization information and encapsulating it into status packets to return. The central scheduling server updates its maintained global resource mapping table accordingly, forming a real-time resource view. When the scheduler retrieves a target simulation task from the head of the task waiting queue, it enters the crucial task-resource matching and scheduling phase. The system loads the corresponding resource safety threshold mathematical model based on the current deployment mode (single-machine / distributed), compares the task's resource request quantity with the target node's current resource status, and performs an admission determination. If the resource threshold conditions are met, the match is considered successful.
[0081] After successful matching, the system executes task distribution and computation. First, the data transmission service is invoked to transfer the required input files, such as mesh data, to the target computing node via the mesh data loading service. Next, the scheduler triggers the target computing node's CFD solver (e.g., QFLUX) via internal RPC instructions, officially starting the computation process. Once computation begins, the system immediately pushes a "Start Computation" status to the web frontend, achieving real-time status synchronization. During computation, the computing resource management service continuously monitors the node's resource load; if it exceeds the circuit breaker threshold, a load protection strategy is implemented. After computation, the node's computation result data service sends the result data back via the data transmission service and ultimately stores it in local storage or a designated location. Simultaneously, the frontend receives a "Computation Completed" status update, thus completing a closed-loop management of the entire lifecycle of a simulation task from submission, scheduling, computation to result retrieval.
[0082] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the wind resource simulation task scheduling method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0083] This application also provides a wind resource simulation task scheduling device, please refer to... Figure 4 The wind resource simulation task scheduling device includes: Module 10 is used to obtain the amount of task request resources corresponding to the target simulation task; The judgment module 20 is used to determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model. The distribution module 30 is used to distribute the target simulation task to the target computing node when the resource request amount of the task meets the resource threshold condition of the target computing node.
[0084] The wind resource simulation task scheduling device provided in this application, employing the wind resource simulation task scheduling method in the above embodiments, can solve the technical problem of how to improve the resource utilization rate and scheduling efficiency of the scheduling system under mixed task loads. Compared with the prior art, the beneficial effects of the wind resource simulation task scheduling device provided in this application are the same as those of the wind resource simulation task scheduling method provided in the above embodiments, and other technical features in the wind resource simulation task scheduling device are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0085] The acquisition module 10 is further configured to receive simulation computing tasks from the Web front-end; identify the task type of the simulation computing task; set a priority according to the task type; add the simulation computing task to the task waiting queue according to the priority; determine the target simulation task from the task waiting queue; and obtain the task request resource amount corresponding to the target simulation task.
[0086] The judgment module 20 is further configured to obtain the target computing node from the global resource mapping table; obtain the deployment mode, wherein the deployment mode includes single-machine centralized and multi-machine distributed; determine the resource security threshold mathematical model according to the deployment mode; and determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node according to the resource security threshold mathematical model.
[0087] The judgment module 20 is further configured to send resource probe packets to multiple computing nodes according to the polling interval, and receive status packets fed back by each computing node based on the resource probe packets; obtain the node resources corresponding to each computing node based on the status packets; and update the global resource mapping table based on the node resources.
[0088] The judgment module 20 is further configured to: obtain the basic heartbeat interval; obtain the system load rate according to the global resource mapping table; adjust the polling interval according to the basic heartbeat interval and the system load rate; determine the node disconnection judgment threshold according to the adjusted polling interval, and send the resource probe packet to multiple computing nodes; when the node disconnection judgment threshold is reached and no status packet is received from each computing node based on the resource probe packet, the computing node that has not received a status packet is determined to be offline and task migration is triggered.
[0089] The distribution module 30 is further configured to: obtain the estimated start time of the target simulation task when the resource request amount of the task does not meet the resource threshold condition of the target computing node; traverse the task waiting queue to determine whether the resource request amount of each scheduled task in the task waiting queue meets the resource threshold condition of the target computing node; and when the resource request amount of the scheduled task meets the resource threshold condition of the target computing node and the estimated running time of the scheduled task is less than the estimated start time, designate the scheduled task as the target simulation task and execute the step of distributing the target simulation task to the target computing node.
[0090] The distribution module 30 is further configured to generate a remote procedure call instruction based on the target simulation task; trigger the solver of the target computing node to execute the target simulation task based on the remote procedure call instruction; obtain the resource load of the target computing node during the execution of the target simulation task by the solver of the target computing node; and execute a load protection strategy when the resource load of the target computing node exceeds the circuit breaker threshold.
[0091] This application provides a wind resource simulation task scheduling device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the wind resource simulation task scheduling method in the above embodiment 1.
[0092] The following is for reference. Figure 5 The diagram illustrates a structural schematic of a wind resource simulation task scheduling device suitable for implementing embodiments of this application. The wind resource simulation task scheduling device in this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The wind resource simulation task scheduling device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0093] like Figure 5As shown, the wind resource simulation task scheduling device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in ROM (Read Only Memory) 1002 or a program loaded from storage device 1003 into random access memory (RRAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the wind resource simulation task scheduling device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows the wind resource simulation task scheduling device to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows wind resource simulation task scheduling devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0094] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0095] The wind resource simulation task scheduling device provided in this application, employing the wind resource simulation task scheduling method in the above embodiments, can solve the technical problem of how to improve the resource utilization rate and scheduling efficiency of the scheduling system under mixed task loads. Compared with the prior art, the beneficial effects of the wind resource simulation task scheduling device provided in this application are the same as those of the wind resource simulation task scheduling method provided in the above embodiments, and other technical features in this wind resource simulation task scheduling device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0096] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0097] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0098] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the wind resource simulation task scheduling method in the above embodiments.
[0099] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0100] The aforementioned computer-readable storage medium may be included in the wind resource simulation task scheduling device; or it may exist independently and not be assembled into the wind resource simulation task scheduling device.
[0101] The aforementioned computer-readable storage medium carries one or more programs. When the aforementioned one or more programs are executed by the wind resource simulation task scheduling device, the wind resource simulation task scheduling device: obtains the resource request amount corresponding to the target simulation task; determines whether the resource request amount meets the resource threshold condition of the target computing node according to the resource security threshold mathematical model; and when the resource request amount meets the resource threshold condition of the target computing node, sends the target simulation task to the target computing node.
[0102] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0103] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0104] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0105] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described wind resource simulation task scheduling method. This addresses the technical problem of improving resource utilization and scheduling efficiency under mixed task loads in the scheduling system. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the wind resource simulation task scheduling method provided in the above embodiments, and will not be elaborated upon here.
[0106] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the wind resource simulation task scheduling method described above.
[0107] The computer program product provided in this application can solve the technical problem of how to improve the resource utilization rate and scheduling efficiency of the scheduling system under mixed task loads. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the wind resource simulation task scheduling method provided in the above embodiments, and will not be repeated here.
[0108] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A wind resource simulation task scheduling method, characterized in that, The wind resource simulation task scheduling method is applied to the central scheduling server of the wind resource simulation task scheduling system. The method includes: Obtain the resource request amount corresponding to the target simulation task; The resource security threshold mathematical model is used to determine whether the resource request amount of the task meets the resource threshold condition of the target computing node. The model includes a global resource level constraint and a single-node physical admission constraint. The formula for the global resource level constraint is: The formula for single-node physical admission constraints is: in, This represents k computing nodes. Let i be the CPU utilization of node i. Let i be the memory utilization of node i. Let J be the CPU utilization of node j. Let j be the memory utilization rate of node j. , The amount of resources requested by the task. , For nodes The total amount of physical resources, , For nodes The total amount of physical resources; When the resource request amount of the task meets the resource threshold condition of the target computing node, the target simulation task is sent to the target computing node; The step of determining whether the resource request amount of the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model includes: Obtain the target compute node from the global resource mapping table; Obtain the deployment mode, wherein the deployment mode includes single-machine centralized and multi-machine distributed; Determine the resource security threshold mathematical model based on the deployment mode; Based on the resource security threshold mathematical model, determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node; The wind resource simulation task scheduling system also includes multiple computing nodes; Before obtaining the target compute node from the global resource mapping table, the process also includes: Resource probe packets are sent to multiple computing nodes according to the polling interval, and status packets are received from each computing node based on the resource probe packets. Based on the status packet, the node resources corresponding to each computing node are obtained; The global resource mapping table is updated based on the node resources.
2. The method as described in claim 1, characterized in that, The wind resource simulation task scheduling system includes a web front-end; The process of obtaining the resource request amount corresponding to the target simulation task includes: Receive simulation calculation tasks from the web front-end; Identify the task type of the simulation computation task; Set priority according to the task type; The simulation calculation task is added to the task waiting queue according to the priority. Determine the target simulation task from the task waiting queue; Obtain the resource request amount corresponding to the target simulation task.
3. The method as described in claim 1, characterized in that, After updating the global resource mapping table based on the node resources, the process also includes: Obtain the baseline heart rate interval; The system load rate is obtained based on the global resource mapping table. The polling interval is adjusted based on the baseline heartbeat interval and the system load rate. Based on the adjusted polling interval, determine the node disconnection threshold and send the resource detection packet to multiple computing nodes; If the time required to determine if a node is offline is reached and no status packets are received from the computing nodes based on the resource detection packets, the computing nodes that have not received status packets are determined to be offline and task migration is triggered.
4. The method as described in claim 1, characterized in that, After determining whether the resource request amount meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model, the method further includes: When the resource request amount of the task does not meet the resource threshold condition of the target computing node, the estimated start time of the target simulation task is obtained, wherein the estimated start time refers to the estimated waiting time for the currently blocked target simulation task; Traverse the task waiting queue and determine whether the resource request amount corresponding to each scheduled task in the task waiting queue meets the resource threshold condition of the target computing node. If the resource request amount corresponding to the task to be scheduled meets the resource threshold condition of the target computing node and the expected running time of the task to be scheduled is less than the expected start time, the task to be scheduled is designated as the target simulation task, and the step of sending the target simulation task to the target computing node is executed.
5. The method as described in claim 1, characterized in that, After the target simulation task is sent to the target computing node when the resource request amount meets the resource threshold condition of the target computing node, the method further includes: Generate remote procedure call instructions based on the target simulation task; The target simulation task is executed by the solver of the target computing node based on the remote procedure call instruction. During the execution of the target simulation task by the solver of the target computing node, the resource load of the target computing node is obtained; When the resource load of the target computing node exceeds the circuit breaker threshold, a load protection strategy is executed.
6. A wind resource simulation task scheduling device, characterized in that, The device includes: The acquisition module is used to acquire the amount of resource requests corresponding to the target simulation task. The judgment module is used to determine whether the resource request amount of the task meets the resource threshold condition of the target computing node based on the resource security threshold mathematical model. The resource security threshold mathematical model includes global resource level constraints and single-node physical admission constraints. The formula for the global resource level constraints is: The formula for the single-node physical admission constraint is: ,in, This represents k computing nodes. Let i be the CPU utilization of node i. Let i be the memory utilization of node i. Let J be the CPU utilization of node j. Let j be the memory utilization rate of node j. , The amount of resources requested by the task. , For nodes The total amount of physical resources, , For nodes The total amount of physical resources; The distribution module is used to distribute the target simulation task to the target computing node when the resource request amount of the task meets the resource threshold condition of the target computing node; The judgment module is further configured to obtain the target computing node from the global resource mapping table; obtain the deployment mode, wherein the deployment mode includes single-machine centralized and multi-machine distributed; determine the resource security threshold mathematical model according to the deployment mode; and determine whether the resource amount requested by the task meets the resource threshold condition of the target computing node according to the resource security threshold mathematical model. The judgment module is further configured to send resource probe packets to multiple computing nodes according to the polling interval, and receive status packets fed back by each computing node based on the resource probe packets; obtain the node resources corresponding to each computing node based on the status packets; and update the global resource mapping table based on the node resources. The wind resource simulation task scheduling system further includes multiple computing nodes.
7. A wind resource simulation task scheduling device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the wind resource simulation task scheduling method as described in any one of claims 1 to 5.
8. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the wind resource simulation task scheduling method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Simulation task scheduling method, execution method, simulation implementation method and device
CN112639734A
Resource scheduling system and method, and computing equipment
CN114035941A
Simulation task scheduling method, device, equipment and system
CN118916128A