Simulation computing power scheduling method, system, device and readable storage medium
By optimizing the allocation and scheduling of simulation tasks in the simulation system, and combining node load and dependencies, the problem of uneven simulation computing power nodes was solved, achieving efficient resource utilization and simulation cycle optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING RUICHEN XINCHUANG NETWORK TECH CO LTD
- Filing Date
- 2026-02-13
- Publication Date
- 2026-05-19
AI Technical Summary
Existing multi-node simulation computing power support technologies lack reasonable calculation of the number of simulation computing power nodes, resulting in unreasonable task allocation, some nodes being overloaded while others are idle, low overall resource utilization, and insufficient consideration of the network communication cost between nodes, leading to suboptimal simulation cycle time.
By determining the computing power available from each computing machine in the cluster and the computing power required for the simulation task, the task with the highest load is preferentially allocated to the available node with the least remaining computing power. A secondary load balancing is performed after adding a new node, and scheduling is carried out in combination with task dependency and communication overhead models.
Dynamic load balancing was achieved, avoiding node waste and performance degradation, and improving resource utilization, simulation system stability, and response efficiency.
Smart Images

Figure CN121705037B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of real-time simulation, specifically relating to a simulation computing power scheduling method, system, device, and readable storage medium. Background Technology
[0002] Simulation technology, as an important tool for scientific research, engineering verification, and system testing, has been widely applied in fields such as aerospace, autonomous driving, military simulation, and industrial design. With the continuous expansion of application scenarios, modern simulation systems are exhibiting trends such as a large number of entities, complex interaction relationships, dynamic and ever-changing environments, and high-fidelity computational models. These trends directly lead to an exponential increase in the demand for simulation computing power.
[0003] Existing multi-node simulation computing power support technologies lack reasonable calculation of the number of simulation computing nodes in practical applications, and the allocation algorithm is relatively simple, often resulting in unreasonable task allocation, uneven load distribution with some nodes overloaded while others are idle, and low overall resource utilization. Furthermore, they lack adaptability and cannot dynamically adjust task distribution according to the actual load during simulation operation.
[0004] At the communication overhead awareness level, traditional methods do not fully consider the network communication costs between nodes when allocating tasks. When dependent tasks are deployed in a distributed manner, data transmission latency may become a performance bottleneck. Existing load balancing algorithms often only optimize computational load and do not incorporate communication overhead into the scheduling decision model, resulting in a suboptimal overall simulation cycle time.
[0005] Therefore, in order to address the above-mentioned technical problems, it is necessary to provide a simulation computing power scheduling method, system, device, and readable storage medium. Summary of the Invention
[0006] The purpose of this invention is to provide a simulation computing power scheduling method, system, device, and readable storage medium that can achieve highly adaptive dynamic load balancing.
[0007] To achieve the above objectives, the technical solution provided by the present invention is as follows:
[0008] In a first aspect, the present invention provides a simulation computing power scheduling method, comprising: determining the computing power available from each computing machine in a cluster and the computing power required for a simulation task; if there is a computing machine in the cluster that can be deployed for the simulation task, then determining the computing machine with the smallest remaining computing power as the computing machine for deploying the simulation task; if there is no computing machine in the cluster that can be deployed for the simulation task, then adding a computing machine and determining the added computing machine as the computing machine for deploying the simulation task; determining a load deviation value based on the remaining computing power of each computing machine in the cluster, and scheduling simulation tasks whose required computing power is less than the load deviation value from the existing computing machines to the last computing machine.
[0009] In one or more embodiments of the present invention, the method further includes: constructing a test task set, the test task set including test units for simulated entity perception, dynamics calculation, collision calculation, and damage calculation; executing the test task set on a benchmark processor to determine the average effective clock frequency and completion time; executing the test task set on a computing machine within the cluster, recording the completion time, and determining the performance coefficient of the computing machine relative to the benchmark processor.
[0010] In one or more embodiments of the present invention, the formula for determining the computing power provided by each computing machine in the cluster and the computing power required for the simulation task is as follows:
[0011]
[0012]
[0013] in, This indicates the simulation computing power that the simulation computing power machine can provide; Indicates the first The first processor One core clock speed; Indicates the reference clock frequency; This represents the computing power required for the simulation task. This indicates the time taken to complete the simulation task. This indicates the clock frequency of the computing core that performs the simulation task. Indicates the duration of the simulation cycle. The total number of processors; This represents the total number of corresponding processor cores.
[0014] In one or more embodiments of the present invention, the method further includes: after all simulation tasks are deployed on the corresponding computing machines, scheduling simulation tasks whose required computing power is less than the load deviation value in the existing computing machines to the last computing machine; or, after each addition of the computing machine, scheduling simulation tasks whose required computing power is less than the load deviation value in the existing computing machines to the last computing machine; or, when the number of newly added computing machines reaches a preset first threshold, scheduling simulation tasks whose required computing power is less than the load deviation value in the existing computing machines to the last computing machine and resetting the count of the newly added computing machines to zero.
[0015] In one or more embodiments of the present invention, the method further includes: determining the dependency relationship between simulation entities corresponding to each simulation task; and allocating simulation tasks corresponding to simulation entities with manipulation relationships to the same computing power.
[0016] In one or more embodiments of the present invention, the method further includes: determining the dependency relationship between simulation entities corresponding to each simulation task, and determining the group leader entity among simulation entities with group relationship; deploying the simulation task corresponding to the group leader entity, and deploying the simulation tasks corresponding to other simulation entities in the group relationship to the simulation computing power machine where the group leader entity is located; if the load of the simulation computing power machine where the group leader entity is deployed exceeds a preset second threshold, then deploying the remaining simulation tasks corresponding to other simulation entities in the group relationship to other deployable simulation computing power machines with the lowest communication latency to the simulation computing power machine where the group leader entity is located.
[0017] In one or more embodiments of the present invention, the method further includes: if the standard deviation of the computing power provided by each computing machine in the cluster is less than a preset third threshold, then the load deviation value is determined to be the difference between the remaining computing power of the last added computing machine and the average remaining computing power of the computing machines in the cluster; if the standard deviation of the computing power provided by each computing machine in the cluster is greater than or equal to the preset third threshold, then the load deviation value is determined to be the product of a first deviation value and the computing power of the last added computing machine, wherein the first deviation value is the difference between the average load rate of the computing machines in the cluster and the load rate of the last added computing machine.
[0018] Secondly, the present invention provides a simulation computing power scheduling system, comprising: an environment confirmation module, used to determine the computing power available from each computing machine in the cluster and the computing power required for the simulation task; a first deployment module, used to determine the computing machine with the smallest remaining computing power as the computing machine for deploying the simulation task when there is a computing machine in the cluster that can be deployed for the simulation task; a second deployment module, used to add a computing machine and determine the added computing machine as the computing machine for deploying the simulation task when there is no computing machine in the cluster that can be deployed for the simulation task; and a load balancing module, used to determine the load deviation value based on the remaining computing power of each computing machine in the cluster, and schedule simulation tasks whose required computing power is less than the load deviation value from the existing computing machines to the last computing machine.
[0019] Thirdly, the present invention provides an electronic device comprising: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the simulation computing power scheduling method.
[0020] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to execute the simulation computing power scheduling method described above.
[0021] Compared with existing technologies, the simulation computing power scheduling method provided by this invention meets computing power requirements and achieves load balancing among nodes with the minimum number of nodes. This avoids computing power waste caused by an excessive number of nodes and overall performance degradation due to overloaded nodes, saving costs and improving system stability and response efficiency. It can dynamically assess the remaining computing power of each node and rationally allocate simulation tasks to the most suitable computing machines. By prioritizing the filling of existing computing machines, adding nodes as needed, and performing secondary scheduling for unbalanced loads, the system ensures maximum overall resource utilization while achieving load balancing among nodes, preventing overall performance degradation due to overloaded nodes and improving system stability and response efficiency.
[0022] Meanwhile, by combining task load sorting and node selection strategies, this invention enables the system to meet simulation computing power requirements with a minimum number of computing machines, avoiding resource waste. The overall load distribution is further optimized through a task migration mechanism, improving the overall resource utilization efficiency of the system. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a schematic diagram illustrating an implementation scenario of the simulation computing power scheduling method in one embodiment of the present invention;
[0025] Figure 2 This is a flowchart of a simulation computing power scheduling method in one embodiment of the present invention;
[0026] Figure 3 This is a structural block diagram of a simulation computing power scheduling system according to another embodiment of the present invention;
[0027] Figure 4 This is a structural block diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.
[0029] Unless otherwise expressly stated, throughout the specification and claims, the term "comprising" or its variations such as "including" or "comprises" shall be understood to include the stated elements or components without excluding other elements or other components.
[0030] Existing technical solutions include methods for scheduling simulation computing power, such as using simple static allocation or round-robin scheduling strategies to distribute simulation tasks evenly or sequentially to various computing power nodes. However, since these methods do not consider the load differences of simulation tasks, the performance differences between computing power nodes, and the dependencies and communication overhead between tasks, this technical solution will inevitably lead to problems such as unbalanced load, some nodes being overloaded while others are idle, low overall resource utilization, and extended simulation cycles, decreased real-time performance, and inability to accurately determine the minimum number of computing power nodes required when waiting for data communication between dependent tasks.
[0031] The inventors of this invention identified the main shortcomings of existing technologies and proposed a new technical approach based on these shortcomings: modeling the simulation task allocation problem and performing dynamic scheduling and load balancing. This method first matches the actual load of simulation tasks with the effective computing power of computing nodes, prioritizing the allocation of tasks with the highest load to available nodes with the least remaining computing power, thus filling existing nodes as much as possible and reducing the number of new nodes. When a new node is added, a secondary load balancing mechanism migrates tasks with lower loads from preceding nodes to the new node, achieving dynamic load balancing of the overall cluster. Furthermore, this method introduces a task dependency and communication overhead model, considering task execution order and data transmission costs between nodes during scheduling, thereby reducing waiting time in complex simulation scenarios, improving simulation efficiency, and achieving efficient and adaptive multi-node simulation computing power scheduling.
[0032] Please refer to Figure 1 The diagram shows an application scenario of the simulation computing power scheduling method provided by the present invention under one embodiment. The scenario specifically includes: simulation computing power machine 101, simulation server 102 and simulation client 103.
[0033] It should be noted that communication connections are established between the simulation computing machine 101, the simulation server 102, and the simulation client 103. The communication network derived from these connections can include various connection types, including but not limited to wired connections, wireless connections, or fiber optic cable connections. Furthermore, this communication network can be a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), or any combination of these three.
[0034] The simulation computing machine 101 is the direct provider and bearer of computing power in this system, and is the core computing unit for executing specific simulation tasks (such as perception, planning, decision-making, motion, collision, and dynamics calculations). Each simulation computing machine 101 receives simulation entities and their corresponding simulation tasks allocated by the simulation server 102. Within each simulation cycle, it independently and in parallel completes all the computational instructions for the allocated simulation entities. The physical form of the simulation computing machine 101 can be a computer or server with different processor (CPU / GPU) models, core counts, clock speeds, and memory configurations. Through the simulation computing power model defined in this invention, its heterogeneous hardware capabilities are uniformly quantified into a standardized "simulation computing power" value, facilitating global scheduling and management.
[0035] During task execution, the simulation computing machine 101 records or reports information such as the actual execution time and core clock frequency used. This data is crucial for the simulation server 102 to perform load assessment, computing power modeling, and subsequent dynamic scheduling. Multiple simulation computing machines 101 together form a scalable "simulation computing power resource pool." The system can dynamically decide to activate or deactivate computing machines in the pool based on the overall simulation load demand, achieving efficient resource utilization.
[0036] The simulation server 102 is the control center, data center, and scheduling brain of this system, responsible for the coordination, management, and optimization of the entire simulation process. As the system's data center, it stores and maintains the state information of all simulated entities, simulation environment data, simulation calculation instruction sets, and calculation results from previous iterations, ensuring the consistency of the simulated world's state. The simulation server 102 runs the simulation computing power scheduling method described in this invention. Based on the pre-built simulation computing power model and the simulation load determined through simulation experiments, it senses the available computing power of each simulation computing machine 101 in the cluster and the computing power requirements of all tasks to be executed, and further performs initial task allocation, aiming to meet the computing power requirements with the fewest simulation computing machines 101. After allocation, a secondary balancing process is executed. By calculating the load deviation value, tasks with smaller loads in the preceding computing machines are scheduled to newly added computing machines to achieve maximum load balancing among the simulation computing machines 101 in the cluster.
[0037] In more complex implementations, the simulation server 102 also manages dependencies between tasks, calculates communication overhead, and optimizes task scheduling accordingly. Simultaneously, during simulation operation, the simulation server 102 continuously monitors the load of each simulation computing machine 101. If uneven load distribution or new computing bottlenecks are detected, rescheduling can be triggered to achieve dynamic load balancing.
[0038] The simulation client 103 serves as the interface between the system and the user, primarily responsible for presenting simulation results and receiving user commands. It can install computer software programs compatible with the simulation computing power scheduling method provided in this paper; it provides a graphical user interface; generates and displays 3D / 2D visual scenes and 2D map situations based on the simulation results synchronized with the simulation server 102 using a graphics rendering engine, providing users with intuitive visualization of the simulation process; it uploads user commands to the simulation server 102 in real time; and it performs lightweight calculations.
[0039] In one embodiment, simulation is divided into human-in-the-loop simulation (i.e., human intervention is required to control the simulation entity during the simulation process) and human-out-of-the-loop simulation (i.e., no human intervention is required to control the simulation entity during the simulation process). For human-in-the-loop simulation, human intervention to the simulation entity is performed on the simulation client 103.
[0040] The emulated client 103 may include, but is not limited to, portable electronic devices or wearable electronic devices such as desktop computers (PCs), smartphones, handheld computers, tablet computers, and personal digital assistants (PDAs). This embodiment of the invention does not limit the above-mentioned contents.
[0041] It should also be noted that the simulation server 102 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. This embodiment of the invention does not limit this.
[0042] It should also be noted that the simulation computing power scheduling method of this embodiment can be applied to the simulation computing power scheduling system of this embodiment. This simulation computing power scheduling system can be configured on a terminal. The terminal can include, but is not limited to, PCs (Personal Computers), PDAs (Tablet Computers), smartphones, smart wearable devices, etc.
[0043] Please refer to Figure 2 The diagram shown illustrates a flowchart of simulated computing power scheduling in one embodiment of the present invention. This simulated computing power scheduling method specifically includes the following steps:
[0044] S201: Determine the computing power that each computing machine in the cluster can provide and the computing power required for the simulation task;
[0045] This step is the core stage of initialization and modeling in the simulation computing power scheduling method of this invention, and its goal is to provide accurate quantitative basis for subsequent intelligent scheduling. Specifically, it includes: assessment of the computing power supply of computing machines within the cluster and assessment of the computing power requirements of simulation tasks.
[0046] It's important to note that in real-world simulation computing clusters, hardware performance exhibits significant heterogeneity. Different processor models and architectures differ in core count, clock speed, and memory bandwidth. Directly relying on these raw, multi-dimensional hardware performance parameters for task scheduling inevitably results in complex and one-sided scheduling algorithms that fail to scientifically quantify the computing power required for the simulation task and the computing power the computing machine can provide. This direct scheduling inevitably leads to severe system inefficiency and resource waste, thus becoming a bottleneck in the entire simulation process.
[0047] Based on this, the present invention provides an exemplary embodiment to quantify the computing power that heterogeneous computing machines can provide, as well as the computing power required for different types of simulation tasks. In one embodiment of the present invention, a unified unit of simulation computing power is introduced. Through benchmarking tests, heterogeneous physical computing power and diverse task requirements are mapped onto the same scale, thereby achieving fair and efficient scheduling.
[0048] Specifically, in an exemplary embodiment, a test task set can be constructed, wherein the test task set is used to simulate typical computing patterns in simulation applications, including but not limited to: floating-point intensive computing, complex logical branch judgments, frequent memory access operations, and necessary inter-process communication overhead. The specific selection of test tasks can closely resemble actual simulation scenarios, such as tasks related to the perception, planning, decision-making, dynamics calculation, collision detection and calculation, and damage effect evaluation of simulated entities, and can be dynamically adjusted according to the specific application environment. This embodiment of the invention does not impose any limitations on this.
[0049] Subsequently, a specific processor model was selected as the benchmark processor. The aforementioned test task set was executed completely on this benchmark processor, and the actual time required to complete all test tasks was measured. The average effective clock speed during execution was calculated as the benchmark clock speed. This test result established a baseline for performance measurement. The same test task set was deployed to each computing machine to be evaluated in the cluster, and their completion times were recorded. By comparing the completion time of a computing machine with that of the benchmark processor, and combining this with its hardware clock speed parameters, the performance coefficient of the computing machine can be calculated. This coefficient comprehensively reflects the ratio of the actual computing efficiency of the computing machine to the benchmark processor under a specific simulated workload. Based on this performance coefficient and benchmark clock speed, the computing power supply and task load in the formula can be standardized and corrected.
[0050] This method converts servers from different manufacturers and equipped with different chips, as well as different types of computing tasks in simulations, into standardized values based on the equivalent computing power of a benchmark processor. This lays a solid foundation for the next step of precise and balanced scheduling based on a one-dimensional bin packing model.
[0051] In a specific embodiment, the formula for determining the computing power provided by each computing machine in the cluster and the computing power required for the simulation task is as follows:
[0052]
[0053]
[0054] in, This indicates the simulation computing power that the simulation computing power machine can provide; Indicates the first The first processor One core clock speed; Indicates the reference clock frequency; This represents the computing power required for the simulation task. This indicates the time taken to complete the simulation task. This indicates the clock frequency of the computing core that performs the simulation task. Indicates the duration of the simulation cycle. The total number of processors; This represents the total number of corresponding processor cores.
[0055] S202.1: If there are computing machines in the cluster that can be deployed for the simulation task, then the computing machine with the smallest remaining computing power is determined as the computing machine to deploy the simulation task.
[0056] When determining the deployment target for a simulation task, the system prioritizes deployable computing machines with the minimum remaining computing power that can still meet the task's requirements. The core advantage of this strategy is its ability to significantly improve the overall resource utilization of the cluster and effectively approach the theoretical minimum number of computing machines required for deployment, thereby achieving fine-grained control over resource allocation. Compared to simple polling or first-fit algorithms, the strategy employed in this invention actively seeks a close match between resource space and task requirements during the allocation process, thus greatly reducing resource fragmentation and resulting in a more compact and efficient allocation scheme in terms of space utilization.
[0057] To illustrate this mechanism, consider the following example: A simulation task A to be deployed has a standardized computing power requirement of... There are currently three active computing machines in the cluster, with their remaining computing power being as follows: and ,and In this situation, since the remaining computing power of all three computing machines is greater than or equal to... Therefore, they all constitute the deployable computing power for task A.
[0058] If a round-robin algorithm is used, task A may be sequentially assigned to the first machine (with remaining computing power). If the first-fit algorithm is used, it may also be assigned to the first machine that meets the conditions. Both approaches will result in the task occupying relatively ample resource space, thus generating a task of size [size missing] on the target machine. The new remaining computing power fragments.
[0059] Based on the strategy of this invention, the scheduler will actively select the remaining computing power from all candidate machines. The smallest machine is chosen as the deployment target. This decision means that task A is placed in the resource gap that best matches its needs. The direct effect is that the remaining computing power of the target machine after the task is completed will become... This is the choice that produces the fewest new fragments among all possible allocation results. On the one hand, it maximizes the use of the target machine's existing resource capacity, and on the other hand, it reserves larger and more complete available resource blocks for subsequent tasks. This optimizes the overall resource layout at the global level, reduces the possibility of having to add computing machines due to fragmentation preventing the placement of subsequent large tasks, and ultimately minimizes the number of physical computing machines that need to be activated when the cluster is carrying the same total load.
[0060] S202.2: If there is no computing machine in the cluster that can be deployed for the simulation task, then add a computing machine and determine the added computing machine as the computing machine for deploying the simulation task;
[0061] This step outlines the action strategy when there are currently no computing machines in the cluster capable of handling the simulation task to be deployed. Specifically, if the scheduler determines that the remaining available computing power of all online computing machines in the cluster is lower than the standardized computing power required for the current simulation task, then the existing resource pool is considered insufficient to meet the immediate deployment requirements of the task. In this case, the system will automatically trigger the resource elastic expansion mechanism. The core operation of this mechanism is to add a simulation computing machine to the cluster, initialize it to an available state, and register it in the global resource management table. Subsequently, the scheduler will directly allocate the simulation task that cannot be currently deployed to this newly added computing machine, thereby ensuring that the task obtains the necessary computing resources before the start of the next simulation cycle.
[0062] S203: Determine the load deviation value based on the remaining computing power of each computing machine in the cluster, and schedule simulation tasks whose required computing power is less than the load deviation value in the existing computing machines to the last computing machine.
[0063] After completing the initial allocation of simulation tasks through the above steps, the system obtains a feasible resource allocation scheme. However, while aiming to use the fewest machines possible, this scheme may still lead to load imbalances among the computing machines within the cluster, especially since the last added computing machine may be under light load due to only being allocated a small number of tasks. To address this issue, this invention introduces a load balancing optimization step corresponding to this process. By calculating the load deviation value, the unbalanced load distribution is identified, and by migrating suitable tasks from the preceding nodes to the newly added nodes, the overall load of the cluster is made more uniform.
[0064] In an exemplary embodiment, the load deviation value can be defined as the difference between the remaining computing power of the last added computing machine and the average remaining computing power of the computing machines in the cluster; that is, the load deviation value can be expressed as:
[0065]
[0066] in, This is the load deviation value; For the first The computing power of a simulated computing machine; For the first The computing power of the simulated computing machine This represents the average remaining computing power of the computing machines within the cluster.
[0067] This embodiment performs secondary load balancing, which is simple and efficient in calculation. It is suitable for situations where the computing power provided by the computing machines within a cluster is relatively consistent. For example, when the standard deviation of the computing power provided by each computing machine in the cluster is less than a preset third threshold, the load deviation value can be determined based on this embodiment.
[0068] In another exemplary embodiment, the load deviation value can also be defined as the product of a first deviation value and the computing power of the last added computing machine, wherein the first deviation value is the difference between the average load rate of computing machines in the cluster and the load rate of the last added computing machine, that is, the load deviation value can be expressed as:
[0069]
[0070] in, This is the load deviation value; For the first The load of a simulated computing machine; For the first The computing power of a simulated computing machine; For the first The load of a simulated computing machine; For the first The computing power of the simulated computing machines is described. This exemplary embodiment further optimizes the computing power to a load rate, making it more suitable for scenarios where the computing power provided by each computing machine in the cluster varies significantly. For example, when the standard deviation of the computing power provided by each computing machine in the cluster is greater than or equal to a preset third threshold, the load deviation value can be determined based on this embodiment.
[0071] It should be noted that, in one embodiment, the load balancing can be triggered after all simulation tasks have been deployed on the corresponding computing machines. Simulation tasks whose required computing power is less than the load deviation value in the existing computing machines can be scheduled to the last computing machine. In this case, the balancing operation is only executed once, avoiding the performance overhead and state disturbance caused by multiple adjustments during runtime. The system behavior is simple and deterministic.
[0072] In another embodiment, each time a new computing machine is added, simulation tasks whose required computing power is less than the load deviation value in the existing computing machines can be scheduled to the last computing machine. This strategy can immediately respond to the expansion and contraction of the resource pool and quickly incorporate the newly added computing resources into the load balancing system.
[0073] In another embodiment, when the number of newly added computing machines reaches a preset first threshold, simulation tasks whose required computing power is less than the load deviation value from existing computing machines are scheduled to the last computing machine, and the count of the newly added computing machines is reset to zero. By setting a threshold, the number of load balancing operations caused by frequent single-node expansion is reduced, significantly reducing the computational and communication overhead of scheduling itself while maintaining a good load balance. The specific implementation method used is not limited in this embodiment.
[0074] It should also be noted that in more complex simulation applications, tasks often have logical dependencies. To address such scenarios, another embodiment of this method further introduces dependency-aware scheduling constraints:
[0075] First, it is necessary to determine the dependencies between the simulation entities corresponding to each simulation task. In a specific embodiment, simulation entities can be divided into three categories: personnel entities, equipment entities, and static object entities. Personnel entities simulate real-world humans, including individuals of different genders, ages, professions, and skill levels. Personnel entities can control equipment entities and can be controlled by real people in human-loop simulations. Equipment entities simulate real-world equipment, including various devices and equipment such as cars, airplanes, ships, telescopes, and weapons. Equipment entities can be controlled by personnel entities. Static object entities simulate real-world objects, such as obstacles, buildings, and tables.
[0076] Simulation entity relationships are categorized into three types: independent relationships, control relationships, and group relationships. Independent relationships refer to independent personnel entities, independent equipment entities, each group, and each static object entity. They are independent of each other, executing their respective simulation tasks independently throughout the simulation process without interaction or dependency. Control relationships are automatically formed when personnel entities control equipment entities. For example, a control relationship is formed between a personnel entity and the vehicle when a personnel entity drives a vehicle. Once a control relationship is formed, it means there will be strong interaction between the personnel entity and the controlled equipment entity. Group relationships are automatically formed between personnel entities within the same group. During group task execution, close cooperation and interaction between members are required, and the tasks assigned to members have certain dependencies.
[0077] In an exemplary embodiment of the present invention, simulation tasks corresponding to simulation entities with control relationships can be assigned to the same computing power machine; a group leader entity is determined among simulation entities with group relationships; the simulation tasks corresponding to the group leader entity are deployed, and the simulation tasks corresponding to other simulation entities in the group relationship are deployed to the simulation computing power machine where the group leader entity is located; if the load of the simulation computing power machine where the group leader entity is deployed exceeds a preset second threshold, the simulation tasks corresponding to the remaining simulation entities in the group relationship are deployed to other deployable simulation computing power machines with the lowest communication latency to the simulation computing power machine where the group leader entity is located.
[0078] By introducing this constraint, this method ensures that while pursuing load balancing, the correct logical order and data consistency between simulation tasks are not compromised, thus enabling the safe application of load balancing technology in simulation scenarios with complex dependencies.
[0079] Please refer to Figure 3 As shown, based on the same inventive concept as the aforementioned simulation computing power scheduling method, one embodiment of the present invention provides a simulation computing power scheduling system 300, including: an environment verification module 301, a first deployment module 302, a second deployment module 303, and a balancing module 304.
[0080] Specifically, the environment verification module 301 is used to determine the computing power available from each computing machine in the cluster and the computing power required for the simulation task; the first deployment module 302 is used to determine the computing machine with the smallest remaining computing power as the computing machine to deploy the simulation task when there is a computing machine in the cluster that can deploy the simulation task; the second deployment module 303 is used to add a computing machine when there is no computing machine in the cluster that can deploy the simulation task and determine the added computing machine as the computing machine to deploy the simulation task; the load balancing module 304 is used to schedule simulation tasks from the first to the second to last computing machine whose required computing power is less than the load deviation value to the last computing machine; the load deviation value is the difference between the remaining computing power of each computing machine and the average remaining computing power of the computing machines in the cluster.
[0081] Please refer to Figure 4 As shown, embodiments of the present invention also provide an electronic device 400, which includes at least one processor 401, a memory 402 (e.g., non-volatile memory), a main memory 403, and a communication interface 404, wherein the at least one processor 401, the memory 402, the main memory 403, and the communication interface 404 are connected together via an internal bus 405. The at least one processor 401 is used to invoke at least one program instruction stored or encoded in the memory 402, so that the at least one processor 401 performs various operations and functions of the simulation computing power scheduling method described in the various embodiments of this specification.
[0082] In the embodiments of this specification, electronic device 400 may include, but is not limited to: personal computer, server computer, workstation, desktop computer, laptop computer, notebook computer, mobile electronic device, smartphone, tablet computer, cellular phone, personal digital assistant (PDA), handheld device, messaging device, wearable electronic device, consumer electronic device, etc.
[0083] This invention also provides a computer-readable medium carrying computer-executable instructions. When executed by a processor, these instructions can be used to implement various operations and functions of the simulation computing power scheduling method described in the various embodiments of this specification.
[0084] The computer-readable medium in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, 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 device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0085] In this invention, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.
[0086] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0087] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, systems, and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, as well as combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0088] The foregoing description of specific exemplary embodiments of the invention is for illustrative and explanatory purposes. These descriptions are not intended to limit the invention to the precise forms disclosed, and it will be apparent that many changes and variations can be made in accordance with the foregoing teachings. The exemplary embodiments were chosen and described in order to explain the specific principles of the invention and its practical application, thereby enabling those skilled in the art to implement and utilize various different exemplary embodiments of the invention, as well as various different choices and variations. The scope of the invention is intended to be defined by the claims and their equivalents.
[0089] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the invention can be implemented in other specific forms without departing from its spirit or essential characteristics. Therefore, the embodiments should be considered in all respects as exemplary and non-limiting, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be included within the present invention. No reference numerals in the claims should be construed as limiting the scope of the claims.
[0090] Furthermore, it should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This narrative style is merely for clarity. Those skilled in the art should consider the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.
Claims
1. A simulation computing power scheduling method, characterized in that, include: Determine the computing power available from each computing machine in the cluster and the computing power required for the simulation task; If there are computing machines in the cluster that can deploy the simulation task, then the computing machine with the smallest remaining computing power is determined as the computing machine to deploy the simulation task. If there is no computing power machine in the cluster that can deploy the simulation task, then add a computing power machine and determine the added computing power machine as the computing power machine to deploy the simulation task; The load deviation value is determined based on the remaining computing power of each computing machine in the cluster, and simulation tasks whose required computing power is less than the load deviation value in the existing computing machines are scheduled to the last computing machine. The formula for determining the computing power provided by each computing machine in the cluster and the computing power required for the simulation task is as follows: in, This indicates the simulation computing power that the simulation computing power machine can provide; Indicates the first The first processor One core clock speed; Indicates the reference clock frequency; This represents the computing power required for the simulation task. This indicates the time taken to complete the simulation task. This indicates the clock frequency of the computing core that performs the simulation task. Indicates the duration of the simulation cycle. The total number of processors; This represents the total number of corresponding processor cores.
2. The simulation computing power scheduling method according to claim 1, characterized in that, The method further includes: Construct a test task set, which includes test units for simulated entity perception, dynamics calculation, collision calculation, and damage calculation; Execute the test task set on the benchmark processor to determine the average effective clock frequency and completion time; The test task set is executed on the computing machines within the cluster, the completion time is recorded, and the performance coefficient of the computing machines relative to the benchmark processor is determined.
3. The simulation computing power scheduling method according to claim 1, characterized in that, The method further includes: After all simulation tasks are deployed on their corresponding computing machines, simulation tasks whose required computing power is less than the load deviation value on existing computing machines are scheduled to the last computing machine; or... After each new computing machine is added, simulation tasks whose required computing power is less than the load deviation value from existing computing machines are scheduled to the last computing machine; or, When the number of newly added computing machines reaches a preset first threshold, simulation tasks whose required computing power is less than the load deviation value in the existing computing machines are scheduled to the last computing machine, and the count of the newly added computing machines is reset to zero.
4. The simulation computing power scheduling method according to claim 1, characterized in that, The method further includes: Determine the dependencies between the simulation entities corresponding to each simulation task; Simulation tasks corresponding to simulation entities with control relationships are assigned to the same computing power machine.
5. The simulation computing power scheduling method according to claim 4, characterized in that, The method further includes: Determine the dependencies between simulation entities corresponding to each simulation task, and identify the group leader entity among simulation entities with group relationships; Deploy the simulation task corresponding to the group leader entity, and deploy the simulation tasks corresponding to other simulation entities in the group relationship to the simulation computing machine where the group leader entity is located; If the load of the simulation computing machine where the group leader entity is deployed exceeds a preset second threshold, then the simulation tasks corresponding to the other simulation entities in the remaining group relationship will be deployed to the other deployable simulation computing machine with the lowest communication latency to the simulation computing machine where the group leader entity is located.
6. The simulation computing power scheduling method according to claim 4, characterized in that, The method further includes: If the standard deviation of the computing power provided by each computing machine in the cluster is less than a preset third threshold, then the load deviation value is determined to be the difference between the remaining computing power of the last added computing machine and the average remaining computing power of the computing machines in the cluster. If the standard deviation of the computing power provided by each computing machine in the cluster is greater than or equal to a preset third threshold, then the load deviation value is determined to be the product of the first deviation value and the computing power of the last added computing machine, wherein the first deviation value is the difference between the average load rate of the computing machines in the cluster and the load rate of the last added computing machine.
7. A simulation computing power scheduling system, employing the simulation computing power scheduling method as described in any one of claims 1-6, characterized in that, include: The environment verification module is used to determine the computing power that each computing machine in the cluster can provide and the computing power required for the simulation task. The first deployment module is used to determine the deployable computing machine with the smallest remaining computing power as the computing machine to deploy the simulation task when there are computing machines available in the cluster for deploying the simulation task. The second deployment module is used to add a computing machine and identify the newly added computing machine as the computing machine for deploying the simulation task when there is no computing machine available for deployment in the cluster for the simulation task. The load balancing module is used to determine the load deviation value based on the remaining computing power of each computing machine in the cluster, and to schedule simulation tasks whose required computing power is less than the load deviation value in the existing computing machines to the last computing machine.
8. An electronic device, characterized in that, include: At least one processor; as well as A memory that stores instructions, which, when executed by the at least one processor, cause the at least one processor to perform the simulation computing power scheduling method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to execute the simulation computing power scheduling method according to any one of claims 1-6.