Simulation model computing resource intelligent allocation method and device, medium and program product
By acquiring the resource requirements of the simulation model and the hardware information of the computing nodes, and combining the coupling degree value to select the optimal computing node, the problem of uneven resource allocation in distributed simulation is solved, and the simulation efficiency and resource utilization are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-20
- Publication Date
- 2026-03-31
AI Technical Summary
In distributed simulation computing, the differences in resource requirements of each simulation model and the diversity of computing node configurations make it difficult to allocate and utilize resources efficiently, thus affecting simulation efficiency.
By acquiring the resource requirements of the simulation model and the hardware resource information of the computing nodes, and combining the coupling degree values between the simulation models, the optimal computing nodes are selected for resource allocation.
It improves the parallel computing capability of the simulation model, reduces the communication overhead between models, and enhances simulation efficiency and resource utilization.
Smart Images

Figure CN120670171B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of equipment simulation technology, and in particular to a method, device, medium and program product for intelligent allocation of simulation model computing resources. Background Technology
[0002] In today's field of simulation computing, simulation engine software plays a crucial role. With the continuous development of technology, distributed simulation has become a mainstream simulation method, which can fully utilize the resources of multiple computing nodes to achieve more complex and large-scale simulation tasks. During distributed simulation, different simulation models have different requirements for simulation resources, such as varying demands on CPU, GPU, and memory. Furthermore, in a local area network environment, the hardware configurations of available computers also differ.
[0003] In practical applications of distributed simulation, how to fully utilize the resources of computing nodes and improve simulation efficiency while meeting the computational resource requirements of each simulation model has become a key issue that must be considered when designing a simulation computing engine. Currently, due to the differences in resource requirements of various simulation models and the diversity of computing node configurations, it is difficult to achieve efficient allocation and utilization of resources, which to some extent limits the improvement of simulation efficiency. Summary of the Invention
[0004] In view of this, the present disclosure provides a method, apparatus, medium and program product for intelligent allocation of computing resources for simulation models, which can comprehensively consider the resource requirements of simulation models, the resource status of computing nodes and the coupling degree between simulation models, and allocate resources to simulation models in a reasonable and efficient manner.
[0005] In a first aspect, the present disclosure provides a method for intelligent allocation of computing resources for simulation models, employing the following technical solution:
[0006] Obtain simulation resource requirements and computing node hardware resource information for the simulation model;
[0007] The simulation resource requirements information is matched with the hardware resource information to determine candidate computing nodes that can support the operation of the simulation model;
[0008] Obtain the coupling degree value between simulation models;
[0009] Based on the coupling degree value and the candidate computing nodes, the optimal computing node that supports the operation of the simulation model is selected.
[0010] Optionally, the simulation resource requirement information includes CPU requirement information, memory capacity requirement value, and GPU requirement information;
[0011] The CPU requirement information includes the CPU clock speed requirement and the CPU core count requirement, while the GPU requirement information includes the GPU requirement variables and the GPU model requirement.
[0012] The hardware resource information includes CPU resource information, memory resource information, and GPU resource information;
[0013] The CPU resource information includes the actual CPU clock speed and the actual number of CPU cores; the memory resource information includes the total memory capacity and memory utilization rate; and the GPU resource information includes the actual GPU model.
[0014] Based on the total memory capacity and the memory utilization rate, the available memory capacity of the computing node is obtained.
[0015] Optionally, 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 includes:
[0016] Determine whether the memory capacity requirement, CPU frequency requirement, and CPU core requirement of the simulation model are less than or equal to the available memory capacity, actual CPU frequency, and actual CPU core count of the computing node, respectively.
[0017] If so, then determine whether the GPU requirement variable of the simulation model is true;
[0018] If true, then determine whether the required GPU model matches the actual GPU model;
[0019] If a match is found, the computing node is determined to be a candidate computing node for the simulation model.
[0020] Optionally, obtaining the coupling degree value between simulation models includes:
[0021] Model pairs are constructed based on the input-output relationships between simulation models;
[0022] Obtain the coupling degree value between the model pairs.
[0023] Optionally, the formula for calculating the coupling degree value is:
[0024] Wm, n=1*Ni + 4*Nf + 8*Nd + 24*Nb;
[0025] Where m and n are the ids of the simulation models, m≠n, and two simulation models with ids of m and n respectively constitute a model pair; Wm,n are the coupling degree values between model pairs; Ni is the number of integer-type connections between model pairs; Nf is the number of single-precision floating-point connections between model pairs; Nd is the number of double-precision floating-point connections between model pairs; and Nb is the number of binary-type connections between model pairs.
[0026] Optionally, the step of selecting the optimal computing node to support the simulation model based on the coupling degree value and the candidate computing nodes includes:
[0027] The assignedCount parameter is used to record the number of times the computing node is selected as a candidate computing node;
[0028] The current simulation model is determined based on the traversal of each simulation model;
[0029] Identify all associated simulation models that have input-output relationships with the current simulation model;
[0030] Select the associated simulation model with the highest coupling value with the current simulation model as the candidate simulation model;
[0031] Determine whether the current simulation model and the candidate simulation model have the same candidate computing nodes;
[0032] Based on the judgment result and the assignedCount parameter, the optimal computing node of the current simulation model is determined.
[0033] Optionally, determining the optimal computation node for the current simulation model based on the judgment result and the assignedCount parameter includes:
[0034] When the current simulation model and the candidate 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 smallest assignedCount parameter is incremented by 2.
[0035] When the current simulation model and the candidate 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.
[0036] Secondly, this disclosure also provides an intelligent allocation system for simulation model computing resources, which adopts the following technical solution:
[0037] The information acquisition module is used to acquire simulation resource requirements information of the simulation model and hardware resource information of the computing nodes;
[0038] The information matching module 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;
[0039] The numerical acquisition module is used to acquire the coupling degree values between simulation models;
[0040] The optimal selection module is used to select the optimal computing node that supports the operation of the simulation model based on the coupling degree value and the candidate computing nodes.
[0041] Thirdly, this disclosure also provides a computer device, which adopts the following technical solution:
[0042] The computer device includes:
[0043] At least one processor; and,
[0044] A memory communicatively connected to the at least one processor; wherein,
[0045] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform any of the above-described intelligent allocation methods for simulation model computing resources.
[0046] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium storing computer instructions for causing a computer to execute any of the above-described intelligent allocation methods for simulation model computing resources.
[0047] Fifthly, embodiments of this disclosure also provide a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of any of the methods described above.
[0048] The intelligent resource allocation method for simulation models provided in this disclosure addresses the challenge of efficient resource allocation due to the varying resource requirements and diverse configurations of computing nodes across different simulation models. This method addresses this by acquiring the simulation resource requirements of each model, clearly understanding their specific computational needs, such as CPU power, memory size, and storage capacity. Simultaneously, acquiring the hardware resource information of the computing nodes clarifies their resource status, providing foundational data for subsequent resource allocation. After understanding the resource requirements of the simulation models and the hardware resources of the computing nodes, a matching operation identifies computing nodes that meet the operational resource requirements of the simulation models—i.e., candidate computing nodes. This step avoids assigning simulation models to computing nodes with insufficient resources, thereby reducing simulation failures or inefficiencies caused by resource shortages. In distributed simulations, simulation models are interconnected. However, traditional methods for designing simulation engines often overlook coupling factors, leading to a lack of comprehensive consideration of inter-model interactions during resource allocation. This results in highly coupled simulation models being assigned to computing nodes that are too far away or have low communication efficiency, increasing inter-model communication latency. This disclosed intelligent resource allocation method for simulation models combines coupling degree values and candidate computing node information to comprehensively consider the resource requirements of the simulation model, the resource status of computing nodes, and the degree of interaction between simulation models. It then selects the most suitable computing node for running the simulation model. This allocation method fully utilizes the resources of computing nodes, making resource allocation more rational and efficient. By selecting the optimal computing node, communication overhead between simulation models can be reduced, and the parallel computing capability of the simulation model can be improved. Thus, while meeting the computing resource requirements of each simulation model, the resource utilization of computing nodes is fully utilized, effectively solving the current problem of inefficient resource allocation and utilization, and ultimately improving simulation efficiency.
[0049] The above description is merely an overview of the technical solution disclosed herein. In order to better understand the technical means of this disclosure and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0050] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 A flowchart illustrating the intelligent allocation method for simulation model computing resources provided in this embodiment of the disclosure;
[0052] Figure 2 This is a diagram of a distributed simulation architecture provided in the embodiments of this disclosure;
[0053] Figure 3 A diagram illustrating the subscription / publishing mechanism architecture for computing node resources provided in this embodiment of the disclosure;
[0054] Figure 4 A flowchart illustrating the candidate computing node determination method provided in this embodiment of the disclosure;
[0055] Figure 5 A flowchart illustrating the method for obtaining coupling degree values provided in embodiments of this disclosure;
[0056] Figure 6 This is a schematic diagram of simulation model data interaction provided in the embodiments of this disclosure;
[0057] Figure 7 A flowchart illustrating the optimal computing node determination method provided in this embodiment of the disclosure;
[0058] Figure 8 This is a block diagram illustrating the principle of the intelligent allocation system for simulation model computing resources provided in this embodiment of the disclosure.
[0059] Figure 9 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present disclosure. Detailed Implementation
[0060] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0061] It should be understood that the following specific examples illustrate the implementation of this disclosure, and those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific implementation methods, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0062] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this disclosure, those skilled in the art will understand that one 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 set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using structures and / or functionalities other than one or more of the aspects set forth herein.
[0063] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this disclosure. The drawings only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0064] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.
[0065] Reference Figure 1 This disclosure provides a method for intelligent allocation of computing resources in a simulation model, comprising the following steps:
[0066] S1: Obtain simulation resource requirements and computing node hardware resource information for the simulation model;
[0067] S2: Match simulation resource requirements with hardware resource information to determine candidate computing nodes that can support the simulation model.
[0068] S3: Obtain the coupling degree value between simulation models;
[0069] S4: Based on the coupling degree value and candidate computing nodes, select the optimal computing node to support the simulation model.
[0070] The intelligent resource allocation method for simulation models disclosed herein addresses the challenge of efficient resource allocation due to the varying resource requirements and diverse configurations of computing nodes across different simulation models. This method addresses this by acquiring the simulation resource requirements of each model, clearly defining the specific computing resources needed, such as CPU power, memory size, and storage capacity. Simultaneously, acquiring the hardware resource information of the computing nodes clarifies their resource status, providing foundational data for subsequent resource allocation. After understanding the resource requirements of the simulation models and the hardware resources of the computing nodes, a matching operation identifies computing nodes that meet the resource requirements for the simulation models—i.e., candidate computing nodes. This step avoids assigning simulation models to computing nodes with insufficient resources, thereby reducing simulation failures or inefficiencies caused by resource shortages.
[0071] In distributed simulation, simulation models are interconnected. However, traditional methods for designing simulation engines often overlook this coupling, leading to a lack of comprehensive consideration of model interactions when allocating resources. This results in highly coupled simulation models being assigned to computational nodes that are too far away or have low communication efficiency, increasing communication latency between models. The intelligent resource allocation method for simulation models disclosed in this paper combines coupling values and candidate computational node information to comprehensively consider the resource requirements of the simulation models, the resource status of the computational nodes, and the degree of interaction between the simulation models. It then selects the most suitable computational node for running the simulation model. This allocation method fully utilizes the resources of the computational nodes, making resource allocation more rational and efficient. By selecting the optimal computational node, communication overhead between simulation models can be reduced, and the parallel computing capability of the simulation models can be improved. Thus, while meeting the computational resource requirements of each simulation model, the resources of the computational nodes are fully utilized, effectively solving the current problem of inefficient resource allocation and utilization, and ultimately improving simulation efficiency.
[0072] In S1, refer to Figure 2 The distributed simulation architecture diagram illustrates that the simulation computing engines running the simulation operate 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-0 or one-to-many relationship. The master engine interacts with the simulation runtime management software (referred to as the operation and control software), receiving control commands from the operation and control software and reporting the simulation status. When the operation and control software sends a simulation task to the master engine, the master engine is responsible for parsing and breaking down the simulation task, and then sending the broken-down simulation task to the computing nodes in the slave engines. The computing nodes execute the simulation, and the master and slave engines transfer simulation model data via network or memory.
[0073] When the operation and control software sends simulation tasks to the main engine, it also sends a list of simulation models, specifies the computing nodes required for this simulation task, and constructs a list of computing nodes. The simulation model list is named `g_model_list`, where the key is the simulation model's ID and the value is the simulation model's structure. The computing node list contains identifiers for the computing nodes, which consist of the node's IP address and port number.
[0074] When parsing simulation tasks, the main engine uses modeling tools to determine the minimum hardware configuration requirements of the storage model. These minimum requirements constitute the simulation resource requirements information, which is stored in the simulation model's structure (i.e., the SimReqInfo structure). The simulation resource requirements information includes CPU requirements, memory capacity requirements, and GPU requirements. The CPU requirements include CPU clock speed requirements and CPU core count requirements. The GPU requirements include a GPU requirement variable and a GPU model requirement. The GPU requirement variable, a boolean value in the SimReqInfo structure, determines whether the simulation model requires a GPU. The memory capacity and CPU clock speed requirements are float values in the SimReqInfo structure, with units of MB and GHz respectively. The CPU core count and GPU model requirements are uint8 and string values in the SimReqInfo structure, respectively. The simulation model's multi-threaded simulation requirement variable, also a boolean value in the SimReqInfo structure, determines whether the simulation model supports multi-threaded simulation.
[0075] Reference Figure 3The diagram illustrates the publish / subscribe mechanism architecture for compute node resources. On each available compute node, a background daemon (starting automatically upon system boot) runs. This daemon periodically sends hardware resource information (i.e., computer hardware resource status) to a topic named "NodeResourceInfo" via the DDS publish / subscribe mechanism. The main engine receives this hardware resource information from each compute node by subscribing to the "NodeResourceInfo" topic. This hardware resource information includes CPU, memory, and GPU resource information. 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. When a compute node lacks a dedicated graphics card, the GPU model variable is set to "N / A" (Not Available). The diagram also retrieves CPU and GPU utilization information for further monitoring of the compute node's hardware resource configuration, facilitating simulation. The acquired hardware resource information, multi-threaded simulation requirement variables, CPU utilization, and GPU utilization are stored in the computing node list, so that the computing node list stores the hardware resource information of each computing node.
[0076] Furthermore, based on the total memory capacity and memory utilization rate, the available memory capacity of the computing node can be obtained. First, multiply the total memory capacity and memory utilization rate to get the used memory capacity, and then subtract the used memory capacity from the total memory capacity to get the available memory capacity.
[0077] In S2, refer to Figure 4 The flowchart illustrating the candidate computing node determination method shows that "matching simulation resource requirements with hardware resource information to determine candidate computing nodes that can support the simulation model" includes the following steps:
[0078] S21: Determine whether the memory capacity requirement, CPU frequency requirement, and CPU core number requirement of the simulation model are less than or equal to the available memory capacity, actual CPU frequency, and actual CPU core number of the computing node, respectively; if yes, proceed to S22; if no, proceed to S23.
[0079] S22: Determine if the GPU requirement variable of the simulation model is true; if true, execute S24; if false, execute S25.
[0080] S23: Determine the next computation node, return to S21, and match the simulation model with the next computation node;
[0081] S24: Determine if the required GPU model matches the actual GPU model; if yes, proceed to S25; otherwise, proceed to S23.
[0082] S25: Determine the computation node as a candidate computation node for the simulation model.
[0083] The simulation model list is traversed. During this traversal, the currently processed simulation model becomes the target model for which candidate computation nodes need to be determined. Simultaneously, the computation node list is traversed. During this traversal, the currently processed simulation model is matched with the currently traversed computation nodes to determine whether the computation node can be considered a candidate computation node for that simulation model.
[0084] Since CPU and memory are fundamental resources that every computing task may require, checking GPU resource availability is meaningless before ensuring that the computing node has sufficient CPU and memory resources. Therefore, we first check whether the CPU and memory resources of the computing node meet the requirements of the simulation model. We determine if 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. When all three conditions are met, we then determine whether the simulation model needs a GPU through the GPU requirement variable. If the GPU requirement variable is true, it means that the simulation model requires a GPU. In this case, we match the required GPU model with the actual GPU model to determine whether the currently visited computing node can be used as a candidate computing node for the simulation model. If the GPU requirement variable is false, it means that the simulation model does not require a GPU, and we directly determine that the currently visited computing node can be used as a candidate computing node for the simulation model.
[0085] The code that matches the required GPU model with the actual GPU model is: if(hardwarereq.GPUInfo.contains(gpu.version)), where hardwarereq.GPUInfo represents the required GPU model and gpu.version represents the actual GPU model. If the string hardwarereq.GPUInfo contains the substring gpu.version, it means that the required GPU model and the actual GPU model have matched successfully; if the string hardwarereq.GPUInfo does not contain the substring gpu.version, it means that the required GPU model and the actual GPU model have not matched.
[0086] When assigning candidate compute nodes to simulation models, the simulation model list is traversed. The simulation model currently being traversed is the target model for which candidate compute nodes need to be determined. Simultaneously, the compute node list is traversed, matching the simulation model with the currently traversed compute nodes to determine if the compute node can be used as a candidate compute node for that simulation model. When a compute node does not have a dedicated graphics card, the variable for the actual GPU model is set to "N / A" (NotAvailable), and the code `if(hardwarereq.GPUInfo.contains(gpu.version))` checks whether the required GPU model matches the actual GPU model.
[0087] For any simulation model, if no suitable candidate computing nodes are found after traversing all computing nodes, the entire allocation process must be terminated. The main engine uploads failure information, including the simulation model's ID, name, and simulation resource requirements, to the operation and control software. After uploading the failure information, the operation and control software can generate corresponding error reports based on this detailed information for administrators to view and analyze. Administrators can understand which resource requirements cannot be met, such as insufficient CPU performance, insufficient memory, or incompatible GPU models. Simultaneously, the operation and control software can log these failure information for subsequent data mining and statistical analysis, providing a basis for future resource planning and adjustments. Furthermore, the operation and control software can trigger an alarm mechanism, notifying relevant personnel via email, SMS, or in-system notifications to promptly inform them of the allocation failure and allow them to take appropriate measures, such as adding computing nodes, adjusting the simulation model's resource requirements, and then re-acquiring candidate computing nodes, thereby ensuring the smooth execution of the simulation task.
[0088] 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 that stores the identifiers of all candidate computing nodes of the simulation model.
[0089] By traversing the list of simulation models and the list of computing nodes, and based on the specific requirements of the simulation models for resources such as CPU, memory, and GPU, candidate computing nodes that can meet these requirements are accurately selected. This avoids assigning model simulation tasks to computing nodes with insufficient resources, thus preventing slow task execution or failure due to resource shortages. Furthermore, by storing information such as simulation models, computing nodes, and candidate computing nodes in a table, the data can be organized clearly and systematically, facilitating quick filtering using query statements.
[0090] In S3, refer to Figure 5 The flowchart illustrating the method for obtaining coupling values shows that "obtaining coupling values between simulation models" includes the following steps:
[0091] S31: Construct model pairs based on the input-output relationships between simulation models;
[0092] S32: Obtain the coupling degree value between model pairs.
[0093] Reference Figure 6 The diagram illustrating data interaction between simulation models shows that in the simulation task scenario, the simulation models do not exist in isolation; they exchange data through ports (input and output ports) during the simulation process. Due to varying degrees of coupling between the simulation models (in... Figure 6 This difference is reflected in the varying number of connections between simulation models and the different data types transmitted between simulation model ports, resulting in varying data transmission sizes between simulation models. The data types of simulation model ports are divided into basic types and binary byte stream types. Basic types typically include int (integer), float (single-precision floating-point), and double (double-precision floating-point), while binary byte stream types typically include binary (binary). Based on this, the port types between simulation models with connections also include these categories. Any two simulation models with input-output relationships (i.e., connections) are combined into a model pair. The formula for calculating the coupling degree between model pairs is as follows:
[0094] Wm, n=1*Ni + 4*Nf + 8*Nd + 24*Nb;
[0095] 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 is the coupling degree value between the model pairs; Ni is the number of integer-type 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-type connections between the model pairs. In this formula, 1, 2, 8, and 24 are all weights.
[0096] Based on the calculated coupling degree values, a coupling degree relationship table (g_models_relative_map) of type map is constructed. The key of the coupling degree relationship table is (m, n), and the value of the coupling degree relationship table is the coupling degree value between two simulation models with ids m and n respectively.
[0097] In S4, refer to Figure 7The flowchart illustrating the optimal computing node determination method includes the following steps: "Based on coupling degree values and candidate computing nodes, selecting the optimal computing node to support the simulation model operation."
[0098] S41: Use the assignedCount parameter to record the number of times a computing node is selected as a candidate computing node;
[0099] S42: Determine the current simulation model based on the traversal of each simulation model;
[0100] S43: Identify all associated simulation models that have input-output relationships with the current simulation model;
[0101] S44: Select the associated simulation model with the highest coupling value with the current simulation model as the candidate simulation model;
[0102] S45: Determine whether the current simulation model and the candidate simulation model have the same candidate computation nodes;
[0103] S46: Based on the judgment result and the assignedCount parameter, determine the optimal computing node for the current simulation model.
[0104] In S41, an assignedCount parameter is added to the list of computational nodes. The initial value of the assignedCount parameter is 0. Whenever a computational node is selected as a candidate computational node, the assignedCount parameter of that computational node is incremented by 1 until all candidate computational nodes for the simulation model are determined. At this point, the list of computational nodes stores the number of times each computational node has been selected as a candidate computational node.
[0105] In steps S42-S45, each simulation model in the simulation model list is selected as the current simulation model. Based on the ID of the current simulation model, all simulation models with input-output relationships with it are searched in the coupling relationship table, and these searched simulation models are designated as associated simulation models. The associated simulation model with the highest coupling degree value to the current simulation model is selected as the candidate simulation model. The allocable computing node lists of the current simulation model and the candidate simulation models are obtained respectively. It is determined whether these two lists intersect. If they intersect, it means that there are identical candidate computing nodes; if they do not intersect, it means that there are no identical candidate computing nodes.
[0106] In S46, when the current simulation model and the candidate simulation model have the same candidate computing nodes, the candidate computing node with the smallest assignedCount parameter is selected as the optimal computing node of the current simulation model, and the smallest assignedCount parameter is incremented by 2; when the current simulation model and the candidate simulation model do not have the same candidate computing nodes, the candidate computing node with the smallest assignedCount parameter is selected as the optimal computing node of the current simulation model from all candidate computing nodes of the current simulation model.
[0107] This method uses the `assignedCount` parameter to record the number of times each computing node is selected as a candidate computing node, effectively tracking the usage of each computing node and providing reliable data support for subsequent resource allocation. In selecting the optimal computing node, the associated simulation models are first screened based on coupling degree. High coupling degree means that the data interaction between the two simulation models is more frequent and the dependency is tighter. Prioritizing the candidate simulation model with the highest coupling degree ensures that model combinations with high data interaction needs are prioritized during subsequent resource allocation. When the current simulation model and the candidate simulation model have the same candidate computing node, the same candidate computing node with the smallest `assignedCount` parameter is selected as the optimal computing node. This avoids overuse of computing nodes, achieves balanced resource allocation, and reduces the data transmission distance and time between highly coupled models, as data transmission within the same computing node is much more efficient than cross-node transmission, thus improving communication efficiency. When no identical candidate computing nodes exist, the node with the smallest `assignedCount` parameter is selected from all candidate computing nodes of the current simulation model, ensuring that computing resources are preferentially allocated to less used nodes, improving the overall utilization of computing resources.
[0108] From the perspective of overall system performance, this method of selecting candidate simulation models based on coupling degree and allocating resources using the assignedCount parameter can significantly reduce data transmission latency and overhead, and accelerate simulation computation. Especially when dealing with large-scale, highly complex simulation models, this approach 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 the rationality of resource allocation, the improvement of communication efficiency, and the optimization of overall system performance.
[0109] Reference Figure 8 This disclosure provides an intelligent allocation system for computing resources in a simulation model, comprising:
[0110] The information acquisition module 101 is used to acquire the simulation resource requirements information of the simulation model and the hardware resource information of the computing nodes;
[0111] The information matching module 102 is used to match the simulation resource requirement information with the hardware resource information to determine the candidate computing nodes that can support the operation of the simulation model.
[0112] The numerical acquisition module 103 is used to acquire the coupling degree value between simulation models;
[0113] The optimal selection module 104 is used to select the optimal computing node that supports the simulation model based on the coupling degree value and candidate computing nodes.
[0114] The various variations and specific examples of the intelligent allocation method for simulation model computing resources provided above are also applicable to the intelligent allocation system for simulation model computing resources provided in this disclosure. Through the foregoing detailed description of the intelligent allocation method for simulation model computing resources, those skilled in the art can clearly understand the implementation method of the intelligent allocation system for simulation model computing resources. For the sake of brevity, it will not be described in detail here.
[0115] A computer device according to embodiments 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, for example, include random access memory (RAM) and / or cache memory. The non-volatile memory may, for example, include read-only memory (ROM), hard disk, flash memory, etc.
[0116] 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 this disclosure, the processor is used to execute computer-readable instructions stored in the memory, causing the computer device to perform all or part of the steps of the intelligent allocation method for simulation model computing resources of the foregoing embodiments of this disclosure.
[0117] Those skilled in the art will understand that, in order to solve the technical problem of how to achieve a good user experience, this embodiment may also include well-known structures such as communication buses and interfaces, and these well-known structures should also be included within the protection scope of this disclosure.
[0118] like Figure 9 This is a schematic diagram of a computer device provided for an embodiment of the present disclosure. It illustrates a structural schematic diagram suitable for implementing the computer device in the embodiments of the present disclosure. Figure 9 The computer device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0119] like Figure 9 As shown, a computer device may include a processor (such as a central processing unit, graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) or programs loaded from storage devices into 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 interconnected via a bus. Input / output (I / O) interfaces are also connected to the bus.
[0120] 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 displays; storage devices, such as magnetic tapes or hard drives; and communication devices. Communication devices allow the computer device to communicate wirelessly or wiredly with other devices (such as edge computing devices) to exchange data. Although Figure 9 A computer apparatus with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or included alternatively.
[0121] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device, or installed from ROM. When the computer program is executed by a processor, all or part of the steps of the intelligent allocation method for simulation model computing resources according to embodiments of this disclosure are performed.
[0122] For a detailed description of this embodiment, please refer to the corresponding descriptions in the foregoing embodiments, which will not be repeated here.
[0123] A computer-readable storage medium according to embodiments of the present disclosure stores non-transitory computer-readable instructions. When these non-transitory computer-readable instructions are executed by a processor, all or part of the steps of the intelligent allocation method for simulation model computing resources described in the foregoing embodiments of the present disclosure are performed.
[0124] The aforementioned computer-readable storage media include, but are not limited to: optical storage media (e.g., CD-ROM and DVD), magneto-optical storage media (e.g., MO), magnetic storage media (e.g., magnetic tape or portable hard drive), media with built-in rewritable non-volatile memory (e.g., memory card), and media with built-in ROM (e.g., ROM cartridge).
[0125] For a detailed description of this embodiment, please refer to the corresponding descriptions in the foregoing embodiments, which will not be repeated here.
[0126] The basic principles of this disclosure have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0127] In this disclosure, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. The block diagrams of devices, apparatuses, devices, and systems involved in this 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 those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as "comprising," "including," "having," etc., are open-ended terms meaning "including but not limited to," and are used interchangeably with them. The terms "or" and "and" as used herein refer to the terms "and / or," and are used interchangeably with them unless the context clearly indicates otherwise. The term "such as" as used herein refers to the phrase "such as but not limited to," and is used interchangeably with it.
[0128] Additionally, as used herein, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "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 imply that the described example is preferred or better than other examples.
[0129] It should also be noted that in the systems and methods of this disclosure, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions to this disclosure.
[0130] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufactures, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described herein can be utilized. Therefore, the appended claims include such processes, machines, manufactures, events, means, methods, or actions within their scope.
[0131] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this 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 this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.
[0132] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
Claims
1. A method for intelligent allocation of simulation model computing resources, comprising: The method comprises the following steps: obtaining simulation resource requirement information of a simulation model and hardware resource information of a computing node; matching the simulation resource requirement information with the hardware resource information to determine a candidate computing node that can support running of the simulation model; obtaining a coupling degree value between simulation models; wherein the obtaining of the coupling degree value between simulation models comprises: based on an input-output relationship between simulation models, constructing a model pair; obtaining a coupling degree value between the model pair; based on the coupling degree value and the candidate computing node, screening an optimal computing node that supports running of the simulation model; wherein the screening of the optimal computing node that supports running of the simulation model based on the coupling degree value and the candidate computing node comprises: using an assignedCount parameter to record the number of times the computing node is selected as the candidate computing node; based on traversal of each simulation model, determining a current simulation model; determining all associated simulation models having an input-output relationship with the current simulation model; selecting an associated simulation model having a maximum coupling degree value between the current simulation model as a candidate simulation model; judging whether the current simulation model and the candidate simulation model have the same candidate computing node; based on the judgment result and the assignedCount parameter, determining an optimal computing node of the current simulation model; wherein the determination of the optimal computing node of the current simulation model based on the judgment result and the assignedCount parameter comprises: when the current simulation model and the candidate simulation model have the same candidate computing node, selecting the same candidate computing node having the minimum assignedCount parameter as the optimal computing node of the current simulation model, and adding 2 to the minimum assignedCount parameter; when the current simulation model and the candidate simulation model do not have the same candidate computing node, selecting a candidate computing node having the minimum assignedCount parameter from all candidate computing nodes of the current simulation model as the optimal computing node of the current simulation model.
2. The simulation model computing resource intelligent allocation method according to claim 1, wherein: the simulation resource requirement information comprises CPU requirement information, memory capacity requirement value and GPU requirement information; wherein the CPU requirement information comprises CPU frequency requirement value and CPU core number requirement value, and the GPU requirement information comprises GPU requirement variable and GPU requirement model; the hardware resource information comprises CPU resource information, memory resource information and GPU resource information; wherein the CPU resource information comprises CPU actual frequency and CPU actual core number, the memory resource information comprises total memory capacity and memory usage rate, and the GPU resource information comprises GPU actual model; based on the total memory capacity and the memory usage rate, obtaining available memory capacity of the computing node.
3. The method of claim 2, wherein, the matching of the simulation resource requirement information with the hardware resource information to determine the candidate computing node that can support running of the simulation model comprises: determining whether the memory capacity requirement value, the CPU frequency requirement value and the CPU core number requirement value of the simulation model are respectively less than or equal to the available memory capacity, the actual CPU frequency and the actual CPU core number of the computing node; if yes, determining whether the GPU requirement variable of the simulation model is true; if true, determining whether the GPU requirement model matches the actual GPU model; if matched, determining that the computing node is a candidate computing node of the simulation model.
4. The method of claim 1, wherein, The calculation formula of the coupling degree value is: Wm,n=1 Ni + 4 Nf + 8 Nd + 24 Nb; wherein m and n are ids of the simulation models, m≠n, the ids are model pairs of the two simulation models of m and n respectively; Wm,n is the coupling degree value between the model pairs; Ni is the number of the connection lines between the model pairs with the integer type of the port; Nf is the number of the connection lines between the model pairs with the single-precision floating point type of the port; Nd is the number of the connection lines between the model pairs with the double-precision floating point type of the port; and Nb is the number of the connection lines between the model pairs with the binary type of the port.
5. A computer apparatus, characterized in that, The computer device comprises: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the simulation model computing resource intelligent allocation method according to any one of claims 1-4.
6. A computer readable storage medium characterized by, The computer readable storage medium stores computer instructions for causing a computer to perform the simulation model computing resource intelligent allocation method according to any one of claims 1-4.
7. A computer program product comprising computer instructions, characterized in that, The computer instructions, when executed by a processor, implement the steps of the method according to any one of claims 1-4.
Citation Information
Patent Citations
Distributed simulation controller
JP2002342297A