Simulation model computing resource intelligent allocation method and device, medium and program product
By obtaining the resource requirements of the simulation model and the hardware information of the computing nodes, and combining the coupling value to screen the optimal computing nodes, the problem of unreasonable resource allocation in distributed simulation is solved, and more efficient resource utilization and simulation efficiency are achieved.
Patent Information
- Application Number
- CN202510834227.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-20
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-06-20
AI Technical Summary
In distributed simulation computing, the differences in resource requirements of various simulation models and the diversity of computing node configurations make it difficult to efficiently allocate and utilize resources, affecting simulation efficiency.
By obtaining the resource requirement information of the simulation model and the hardware resource information of the computing nodes, combined with the coupling values between the simulation models, the optimal computing nodes are screened out for resource allocation.
It improves simulation efficiency, reduces communication overhead between simulation models, optimizes resource utilization, and enhances parallel computing capabilities.
Smart Images

Figure CN120670171A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of device simulation technology, and in particular to a method, device, medium, and program product for intelligently allocating computing resources for a simulation model. Background Art
[0002] In today's simulation computing landscape, simulation engine software plays a crucial role. With the continuous advancement of technology, distributed simulation has become a mainstream approach, fully leveraging the resources of multiple computing nodes to achieve more complex and large-scale simulation tasks. During distributed simulation, each simulation model has different requirements for simulation resources, such as CPU, GPU, and memory. Furthermore, the hardware configurations of available computers in a local area network (LAN) environment vary.
[0003] In the practical application of distributed simulation, how to fully utilize computing node resources and improve simulation efficiency while meeting the computing resource requirements of each simulation model has become a key issue that must be considered when designing simulation computing engines. Currently, due to the differences in resource requirements of various simulation models and the diversity of computing node configurations, efficient resource allocation and utilization are difficult to achieve, which to some extent limits the improvement of simulation efficiency. Summary of the Invention
[0004] In view of this, the embodiments of the present disclosure provide a method, device, medium and program product for intelligent allocation of simulation model computing resources, which can comprehensively consider the resource requirements of the simulation model, the resource status of the computing nodes and the coupling degree between the simulation models, and reasonably and efficiently allocate resources to the simulation model.
[0005] In a first aspect, the embodiments of the present disclosure provide a method for intelligently allocating computing resources for a simulation model, which employs the following technical solutions: Obtaining simulation resource requirement information of the simulation model and hardware resource information of the computing nodes; Matching the simulation resource requirement information with the hardware resource information to determine candidate computing nodes that can support the operation of the simulation model; Obtain the coupling value between simulation models; Based on the coupling degree value and the candidate computing nodes, an optimal computing node that supports the operation of the simulation model is screened.
[0006] Optionally, the simulation resource requirement information includes CPU requirement information, memory capacity requirement value and GPU requirement information; The CPU requirement information includes the CPU main frequency requirement value and the CPU core number requirement value, and the GPU requirement information includes the GPU requirement variable and the GPU requirement model; The hardware resource information includes CPU resource information, memory resource information and GPU resource information; The CPU resource information includes the actual CPU main frequency and the actual number of CPU cores, the memory resource information includes the total memory capacity and memory usage, and the GPU resource information includes the actual GPU model; Based on the total memory capacity and the memory usage, the available memory capacity of the computing node is obtained.
[0007] Optionally, matching the simulation resource requirement information with the hardware resource information to determine a candidate computing node that can support the operation of the simulation model includes: Determine whether the memory capacity requirement, CPU main frequency requirement, and CPU core number requirement of the simulation model are respectively less than or equal to the available memory capacity, actual CPU main frequency, and actual CPU core number of the computing node; If so, determining whether the GPU requirement variable of the simulation model is true; If true, determine whether the GPU required model matches the actual GPU model; If they match, the computing node is determined to be a candidate computing node for the simulation model.
[0008] Optionally, obtaining the coupling value between the simulation models includes: Construct model pairs based on the input-output relationship between simulation models; Obtain the coupling value between the model pair.
[0009] Optionally, the calculation formula of the coupling value is: Wm, n=1*Ni + 4*Nf + 8*Nd + 24*Nb; Where m and n are the IDs of the simulation models, m≠n, and two simulation models with IDs m and n respectively constitute a model pair; Wm, n are the coupling values between the model pairs; Ni is the number of connections between the model pairs with integer port types; Nf is the number of connections between the model pairs with single-precision floating-point port types; Nd is the number of connections between the model pairs with double-precision floating-point port types; and Nb is the number of connections between the model pairs with binary port types.
[0010] Optionally, screening an optimal computing node that supports the operation of the simulation model based on the coupling degree value and the candidate computing nodes includes: Use the assignedCount parameter to record the number of times the computing node is selected as the candidate computing node; Determine the current simulation model based on traversing each simulation model; Determining all associated simulation models having input-output relationships with the current simulation model; Selecting the associated simulation model with the largest coupling value with the current simulation model as the simulation model to be selected; Determine whether the current simulation model and the to-be-selected simulation model have the same candidate computing nodes; Based on the judgment result and the assignedCount parameter, the optimal computing node of the current simulation model is determined.
[0011] Optionally, determining the optimal computing node of the current simulation model based on the judgment result and the assignedCount parameter includes: When the current simulation model and the to-be-selected simulation model have the same candidate computing node, select the same candidate computing node with the smallest assignedCount parameter as the optimal computing node of the current simulation model, and add 2 to the smallest assignedCount parameter; When the current simulation model and the to-be-selected simulation model do not have the same candidate computing nodes, the candidate computing node with the smallest assignedCount parameter is selected from all candidate computing nodes of the current simulation model as the optimal computing node of the current simulation model.
[0012] In a second aspect, the embodiments of the present disclosure further provide a simulation model computing resource intelligent allocation system, which adopts the following technical solutions: An information acquisition module is used to obtain the simulation resource requirement information of the simulation model and the hardware resource information of the computing node; An information matching module, configured to match the simulation resource requirement information with the hardware resource information to determine candidate computing nodes that can support the operation of the simulation model; A numerical acquisition module is used to obtain the coupling value between simulation models; The optimal screening module is used to screen the optimal computing node that supports the operation of the simulation model based on the coupling degree value and the candidate computing nodes.
[0013] In a third aspect, the embodiments of the present disclosure further provide a computer device that adopts the following technical solution: The computer device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed 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 any of the above-mentioned methods for intelligent allocation of simulation model computing resources.
[0014] In a fourth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute any of the above-mentioned methods for intelligent allocation of simulation model computing resources.
[0015] In a fifth aspect, an embodiment of the present disclosure further provides a computer program product, comprising a computer program / instruction, which implements the steps of any of the above methods when executed by a processor.
[0016] The present invention provides a method for intelligently allocating computing resources for simulation models. Currently, there are differences in the resource requirements of various simulation models, and the configuration of computing nodes is also diverse, which makes it difficult to allocate resources efficiently. This method can clearly understand how much computing resources each simulation model specifically requires, such as CPU computing power, memory size, storage capacity, etc., by obtaining the simulation resource requirement information of the simulation model. At the same time, obtaining the hardware resource information of the computing node can clarify the resource status of each computing node and provide basic data for subsequent resource allocation. After understanding the resource requirements of the simulation model and the hardware resources of the computing node, a matching operation can be performed to find computing nodes that can meet the resource requirements of the simulation model operation, that is, candidate computing nodes. This step avoids allocating the simulation model to a computing node with insufficient resources, thereby reducing the problem of simulation operation failure or low efficiency caused by insufficient resources. In distributed simulation, there is a mutual coupling relationship between simulation models. However, traditional methods tend to ignore the coupling factor when designing simulation computing engines, resulting in the interaction between models not being comprehensively considered when allocating resources. Simulation models with high coupling are allocated to computing nodes that are too far away or have low communication efficiency, increasing communication delay between models. The disclosed method for intelligently allocating computing resources for simulation models, by combining coupling values and candidate computing node information, can comprehensively consider the resource requirements of the simulation model, the resource status of the computing nodes, and the degree of interaction between the simulation models, and screen out the computing nodes that are most suitable for running the simulation model. This allocation method can fully utilize the resources of the computing nodes, making resource allocation more reasonable and efficient. By selecting the optimal computing nodes, it is possible to reduce the communication overhead between simulation models and improve the parallel computing capabilities of the simulation models. Thus, while meeting the computing resource requirements of each simulation model, the resources of the computing nodes can be fully utilized, effectively solving the current problem of difficult efficient resource allocation and utilization, and ultimately improving simulation efficiency.
[0017] The above description is only an overview of the technical solution of the present disclosure. In order to more clearly understand the technical means of the present disclosure, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present disclosure more obvious and easy to understand, the following specifically cites preferred embodiments and describes them in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0019] Figure 1 A flowchart of a method for intelligently allocating computing resources for a simulation model provided by an embodiment of the present disclosure; Figure 2 A diagram of a distributed simulation architecture provided by an embodiment of the present disclosure; Figure 3 This is an architecture diagram of the subscription / publishing mechanism for computing node resources provided by an embodiment of the present disclosure; Figure 4 A flowchart of a method for determining a candidate computing node provided in an embodiment of the present disclosure; Figure 5 A schematic diagram of a flow chart of a method for obtaining a coupling degree value provided in an embodiment of the present disclosure; Figure 6 A schematic diagram of simulation model data interaction provided by an embodiment of the present disclosure; Figure 7 A flowchart of a method for determining an optimal computing node according to an embodiment of the present disclosure; Figure 8 A block diagram of the principle of the intelligent allocation system for simulation model computing resources provided by an embodiment of the present disclosure; Figure 9 A schematic diagram of the structure of a computer device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0020] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0021] It should be clear that the following embodiments of the present disclosure are described through specific concrete examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that the following embodiments and features in the embodiments can be combined with each other in the absence of conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.
[0022] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on this disclosure, it should be understood by those skilled in the art that an aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects described herein can be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this device and / or practice this method.
[0023] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The illustrations only show components related to the present disclosure and are not drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component can be changed at will, and the component layout type may also be more complicated.
[0024] Additionally, in the following description, specific details are provided to provide a thorough understanding of the examples. However, one skilled in the art will appreciate that the aspects described can be practiced without these specific details.
[0025] Reference Figure 1 The present disclosure provides a method for intelligently allocating computing resources for a simulation model, comprising the following steps: S1: Obtain the simulation resource requirement information of the simulation model and the hardware resource information of the computing node; S2: Match the simulation resource requirement information with the hardware resource information to determine the candidate computing nodes that can support the simulation model operation; S3: Obtain the coupling value between simulation models; S4: Based on the coupling value and candidate computing nodes, the optimal computing nodes that support the operation of the simulation model are selected.
[0026] The present disclosure provides a method for intelligently allocating computing resources for simulation models. Currently, there are differences in the resource requirements of various simulation models, and the configuration of computing nodes is also diverse, which makes it difficult to allocate resources efficiently. This method can clearly understand how much computing resources each simulation model specifically requires, such as CPU computing power, memory size, storage capacity, etc., by obtaining the simulation resource requirement information of the simulation model. At the same time, by obtaining the hardware resource information of the computing node, the resource status of each computing node can be clarified, providing basic data for subsequent resource allocation. After understanding the resource requirements of the simulation model and the hardware resources of the computing node, a matching operation can be performed to find the computing node that can meet the resource requirements of the simulation model operation, that is, the candidate computing node. This step avoids allocating the simulation model to a computing node with insufficient resources, thereby reducing the problem of simulation operation failure or low efficiency due to insufficient resources.
[0027] In distributed simulation, there is a mutual coupling relationship between simulation models, but the traditional method tends to ignore the coupling factor when designing the simulation calculation engine, resulting in the lack of comprehensive consideration of the interaction between models when allocating resources, so that simulation models with high coupling are allocated to computing nodes that are too far away or have low communication efficiency, increasing the communication delay between models. The simulation model computing resource intelligent allocation method disclosed in the present invention can comprehensively consider the resource requirements of the simulation model, the resource status of the computing node, and the degree of interaction between the simulation models by combining the coupling value and the candidate computing node information, and screen out the computing nodes that are most suitable for running the simulation model. Such an allocation method can make full use of the resources of the computing nodes, making resource allocation more reasonable and efficient. By selecting the optimal computing node, the communication overhead between simulation models can be reduced, and the parallel computing capability of the simulation model can be improved. Therefore, under the premise of meeting the computing resource requirements of each simulation model, the resources of the computing nodes can be fully utilized, effectively solving the problem that the existing resources are difficult to allocate and utilize efficiently, and ultimately improving the simulation efficiency.
[0028] In S1, refer to Figure 2 The distributed simulation architecture diagram shows the simulation computing engines running in a master-slave mode. The master simulation computing engine (referred to as the master engine) and the slave simulation computing engines (referred to as slave engines) have a one-to-zero or one-to-many relationship. The master engine interacts with the simulation operation management software (referred to as the operation control software), accepting control commands from the operation control software and reporting the simulation status. When the operation control software issues a simulation task to the master engine, the master engine parses and decomposes the task and distributes it to the compute nodes in the slave engines, which then execute the simulation. Simulation model data is transferred between the master and slave engines via the network or memory.
[0029] When the operation control software issues a simulation task to the main engine, it also sends a simulation model list to the main engine, specifies the compute nodes required for this simulation task, and constructs a compute node list. The simulation model list is g_model_list, where the key is the simulation model ID and the value is the structure of the simulation model. The compute node list contains the identifier of the compute node, which consists of the IP address and port identifier of the compute node.
[0030] When parsing a simulation task, the main engine uses a modeling tool to determine the minimum hardware requirements for the storage model. This minimum requirement becomes the simulation model's simulation resource requirement information, which is stored in the model's structure (i.e., the SimReqInfo structure). This information includes CPU requirements, memory requirements, and GPU requirements. The CPU requirements include the CPU frequency and CPU core count requirements, while the GPU requirements include a GPU requirement variable and a GPU model. The GPU requirement variable, a bool type in the SimReqInfo structure, determines whether the simulation model requires a GPU. The memory and CPU frequency requirements are float types in the SimReqInfo structure, with units of MB and GHz, respectively. The CPU core count and GPU model requirements are uint8 and string types, respectively. The simulation model's multithreaded simulation requirement variable, a bool type in the SimReqInfo structure, can also be obtained. This variable determines whether the simulation model supports multithreaded simulation.
[0031] Reference Figure 3The architecture diagram of the subscription / publish mechanism for compute node resources shows that a background daemon process (which automatically starts at startup) runs on each available compute node. This background process uses the DDS publish / subscribe mechanism to periodically send compute node hardware resource information (i.e., computer hardware resource status) to a topic called "NodeResourceInfo." The main engine subscribes to this topic to receive hardware resource information for each compute node. Hardware resource information includes CPU, memory, and GPU resources. CPU resource information includes the actual CPU frequency and number of CPU cores; memory resource information includes total memory capacity and memory utilization; and GPU resource information includes the actual GPU model. If a compute node does not have a dedicated graphics card, the variable for the actual GPU model is set to "N / A" (Not Available). CPU and GPU utilization information can also be obtained to further monitor the hardware resource configuration of the compute node and facilitate simulation. The acquired hardware resource information, multi-threaded simulation requirement variables, CPU usage, GPU usage, etc. are stored in a computing node list, so that the computing node list stores the hardware resource information of each computing node, etc.
[0032] Furthermore, based on the total memory capacity and memory usage, the available memory capacity of the computing node can be obtained. First, the total memory capacity and the memory usage are multiplied to obtain the used memory capacity, and then the used memory capacity is subtracted from the total memory capacity to obtain the available memory capacity.
[0033] In S2, refer to Figure 4 The flowchart of the candidate computing node determination method shown in the figure, "Matching simulation resource requirement information with hardware resource information to determine candidate computing nodes that can support the simulation model operation," includes the following steps: S21: Determine whether the memory capacity requirement, CPU main frequency requirement, and CPU core number requirement of the simulation model are respectively less than or equal to the available memory capacity, actual CPU main frequency, and actual CPU core number of the computing node; if so, execute S22; if not, execute S23; S22: Determine whether the GPU requirement variable of the simulation model is true; if true, execute S24; if false, execute S25; S23: Determine the next computing node, return to S21, and match the simulation model with the next computing node; S24: Determine whether the GPU required model matches the GPU actual model; if so, execute S25; if not, execute S23; S25: Determine whether the computing node is a candidate computing node of the simulation model.
[0034] The simulation model list is traversed. During the traversal process, the simulation model currently being processed is the target model for which candidate computation nodes need to be determined. Simultaneously, the computation node list is traversed. When traversing the computation node list, the simulation model being processed is matched with the currently traversed computation node to determine whether the computation node can be used as a candidate computation node for the simulation model.
[0035] Because CPU and memory are fundamental resources potentially required for every computing task, it's meaningless to check for GPU resource availability before confirming that the compute node has sufficient CPU and memory resources. Therefore, the CPU and memory resources of the compute node are first checked to see if they meet the requirements of the simulation model. This involves determining whether the required memory capacity is less than or equal to the available memory capacity, the required CPU frequency is less than or equal to the actual CPU frequency, and the required number of CPU cores is less than or equal to the actual number of CPU cores. If all three conditions are met, the GPU requirement variable is used to determine whether the simulation model requires a GPU. If the GPU requirement variable is true, the simulation model requires a GPU. At this point, the required GPU model is matched with the actual GPU model to determine whether the currently traversed compute node can serve as a candidate compute node for the simulation model. If the GPU requirement variable is false, the simulation model does not require a GPU, and the currently traversed compute node is directly determined to be a candidate compute node for the simulation model.
[0036] The code for matching the required GPU model with the actual GPU model is: if(hardwarereq.GPUInfo.contains(gpu.version)), where hardwarereq.GPUInfo represents the variable of the required GPU model, and gpu.version represents the variable of the actual GPU model. When the hardwarereq.GPUInfo string contains the gpu.version substring, it indicates that the required GPU model and the actual GPU model are matched successfully; when the hardwarereq.GPUInfo string does not contain the gpu.version substring, it indicates that the required GPU model and the actual GPU model fail to match.
[0037] When assigning candidate compute nodes to a simulation model, the simulation model list is traversed. The currently traversed simulation model is the target model for candidate compute node determination. The compute node list is also traversed, matching the simulation model with the currently traversed compute node to determine whether the compute node is a candidate compute node for the simulation model. If a compute node does not have a discrete graphics card, the variable value for the actual GPU model is set to "N / A" (Not Available). The `if(hardwarereq.GPUInfo.contains(gpu.version))` code is used to determine whether the required GPU model matches the actual GPU model.
[0038] For any simulation model, if no candidate compute nodes suitable for the model are found after traversing all compute nodes, the entire allocation process is terminated. The main engine uploads failure information, including the model ID, name, and simulation resource requirements, to the operations control software. After uploading the failure information, the operations control software generates an error report based on this detailed information for administrators to review and analyze. This report allows administrators to understand which resource requirements could not be met, such as insufficient CPU performance, insufficient memory, or a mismatched GPU model. The operations control software also logs these failure information for subsequent data mining and statistical analysis, providing a basis for future resource planning and adjustments. Furthermore, the operations control software can trigger an alert mechanism, notifying relevant personnel via email, text message, or in-system notifications, so that they are promptly informed of the allocation failure and can take appropriate measures, such as adding compute nodes or adjusting the simulation model's resource requirements. The software then retrieves candidate compute nodes to ensure the smooth execution of the simulation task.
[0039] The mapping relationship between the simulation model and the candidate computing nodes is used to construct an allocable computing node list (g_model_availablenode_list). The key of the allocable computing node list is the id of the simulation model, and the value of the allocable computing node list is a list. The list list stores the identifiers of all candidate computing nodes of the simulation model.
[0040] By traversing the simulation model list and computing node list, candidate computing nodes that can meet these requirements are accurately screened out based on the simulation model's specific requirements for resources such as CPU, memory, and GPU, thereby avoiding assigning model simulation tasks to computing nodes with insufficient resources, and preventing slow task execution or failure due to resource shortages. In addition, by storing information such as simulation models, computing nodes, and candidate computing nodes in tables, data can be organized clearly and orderly, making it easier to quickly filter using query statements.
[0041] In S3, refer to Figure 5 The flowchart of the coupling value acquisition method shown in the figure "Obtaining the coupling value between simulation models" includes the following steps: S31: Construct model pairs based on the input-output relationship between simulation models; S32: Obtain the coupling value between the model pairs.
[0042] Reference Figure 6 The simulation model data interaction diagram is shown. In the simulation task scenario, each simulation model does not exist in isolation. During the simulation process, each simulation model will exchange data through ports (input ports and output ports). Due to the different coupling levels between simulation models (in Figure 6 This is reflected in the different numbers of connections between simulation models) and the different types of data transmitted between simulation model ports, resulting in different sizes of data transmission between simulation models. Among them, the data types of simulation model ports are divided into basic types and binary byte stream types. Among them, basic types usually include int (integer), float (single-precision floating point), double (double-precision floating point), and binary byte stream types usually include binary (binary). Based on this, the port types between simulation models with connection relationships also include these categories. Any two simulation models with input-output relationships (that is, with connection relationships) are combined into a model pair. The calculation formula for the coupling value between the model pairs is as follows: Wm, n=1*Ni + 4*Nf + 8*Nd + 24*Nb; Where m and n are the IDs of the simulation models, m ≠ n. Two simulation models with IDs m and n constitute a model pair; Wm, n are the coupling values between the model pairs; Ni is the number of integer connections between the model pairs; Nf is the number of single-precision floating-point connections between the model pairs; Nd is the number of double-precision floating-point connections between the model pairs; and Nb is the number of binary connections between the model pairs. In this formula, 1, 2, 8, and 24 are weights.
[0043] Based on the calculated coupling values, a coupling relationship table (g_models_relative_map) of map type is constructed. The key of the coupling relationship table is (m, n), and the value of the coupling relationship table is the coupling value between the two simulation models whose IDs are m and n respectively.
[0044] In S4, refer to Figure 7 The flowchart of the optimal computing node determination method is shown. "Screening the optimal computing node to support the simulation model operation based on the coupling value and candidate computing nodes" includes the following steps: S41: Use the assignedCount parameter to record the number of times the computing node is selected as a candidate computing node; S42: Determine the current simulation model based on traversing each simulation model; S43: determining all associated simulation models having input-output relationships with the current simulation model; S44: Selecting the associated simulation model with the largest coupling value with the current simulation model as the candidate simulation model; S45: Determine whether the current simulation model and the simulation model to be selected have the same candidate computing nodes; S46: Based on the judgment result and the assignedCount parameter, determine the optimal computing node of the current simulation model.
[0045] In S41, an assignedCount parameter is added to the computing node list. The initial value of the assignedCount parameter is 0. Every time a computing node is selected as a candidate computing node, the assignedCount parameter of the computing node is increased by 1 until the candidate computing nodes of all simulation models are determined. At this time, the computing node list stores the number of times all computing nodes are selected as candidate computing nodes.
[0046] In S42-S45, each simulation model in the simulation model list is sequentially selected as the current simulation model. Based on the ID of the current simulation model, all simulation models with input-output relationships are searched in the coupling relationship table. These found simulation models are used as associated simulation models, and the associated simulation model with the largest coupling value with the current simulation model is preferentially selected as the candidate simulation model. The lists of allocable computing nodes for the current simulation model and the candidate simulation model are respectively obtained, and it is determined whether the two lists have an intersection. If so, it indicates that there are the same candidate computing nodes. If there is no intersection, it indicates that there are no same candidate computing nodes.
[0047] In S46, when the current simulation model and the to-be-selected simulation model have the same candidate computing nodes, the same candidate computing node with the smallest assignedCount parameter is selected as the optimal computing node of the current simulation model, and the minimum assignedCount parameter is increased by 2; when the current simulation model and the to-be-selected simulation model do not have the same candidate computing nodes, the candidate computing node with the smallest assignedCount parameter is selected from all the candidate computing nodes of the current simulation model as the optimal computing node of the current simulation model.
[0048] This method uses the assignedCount parameter to record the number of times each compute node has been selected as a candidate compute node. This effectively tracks the usage of each compute node and provides reliable data support for subsequent resource allocation. When selecting the optimal compute node, the associated simulation models are first screened based on their coupling. A high coupling degree indicates more frequent data interaction and a closer dependency between the two simulation models. The candidate model with the highest coupling degree with the current simulation model is prioritized, ensuring that model combinations with high data interaction requirements are prioritized during subsequent resource allocation. When the current and candidate models share the same candidate compute node, the candidate with the smallest assignedCount parameter is selected as the optimal compute node. This avoids overuse of compute nodes and achieves balanced resource allocation. It also reduces the distance and time for data transmission between highly coupled models, as data transmission within the same compute node is much more efficient than cross-node transmission, thereby improving communication efficiency. If no candidate compute nodes exist, the node with the smallest assignedCount parameter is selected from all candidate compute nodes in the current simulation model. This ensures that computing resources are preferentially allocated to less-used nodes, thereby improving overall computing resource utilization.
[0049] From the perspective of overall system performance, this method of screening candidate simulation models based on coupling degree and allocating resources using the assignedCount parameter can significantly reduce data transmission latency and overhead, speeding up simulation calculations. This solution, especially when processing large-scale, highly complex simulation models, enables the system to operate more efficiently with limited resources, effectively improving the overall system performance and stability. In summary, this method has significant effects on rational resource allocation, improving communication efficiency, and optimizing overall system performance.
[0050] Reference Figure 8 The present disclosure provides a simulation model computing resource intelligent allocation system, comprising: The information acquisition module 101 is used to obtain the simulation resource requirement information of the simulation model and the hardware resource information of the computing node; An information matching module 102 is used to match the simulation resource requirement information with the hardware resource information to determine candidate computing nodes that can support the operation of the simulation model; A value acquisition module 103 is used to obtain coupling values between simulation models; The optimal screening module 104 is used to screen the optimal computing nodes that support the operation of the simulation model based on the coupling degree value and the candidate computing nodes.
[0051] The various variations and specific examples of the above-mentioned method for intelligent allocation of simulation model computing resources are also applicable to the system for intelligent allocation of simulation model computing resources provided in the present disclosure. Through the above-mentioned detailed description of the method for intelligent allocation of simulation model computing resources, those skilled in the art can clearly know the implementation method of the system for intelligent allocation of simulation model computing resources. For the sake of brevity of the specification, it will not be described in detail here.
[0052] A computer device according to an embodiment of the present disclosure includes a memory and a processor. The memory is used to store non-transitory computer-readable instructions. Specifically, the memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, flash memory, etc.
[0053] The processor may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the computer device to perform desired functions. In one embodiment of the present disclosure, the processor is configured to execute the computer-readable instructions stored in the memory, causing the computer device to execute all or part of the steps of the aforementioned method for intelligently allocating computing resources for simulation models according to various embodiments of the present disclosure.
[0054] Those skilled in the art should understand that in order to solve the technical problem of how to obtain a good user experience, this embodiment may also include well-known structures such as a communication bus and an interface, and these well-known structures should also be included in the scope of protection of this disclosure.
[0055] like Figure 9 The present invention provides a schematic diagram of the structure of a computer device according to an embodiment of the present invention. Figure 9 The computer device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0056] like Figure 9 As shown, a computer device may include a processor (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in a read-only memory (ROM) or programs loaded from a storage device into a random access memory (RAM). The RAM also stores various programs and data required for the operation of the computer device. The processor, ROM, and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.
[0057] Typically, the following devices can be connected to the I / O interface: input devices such as sensors or visual information acquisition devices; output devices such as display screens; storage devices such as tapes and hard disks; and communication devices. The communication device can allow the computer device to communicate with other devices (such as edge computing devices) wirelessly or by wire to exchange data. Figure 9 A computer device having various devices is shown, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
[0058] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device, or installed from a ROM. When the computer program is executed by a processor, all or part of the steps of the simulation model computing resource intelligent allocation method of the embodiment of the present disclosure are executed.
[0059] For detailed description of this embodiment, please refer to the corresponding description in the aforementioned embodiments, which will not be repeated here.
[0060] According to an embodiment of the present disclosure, a computer-readable storage medium stores non-transitory computer-readable instructions. When the non-transitory computer-readable instructions are executed by a processor, all or part of the steps of the aforementioned method for intelligently allocating computing resources for a simulation model are executed.
[0061] The above-mentioned computer-readable storage media include, but are not limited to, optical storage media (e.g., CD-ROMs and DVDs), magneto-optical storage media (e.g., MOs), magnetic storage media (e.g., magnetic tapes or mobile hard disks), media with built-in rewritable non-volatile memory (e.g., memory cards), and media with built-in ROM (e.g., ROM cartridges).
[0062] For detailed description of this embodiment, please refer to the corresponding description in the aforementioned embodiments, which will not be repeated here.
[0063] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.
[0064] In the present disclosure, relational terms such as first and second, etc. are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. The block diagrams of the devices, devices, equipment, and systems involved in the present disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "including," "comprising," "having," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0065] Additionally, as used herein, "or" used in a list of items beginning with "at least one" indicates a separate list, so that, for example, a list of "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not mean that the example described is preferred or better than other examples.
[0066] It should also be noted that in the system and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.
[0067] Various changes, substitutions, and modifications may be made to the technology described herein without departing from the teachings defined by the appended claims. Moreover, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, compositions of things, means, methods, and actions described above. Currently existing or later developed processes, machines, manufactures, compositions of things, means, methods, or actions that perform substantially the same function or achieve substantially the same results as the corresponding aspects described herein may be utilized. Accordingly, the appended claims include within their scope such processes, machines, manufactures, compositions of things, means, methods, or actions.
[0068] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0069] The above description has been provided for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
Claims
1. A method for intelligently allocating computing resources for a simulation model, characterized in that: include: Obtaining simulation resource requirement information of the simulation model and hardware resource information of the computing nodes; Matching the simulation resource requirement information with the hardware resource information to determine candidate computing nodes that can support the operation of the simulation model; Obtain the coupling value between simulation models; Based on the coupling degree value and the candidate computing nodes, an optimal computing node that supports the operation of the simulation model is screened.
2. The method for intelligently allocating computing resources of a simulation model according to claim 1, wherein: The simulation resource requirement information includes CPU requirement information, memory capacity requirement value and GPU requirement information; The CPU requirement information includes the CPU main frequency requirement value and the CPU core number requirement value, and the GPU requirement information includes the GPU requirement variable and the GPU requirement model; The hardware resource information includes CPU resource information, memory resource information and GPU resource information; The CPU resource information includes the actual CPU main frequency and the actual number of CPU cores, the memory resource information includes the total memory capacity and memory usage, and the GPU resource information includes the actual GPU model; Based on the total memory capacity and the memory usage, the available memory capacity of the computing node is obtained.
3. The method for intelligently allocating computing resources for a simulation model according to claim 2, wherein: The matching of the simulation resource requirement information with the hardware resource information to determine a candidate computing node that can support the operation of the simulation model includes: Determine whether the memory capacity requirement, CPU main frequency requirement, and CPU core number requirement of the simulation model are respectively less than or equal to the available memory capacity, actual CPU main frequency, and actual CPU core number of the computing node; If so, determining whether the GPU requirement variable of the simulation model is true; If true, determine whether the GPU required model matches the actual GPU model; If they match, the computing node is determined to be a candidate computing node for the simulation model.
4. The method for intelligently allocating computing resources of a simulation model according to claim 1, wherein: The obtaining of the coupling value between the simulation models includes: Construct model pairs based on the input-output relationship between simulation models; Obtain the coupling value between the model pair.
5. The method for intelligently allocating computing resources of a simulation model according to claim 4, characterized in that: The calculation formula of the coupling value is: Wm, n=1*Ni + 4*Nf + 8*Nd + 24*Nb; Where m and n are the IDs of the simulation models, m≠n, and two simulation models with IDs m and n respectively constitute a model pair; Wm, n are the coupling values between the model pairs; Ni is the number of connections between the model pairs with integer port types; Nf is the number of connections between the model pairs with single-precision floating-point port types; Nd is the number of connections between the model pairs with double-precision floating-point port types; and Nb is the number of connections between the model pairs with binary port types.
6. The method for intelligently allocating computing resources for a simulation model according to claim 1, wherein: The screening of the optimal computing node supporting the operation of the simulation model based on the coupling degree value and the candidate computing nodes includes: Use the assignedCount parameter to record the number of times the computing node is selected as the candidate computing node; Determine the current simulation model based on traversing each simulation model; Determining all associated simulation models having input-output relationships with the current simulation model; Selecting the associated simulation model with the largest coupling value with the current simulation model as the simulation model to be selected; Determine whether the current simulation model and the to-be-selected simulation model have the same candidate computing nodes; Based on the judgment result and the assignedCount parameter, the optimal computing node of the current simulation model is determined.
7. The method for intelligently allocating computing resources of a simulation model according to claim 6, characterized in that: The determining the optimal computing node of the current simulation model based on the judgment result and the assignedCount parameter includes: When the current simulation model and the to-be-selected simulation model have the same candidate computing node, select the same candidate computing node with the smallest assignedCount parameter as the optimal computing node of the current simulation model, and add 2 to the smallest assignedCount parameter; When the current simulation model and the to-be-selected simulation model do not have the same candidate computing nodes, the candidate computing node with the smallest assignedCount parameter is selected from all candidate computing nodes of the current simulation model as the optimal computing node of the current simulation model.
8. A computer device, characterized in that: The computer device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed 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 simulation model computing resource intelligent allocation method according to any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, which are used to enable a computer to execute the simulation model computing resource intelligent allocation method according to any one of claims 1 to 7.
10. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Resource allocation method of cloud computing system
CN102938790A
Load balancing method of aircraft distributed system stimulation
CN103281393A
Simulation task processing method and device and electronic equipment
CN115840648A
Distributed simulation test environment automatic deployment method, device, equipment and medium
CN116893977A
Task scheduling method and device, equipment, storage medium and program product
CN118277051A