Method for solving system of linear equations, cloud management platform, and related apparatus
By adaptively configuring hardware resources and algorithm parameters through a cloud management platform, the problem of resource allocation difficulties in solving linear equation systems is solved, achieving efficient and low-cost solution results.
Patent Information
- Application Number
- PCT/CN2025/078418
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-11-06
- Filing Date
- 2025-02-21
- Publication Date
- 2025-12-11
AI Technical Summary
In the existing technology, there are many algorithms for solving linear equation systems and their hardware dependencies vary, which means that upgrading hardware configuration cannot bring the expected performance improvement. At the same time, the cost of high-performance computing clusters is constantly increasing, especially when solving large-scale linear equation systems, resource allocation is difficult.
By adaptively configuring hardware resources through a cloud management platform, intelligently selecting solution algorithms and algorithm parameters, and dynamically allocating resources when the computational load fluctuates, the system utilizes a neural network model to recommend the most suitable resource configuration and parameters, thereby achieving adaptive solution.
It improves the efficiency of solving linear equation systems, reduces the solution cost, increases resource utilization, reduces manpower allocation costs, and raises the barrier to entry for using the solver.
Smart Images

Figure CN2025078418_11122025_PF_FP_ABST
Abstract
Description
A linear equation system solving method, cloud management platform and related device
[0001] The present application claims priority to the Chinese patent application No. 202410741818.2, filed on June 7, 2024, entitled “Model solving method, device, computing device cluster and storage medium”, and the Chinese patent application No. 202411578076.2, filed on November 6, 2024, entitled “A linear equation system solving method, cloud management platform and related device”, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of computer technology, in particular to a linear equation system solving method, cloud management platform and related device. BACKGROUND
[0003] In the field of industrial simulation, computer-aided engineering (CAE) simulation in engineering design is often used to analyze the physical performance of engineering and products. When using CAE simulation to solve a certain physical problem, the more important and time-consuming task is usually to solve a linear equation system, and there are many algorithms for solving linear equation systems, such as direct method, iterative method and various preprocessing strategies.
[0004] With the development of computing hardware towards multi-core and heterogeneous, different linear equation systems and different solving algorithms have different dependencies and adaptabilities to hardware, and simply improving hardware configuration often cannot bring the expected performance improvement. In addition, with the continuous expansion of the scale of the physical model solved by CAE simulation, the scale of the corresponding linear equation system is also rapidly growing, which makes the cost of configuring a high-performance computing cluster higher and higher. SUMMARY
[0005] To solve the problems of the prior art, the present application provides a linear equation system solving method, system and related device, which can adaptively configure hardware resources according to the needs of specific solving tasks and algorithm characteristics, intelligently select solving algorithms and algorithm parameters, and dynamically allocate resources when the computing load fluctuates, thereby improving the solving efficiency and reducing the solving cost.
[0006] In a first aspect, the application provides a solution method, wherein the method is applied to a cloud management platform, the cloud management platform is used to manage an infrastructure running a cloud computing service, the infrastructure includes at least one cloud data center, and the method includes: the cloud management platform obtaining first equation information of a first linear equation set, the cloud management platform obtaining first solution algorithm information of the first linear equation set, the first solution algorithm information including a first solution algorithm for solving the first linear equation set, the cloud management platform obtaining first resource configuration information based on the first equation information and the first solution algorithm information, the first resource configuration information including at least one of the following: a first virtual instance specification and a first virtual instance quantity, and the cloud management platform creating M virtual instances matching the first resource configuration information in the at least one cloud data center, where M≥1, M is a positive integer, and the first linear equation set is solved by M virtual instances respectively solving sub-tasks decomposed from the first equation information and the first solution algorithm information.
[0007] In some embodiments, the cloud management platform receives first equation information input by a user or other module (e.g., a CAE simulation module), receives first solving algorithm information input by the user or other module (e.g., the cloud management platform processes the first equation information to obtain the first solving algorithm information), and obtains first resource configuration information based on the first solving algorithm information and the first equation information. The resource configuration indicated by the first resource configuration information is a resource used when a linear equation system solving task is subsequently executed, and the resource configuration is recommended by the present embodiment according to equation information of an equation system to be solved and a solving algorithm thereof. The resource configuration is more likely to be matched with the linear equation system to be solved and the solving algorithm thereof. Since the resources on the cloud have the characteristics of elastic scaling, the cloud management platform can create a virtual instance matched with the resource configuration information in the resources managed by the cloud management platform according to the resource configuration information. The specification of the virtual instance meets the first virtual instance specification in the first resource configuration information, and the number of the virtual instance meets the first virtual instance number in the first resource configuration information. The cloud management platform can create the virtual instance by creating the virtual instance to a virtual machine manager arranged in each server. Optionally, the cloud management platform can also set the created virtual instance as an elastic scaling group, so as to subsequently perform elastic scaling on the number of virtual instances in the elastic scaling group according to the change of the number of virtual instances in the resource configuration information. Optionally, the elastic scaling can also be performed on the specification of the virtual instance in the elastic scaling group according to the change of the specification of the virtual instance in the resource configuration information. The virtual instance specification in the first resource configuration information can be a central processing unit (CPU) specification, a graphics processing unit (GPU) specification, an accelerator specification, a memory size, a process number, a thread number, a process thread ratio, etc. The number of virtual instances in the first resource configuration information can be a CPU number, a GPU number, or directly a virtual instance number.
[0008] Since different linear equation systems and different solving algorithms have different dependencies and adaptabilities to hardware, by recommending a matched resource configuration for a user based on equation information and algorithm information of a linear equation system, the solving efficiency of the linear equation system is improved.
[0009] In an implementation form of the first aspect, the cloud management platform obtains the first resource configuration information based on the first equation information and the first solving algorithm information, including: the cloud management platform performs inference on the first equation information and the first solving algorithm information based on a first neural network model to obtain the first resource configuration information, the first neural network model being trained from a base model according to a first training set, the first training set including equation information training data and solving algorithm information training data as feature data, and resource configuration information training data as label data, the resource configuration information training data indicating a type of resource configuration including one or more of: CPU specification, GPU specification, CPU number, GPU number, accelerator specification, memory size, process number, thread number, and process thread ratio, and the resource configuration indicated by the resource configuration information being respectively matched with a resource configuration used when the linear equation group indicated by the equation information training data is solved by the algorithm indicated by the solving algorithm information training data.
[0010] In some embodiments, the cloud management platform inputs the first equation information and the first solving algorithm information into the first neural network model to obtain the first resource configuration information output by the first neural network model. The base model can be a machine learning classification model, such as a support vector machine (SVM) or a gradient boosting decision tree (GBDT). The base model can also be a deep learning classification model, such as a convolutional neural network (CNN) or a graph convolutional network (GCN). The neural network model can be trained in a computing device cluster, or can be trained in another device and then transmitted and deployed to the computing device cluster.
[0011] Since the linear equation group matrix obtained by simulation is often very large, it can contain millions or billions of unknowns and equations, and processing such a large-scale linear equation group matrix requires using high-performance solving algorithms and optimization algorithms. Different linear equation groups and different solving algorithms have different dependencies and adaptabilities on resources. There is only a general matching relationship between the equation, the solving algorithm, and the resource configuration, and it is not clear what resource configuration should be used for a specific equation under a specific solving algorithm. At the same time, the large number of linear equation groups and solving algorithms leads to a huge resource configurable space, making it difficult to select the appropriate resource configuration. Therefore, by training the first neural network using the first training set and recommending the appropriate resource configuration using the first neural network, the human cost required for resource configuration is greatly saved, the use threshold of the linear equation group solver is reduced, and the solving efficiency of the linear equation group is improved.
[0012] In an implementation form of the first aspect, the method further includes: obtaining, by the cloud management platform, the first solving algorithm parameter information based on the first equation information, the first solving algorithm information and the first resource configuration information, the first solving algorithm parameter information comprising values of at least one parameter in the first solving algorithm, and the first linear equation set is solved by M virtual instances respectively solving sub-tasks decomposed from the first equation information, the first solving algorithm information and the first solving algorithm parameter information.
[0013] In some embodiments, each of the different solving algorithms also has solving algorithm parameters that need to be adjusted, for example, a pre-processing sub: incomplete LU factorization with thresholding (ILUT) also includes ilut_drop_tol, ilut_pivoting and other parameters, and the solving algorithm parameters are often affected by the resource configuration. For example, GPUs are good at dense operations, and the direct method in the solving algorithm has some relaxation parameters that can increase the proportion of dense calculations, thereby achieving a dense effect and increasing the overall operation amount. If the performance of the GPU is strong enough, the increase in the overall operation amount can be accepted, and if the performance is not strong enough, the relaxation parameters may also be weakened, and finally the effect of overall acceleration is achieved. Similarly, the configurable space of the solving algorithm parameters is also huge. In some embodiments, the cloud management platform can input the first equation information, the first solving algorithm information and the first resource configuration information into a neural network model to obtain the first solving algorithm parameter information output by the neural network model.
[0014] Therefore, by obtaining the solving algorithm parameters that are more matched to the current scenario through the first resource configuration information, the solving efficiency of the linear equation set can be improved.
[0015] In an implementation form of the first aspect, the method further includes: obtaining, by the cloud management platform, the second solving algorithm parameter information comprising values of at least one parameter in the first solving algorithm, and obtaining, by the cloud management platform, the first resource configuration information based on the first equation information and the first solving algorithm information, comprising: obtaining, by the cloud management platform, the first resource configuration information based on the first equation information, the first solving algorithm information and the second solving algorithm parameter information.
[0016] In some embodiments, the cloud management platform obtains the solution algorithm parameter information before adaptively configuring the resources. The solution algorithm parameter information can be input by the user, be a system default, or be recommended by other modules. At this time, the resource configuration information recommended based on the solution algorithm parameter information is more accurate, but at the same time, it will also cause the consumption of resources, so an enabling interface of the function can be provided. After receiving the user's sending of the enabling function, the cloud management platform will also take the solution algorithm parameter information as a consideration factor of the recommended resource configuration information, so as to further improve the accuracy of the adaptive resource configuration based on the user's demand.
[0017] In an implementation form of the first aspect, the cloud management platform obtains the first solution algorithm information of the first linear equation set, including: the cloud management platform provides a solution algorithm information input interface, and the solution algorithm information input interface is used to obtain the input first solution algorithm information of the first linear equation set.
[0018] In an implementation form of the first aspect, the cloud management platform obtains the first solution algorithm information of the first linear equation set, including: the cloud management platform infers the first equation information based on a second neural network model to obtain the first solution algorithm information. The second neural network model is obtained by training a base model using a second training set. The second training set includes equation information training data as feature data and solution algorithm information training data as label data. The solution algorithm information training data indicates the most matched solution algorithm corresponding to each linear equation set of the equation information training data.
[0019] In an implementation form of the first aspect, the method further includes: the cloud management platform obtains second resource configuration information based on the intermediate equation information of the first linear equation set, the second resource configuration information including a second virtual instance specification, wherein the intermediate equation information is obtained by iteratively solving the first linear equation set based on the first solution algorithm information by the M virtual instances until the number of iterations reaches a threshold, and the cloud management platform adjusts the virtual instance specification of the M virtual instances according to the second resource configuration information.
[0020] The virtual instance 301, the virtual instance 302, and the virtual instance 401 iteratively solve the first linear equation set based on the first solution algorithm information until the number of iterations reaches a threshold to obtain an intermediate linear equation set. The intermediate linear equation set is a linear equation set whose equation information (such as a coefficient matrix, a constant vector, etc.) changes after iteration. Therefore, the resource configuration suitable for the linear equation set at this time also changes. When the intermediate linear equation set is obtained, adaptively adjusting the specification of the resource configuration helps to further improve the solving efficiency of the linear equation set.
[0021] In an implementation form of the first aspect, the method further includes: obtaining, by the cloud management platform, second resource configuration information based on the intermediate equation information of the first linear equation set, the second resource configuration information including a second number of virtual instances, wherein the intermediate equation information is obtained by iteratively solving the first linear equation set based on the first solving algorithm information for the M virtual instances until the number of iterations reaches a threshold, and adjusting, by the cloud management platform, the number of virtual instances of the M virtual instances to the second number of virtual instances according to the second resource configuration information.
[0022] Since the equation information (e.g., coefficient matrix, constant vector, etc.) changes after multiple iterations, the resource configuration suitable for the linear equation set at this time also changes. When the intermediate linear equation set is obtained, adaptively adjusting the number of resource configurations helps to further improve the solving efficiency of the linear equation set.
[0023] In an implementation form of the first aspect, the method further includes: obtaining, by the cloud management platform, second equation information of a second linear equation set, obtaining, by the cloud management platform, second solving algorithm information of the second linear equation set, the second solving algorithm information including a solving algorithm for solving the second linear equation set, obtaining, by the cloud management platform, third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information including a third virtual instance specification, and adjusting, by the cloud management platform, the virtual instance specification of the M virtual instances according to the third resource configuration information.
[0024] In some embodiments, a user or tenant of a solving system can need to solve a large number of linear equation sets, and therefore, when the equation set information changes, the cloud management platform will obtain the information of a new linear equation set to be solved, and will also continue to perform the adaptive adjustment method provided in the embodiments of the present application according to the information. The equation information is used to describe the second linear equation set. The equation information can include at least one of the coefficient matrix of the equation and the right-hand side term. After obtaining the third resource configuration information, the cloud management platform creates virtual instances with specifications that match the configuration information, deletes virtual instances with specifications that do not match the configuration information, or adjusts the virtual instances in other ways, so that the specifications of the virtual instances match the third resource configuration information, and then uses the virtual instances to solve the second linear equation set.
[0025] By vertically scaling the specifications of the virtual instances used for solving, the resource configuration is adaptively and dynamically adjusted according to different linear equation sets, increasing the utilization rate of resources and improving the solving efficiency of the linear equation set.
[0026] In an implementation form of the first aspect, the method further includes: obtaining, by the cloud management platform, second equation information of the second linear equation set, obtaining, by the cloud management platform, second solving algorithm information of the second linear equation set, the second solving algorithm information comprising a solving algorithm for solving the second linear equation set, obtaining, by the cloud management platform, third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information comprising a third virtual instance quantity, and adjusting, by the cloud management platform, the virtual instance quantity of the M virtual instances to the third virtual instance quantity according to the third resource configuration information.
[0027] In some embodiments, a user or a tenant of the solving system can need to solve a large number of linear equation sets, and therefore, when the equation set information changes, the cloud management platform will obtain information of a new linear equation set to be solved, and will also continue to perform the adaptive adjustment method provided in the embodiments of the present application according to the information. The equation information is used to describe the second linear equation set. The equation information can include at least one of a coefficient matrix of the equation and a right-hand side term. After obtaining the third resource configuration information, the cloud management platform creates virtual instances corresponding to the quantity based on the configuration information, deletes virtual instances not corresponding to the quantity, or adjusts the virtual instances in other manners, so that the quantity of the virtual instances corresponds to the third resource configuration information, and then uses the virtual instances to solve the second linear equation set.
[0028] By horizontally scaling the specifications of the virtual instances used for solving, the resource configuration is adaptively and dynamically adjusted according to different linear equation sets, the utilization rate of resources is increased, and the solving efficiency of the linear equation set is improved.
[0029] In an implementation form of the first aspect, the first equation information comprises at least one of a coefficient matrix and a right-hand side term, and the first solving algorithm comprises at least one of a preconditioning method, an iterative method, and a preconditioner.
[0030] In some embodiments, the coefficient matrix is constant, and the equation information can only include the right-hand side term, without including the coefficient matrix. In some embodiments, the equation information can include the coefficient matrix and the right-hand side term. In some embodiments, the first solving algorithm can further include a solving algorithm at a next level of each of the preconditioning method, the iterative method, and the preconditioner, such as an iterative method-preconditioner cluster, an iterative method-preconditioner method in a direct method-preconditioner cluster, and the like.
[0031] The second aspect or any implementation form of the second aspect is a cloud management platform device implementation corresponding to the first aspect or any implementation form of the first aspect, and the description in the first aspect or any implementation form of the first aspect is applicable to the second aspect or any implementation form of the second aspect, which will not be described herein.
[0032] In a third aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs any possible method of the first aspect.
[0033] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, cause the computing device cluster to perform any possible method of the first aspect.
[0034] In a fifth aspect, the present application provides a computer-readable storage medium comprising computer program instructions, which, when executed by a computing device cluster, cause the computing device cluster to perform any possible method of the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0035] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort.
[0036] FIG. 1 is a schematic diagram of a CAE simulation process;
[0037] FIG. 2 is a schematic diagram of an architecture of a linear equation system solving system according to an embodiment of the present application;
[0038] FIG. 3 is a schematic diagram of an architecture of a data center according to an embodiment of the present application;
[0039] FIG. 4 is a schematic diagram of a flow of a linear equation system solving method according to an embodiment of the present application;
[0040] FIG. 5 is a schematic diagram of a structure of an elastic scaling group according to an embodiment of the present application;
[0041] FIG. 6 is a schematic diagram of a flow of another linear equation system solving method according to an embodiment of the present application;
[0042] FIG. 7 is a schematic diagram of a flow of another linear equation system solving method according to an embodiment of the present application;
[0043] FIG. 8 is a schematic diagram of a flow of another linear equation system solving method according to an embodiment of the present application;
[0044] FIG. 9 is a schematic diagram of an example of a calculation model of a solenoid valve according to an embodiment of the present application;
[0045] FIG. 10 is a structural schematic diagram of a cloud management platform according to an embodiment of the present application;
[0046] FIG. 11 is a structural schematic diagram of a solution system according to an embodiment of the present application;
[0047] FIG. 12 is a structural schematic diagram of a computing device according to an embodiment of the present application;
[0048] FIG. 13 is a structural schematic diagram of a computing device cluster according to an embodiment of the present application;
[0049] FIG. 14 is a structural schematic diagram of another computing device cluster according to an embodiment of the present application. DETAILED DESCRIPTION
[0050] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0051] In this document, reference to“an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily mutually exclusive of one another. Those skilled in the art will appreciate that the embodiments described herein are merely examples of the application and are not the only way in which the application can be practiced.
[0052] First, some terms and related technologies involved in the present application are explained and described in connection with the drawings, so as to facilitate understanding by those skilled in the art.
[0053] CAE (Computer-Aided Engineering) simulation: refers to the process of using computer-aided engineering technology to analyze and solve engineering problems through numerical calculation and simulation. It is an engineering analysis method based on computer technology, which can virtually test products in the design stage to evaluate their performance, reliability and safety, thereby reducing the cost and time of actual testing. CAE simulation can be applied to various engineering fields such as machinery, electronics, aerospace, automotive, and construction, and can simulate various physical phenomena such as structural mechanics, fluid mechanics, and heat conduction.
[0054] Numerical calculation: Numerical calculation refers to a method of using computers to perform numerical calculations, which is a mathematical method used to solve mathematical problems such as solving equations, solving calculus problems, optimization problems, etc. The basic idea of numerical calculation is to convert mathematical problems into numerical calculation problems that can be processed by computers, and then use computers to calculate numerical solutions. Numerical calculation includes numerical approximation, numerical integration, numerical differentiation, numerical algebra, numerical equation solving, numerical optimization, etc. Numerical calculation has wide application in scientific calculation, engineering calculation, financial calculation, statistical calculation, etc.
[0055] Cloud management platform and infrastructure: The cloud management platform is used to manage the infrastructure of cloud vendors, and the infrastructure is a plurality of cloud data centers set in different regions, wherein at least one cloud data center is set in each region. The cloud management platform can provide interfaces related to cloud computing services, such as configuration pages or application program interfaces (APIs) for tenants to access cloud services. Tenants can log in to the cloud management platform (optionally, log in to the cloud management platform client 304 or log in to the cloud management platform client 404) through a pre-registered account password, and after successful login, select and purchase cloud services provided by cloud data centers in the predetermined region, such as object storage services, virtual machine services, container services or other known cloud services.
[0056] Elastic scaling (AS): A cloud service that automatically increases / decreases business resources according to user business needs. When business demand grows, it increases elastic cloud server instances or bandwidth resources for tenants to ensure business capacity. When business demand decreases, it reduces elastic cloud server (ECS) instances or bandwidth resources for tenants to save costs.
[0057] Elastic scaling group: A collection of instances, which is the basic unit of starting and stopping scaling policies and performing scaling activities. The scaling group defines the maximum number of instances, the desired number of instances, the minimum number of instances, virtual private clouds, subnets, load balancing, etc.
[0058] Linear direct method: Linear direct method is a method for solving linear equations, which is based on some mathematical formulas and algorithms to directly solve the problem. Classical direct methods include super-node method, multi-wavefront method, etc.
[0059] Linear iterative method: Linear iterative method is an iterative method for solving linear equations, which is based on the idea of transforming the original equation into an equivalent form and then iteratively solving the approximate equation.
[0060] Preconditioning methods: Preconditioning methods are a series of techniques used to improve the efficiency and stability of iterative methods for solving linear systems. These methods transform the original difficult problem into an equivalent, easy-to-solve new problem, thus improving the convergence properties of iterative methods. Commonly used preconditioning methods include Ordering, Scaling, etc.
[0061] Iterative methods: Iterative methods are numerical methods for solving linear systems that start from an initial guess and iteratively approach the true solution. The key to iterative methods is that each iteration can obtain a new approximation through simple calculations until certain convergence conditions are met. Common iterative methods include Conjugate Gradient (CG), BiCG, GMRES, MINRES, etc. Different iterative methods also have different parameters that need to be adjusted to achieve optimal solution results.
[0062] Preconditioners: Preconditioners are techniques used to improve the convergence properties of iterative methods. In practical engineering, large-scale linear systems are often ill-conditioned, which makes the convergence of iterative methods very slow and has a great impact on the accuracy of numerical solutions. Preconditioning techniques transform difficult problems into equivalent, easy-to-solve new problems to improve the convergence of iterative methods. It can be understood as constructing a matrix M such that the equation system with it as the coefficient is easier to solve. The selection of preconditioners usually needs to meet two conditions: one is that the inverse matrix of the preconditioner multiplied by the original matrix has a smaller condition number or better eigenvalue distribution; the second is that the linear equation system with the preconditioner as the coefficient matrix is easy to solve, i.e., the use cost of the preconditioner is low. Classic preconditioners include ILU, Jacobi, SOR, AMG, etc. The combination of iterative methods and preconditioners can reach more than a hundred kinds, and each combination has ten to dozens of parameters.
[0063] CAE simulation refers to the process of using computer-aided engineering technology to analyze and solve engineering problems through numerical calculation and simulation. CAE simulation is an engineering analysis method based on computer technology, which can virtually test products in the design stage to evaluate product performance, reliability, safety, and other aspects, thereby reducing the cost and time of actual testing. CAE simulation can be applied to various engineering fields such as machinery, electronics, aerospace, automotive, and construction, and can simulate various physical phenomena such as structural mechanics, fluid mechanics, and heat conduction.
[0064] As shown in Figure 1, it is an exemplary flowchart of CAE simulation.
[0065] In the simulation flow shown in FIG. 1, first, a computer aided design (CAD) modeling can be performed on a physical problem to obtain a computer model. The computer model can be a digital model obtained in a computer through a specified software, which can virtually describe a physical structure. The computer model can be newly created through CAD, or can be imported from other sources (e.g., other devices).
[0066] Then, geometric pre-processing can be performed on the computer model obtained after modeling, for example, threads, thin gaps in the computer model can be removed, and dimension reduction processing can be performed on a sheet, etc. Then, one or more of the material, domain equation, boundary condition, load, and initial condition of the computer model can be set, and then the computer model can be meshed. After the meshing is completed, a physical equation can be generated according to the physical problem to be solved, and a partial differential equation system can be constructed, and then discretized into a sparse linear equation system.
[0067] After obtaining the linear equation system, the linear equation system needs to be solved. After obtaining the solution result, the corresponding physical problem can be solved according to the solution result to obtain a simulation result. For example, in the example shown in FIG. 1, after obtaining the solution result of the linear equation system, the three-dimensional drawing, cross-sectional view, and calculation of derived values of the computer model can be calculated according to the solution result, for example, volume, surface, or variable integration, or calculation of the value of the expression of the edge or point, etc.
[0068] After obtaining the simulation result, post-simulation processing can be performed, for example, according to the simulation result, the defect point of the design scheme in the engineering can be located and improved analysis can be performed. In addition, the design scheme can be updated and iterated, for example, a simulation report can be written according to the simulation result to guide the update of the corresponding design scheme.
[0069] CAE simulation can be used to solve various physical problems, for example, problems in the aspects of structure, fluid, explicit dynamics, low frequency electromagnetic, optical, and multi-field coupling and target optimization shown in FIG. 1. It can be seen that CAE simulation is widely used in various practical engineering application scenarios in the industrial field.
[0070] In the CAE simulation process, the relatively important and time-consuming task is usually solving linear equations. Generally, solving linear equations requires selecting a corresponding solving algorithm and parameters corresponding to various algorithms, processing the linear equations, and obtaining a solving result. In the solving process, hardware resources are required. However, different linear equations and different solving algorithms have different dependencies and adaptabilities to hardware, and simply improving hardware configuration often cannot bring the expected performance improvement. In addition, the size of the physical model solved by CAE simulation is continuously expanding, and the size of the corresponding linear equations is also rapidly growing, which makes the cost of configuring a high-performance computing cluster higher and higher.
[0071] Therefore, embodiments of the present application provide a mathematical model solving method, system and related device, which can adaptively configure hardware resources according to the requirements of specific solving tasks and algorithm characteristics, intelligently select solving algorithms and algorithm parameters, and dynamically allocate resources when the computing load fluctuates, thereby improving solving efficiency and reducing solving cost.
[0072] In order to make the technical solutions of the present application clearer and easier to understand, the system architecture of the embodiments of the present application will be introduced below in conjunction with the drawings.
[0073] Please refer to FIG. 2, which is an architecture schematic diagram of a linear equation solving system. The linear equation solving system includes a cloud management platform 20, a linear equation solver 301, a CAE simulation service 302, and a numerical calculation solving service 303. The cloud management platform 20 includes a resource adaptive module 201, a solving algorithm adaptive module 202, and a resource adjustment module 203.
[0074] In actual application process, the user can use the linear equation system to solve the system to solve the mathematical model or the physical model, in this process, first call CAE simulation service to process the original mathematical model or physical model, get the processed linear equation system, then call the linear equation system solving service to solve the processed linear equation system. Among them, the user can send user data and / or configuration information to the CAE simulation service 302 through the terminal 60, and then trigger the CAE simulation service 302 to send a numerical calculation request to the cloud management platform, the numerical calculation request is used to request to perform numerical calculation related to the linear equation system. For example, the user data can be used to create a physical model or import an existing physical model, and the configuration information can be used to configure the adaptive configuration system. Generally, the CAE simulation service 302 can convert the physical model into a linear equation system to be solved through steps such as mesh division, physical property definition, equation generation, and equation discretization. Then, the CAE simulation service 302 calls the numerical calculation solver service 303, selects the linear equation system solving service according to the scene, and then calls the adaptive configuration module 200 to generate the recommended hardware configuration, or generates the recommended solving algorithm and / or solving parameter, and passes the generated information to the linear equation system solver 301 for solving. The linear equation system solver 301 is associated with the computing resource 3012, in an embodiment provided in FIG. 2, the computing resource 3012 includes the computing resource used by the linear equation system solver 301 when solving the linear equation system, in other embodiments provided in the present application, the computing resource 3012 can also include the computing resource used by the adaptive configuration module 200 when adaptively configuring the computing resource and the solving parameter, the present application does not limit which modules or devices the computing resource 3012 provides the computing resource for. The linear equation system solver 301 solves the linear equation system, and returns the solving result to the terminal 60 through the solving system. It should be noted that the embodiment shown in FIG. 2 is that the solving result is returned to the terminal 60 through the CAE simulation service 302, in other embodiments provided in the present application, the solving result can be returned to the terminal 60 through the cloud management platform 20, or the numerical calculation solving service 303, or the solving system, the present application does not limit this.
[0075] It should be noted that the architecture of the linear equation system solving system shown in FIG. 2 is only one embodiment provided by the present application, and is not limited. In other embodiments of the present application, the cloud management platform 20 can include at least one of the resource adaptive module 201, the solving algorithm adaptive module 202, and the resource adjustment module 203, and the cloud management platform 20 can also include other devices or modules in the linear equation system solving system, for example, the cloud management platform 20 can also include the numerical calculation solver service 303. In some other examples, the linear equation information in the numerical calculation request received by the numerical calculation solver service 10 can be input by other modules, not by the CAE simulation service 50, for example, the linear equation information can be input by the user in the form of characters, or the user manually calls the numerical calculation solver service 10 in the code, and the present application is not limited thereto.
[0076] In some other examples, the solving system does not provide the CAE simulation service, and the user performs the CAE simulation through the local client or the locally installed CAE simulation software to obtain the corresponding computer model and other information, and then the user can directly send the numerical calculation request containing the linear equation information to the numerical calculation solver service of the cloud management platform to request the linear equation related numerical calculation, and the present application is not limited thereto.
[0077] In an example, the method provided by the embodiments of the present application is applied to a cloud management platform. The cloud management platform is used to manage the infrastructure providing cloud services, and can provide computing, network and storage capabilities based on hardware resources and software resources. For example, the cloud management platform can include one or more data centers to provide cloud resources through the one or more data centers.
[0078] The data center 10 will be introduced below in combination with an architecture schematic diagram shown in FIG. 3.
[0079] In FIG. 3, the cloud management platform 20 in the data center interacts with one or more servers (such as the server 30 and the server 40 in FIG. 3) through an internal network of the data center. The server includes a hardware layer and a software layer. The hardware layer includes hardware configured for the server, in which the PCI device can be, for example, a network card, a graphics processing unit (GPU), an offload card, and the like, which is a peripheral component interconnect (PCI) or peripheral component interconnect express (PCIe) peripheral device that can be plugged into a slot of the server. The software layer includes an operating system installed and running on the server (which can be referred to as a host operating system relative to the operating system of the virtual machine), and a virtual machine manager (which can also be referred to as a hypervisor) configured in the host operating system. The virtual machine manager is configured to implement computing virtualization, network virtualization, and storage virtualization of the virtual machine, and is responsible for managing the virtual machine. The virtual machine refers to a complete computer system that is simulated by software and runs in a completely isolated environment and has complete hardware system functions. In the system architecture shown in FIG. 3, a plurality of servers are provided in the data center 10, and the servers can be used to run virtual instances. The specifications of the virtual instances can be the same or different. The virtual machine can also be referred to as an elastic compute service (ECS) or an elastic instance, and different cloud service providers can have different names. The cloud management platform 20 can create or delete the virtual instance on the corresponding server through the virtual machine manager 303 or the virtual machine manager 403.
[0080] In an example of an embodiment of the present application, the cloud management platform can be a public cloud platform. At this time, a cloud service provider such as an individual or a software developer who has a cloud resource development capability can provide cloud services for users, and the users can obtain the cloud services through the Internet, but do not own the cloud computing resources.
[0081] Specifically, in the example shown in FIG. 3, the cloud management platform can provide an access interface (such as an interface or an application programming interface (API)). The user of the cloud management platform and the cloud service provider can operate a client to remotely access the access interface to register a cloud account and a password on the cloud management platform, and after the cloud account and the password are successfully authenticated on the cloud management platform, the user logs in to the cloud management platform, thereby creating, managing, logging in to, and operating the virtual machine in the cloud data center.
[0082] For example, when a linear equation system solving task needs to be performed, some enterprises, organizations or individuals can purchase a cloud service, perform the linear equation system solving task through the cloud resource of the cloud management platform, and obtain the corresponding resource configuration, algorithm configuration, algorithm parameter configuration, etc. from the cloud management platform, and further perform the linear equation system solving task according to the corresponding configuration information, and finally obtain the solving result from the cloud management platform.
[0083] Of course, the cloud management platform can also be other types of cloud management platforms, which are not limited in the embodiments of the present application.
[0084] In the embodiments of the present application, the cloud management platform can provide linear equation system solving services for users, specifically, can provide linear equation system solver services for users, or can provide linear equation system resource configuration adaptive services for users, or can provide linear equation system solving algorithm or solving parameter adaptive services for users, etc. In addition, numerical calculation solver services and CAE simulation services, etc. can also be provided. In this way, users can perform linear equation system solving related tasks through the cloud management platform.
[0085] In the embodiments of the present application, the various services provided by each module in the cloud management platform 20 (for example, the resource adaptive service provided by the resource adaptive module, the solving algorithm adaptive service provided by the solving algorithm adaptive module, the resource adjustment service provided by the resource adjustment module, and the interactive function, input / output function, etc. that can be provided) can be provided by the service virtual machine controlled by the cloud management platform, or can be directly provided by the cloud management platform itself, which is not limited in the present application.
[0086] The method of the embodiments of the present application can be applied to a computing device cluster, which can include one or more computing devices. Wherein, the type of any computing device is not limited here. Exemplarily, any computing device can be a terminal device, or a server, a container or a virtual machine, etc.
[0087] Based on the architecture of the linear equation system solving system shown in FIG. 2, referring to the cloud management platform architecture as shown in FIG. 3, as shown in FIG. 4, FIG. 4 shows a linear equation system solving method flowchart provided by an embodiment of the present application, which can be implemented by a cloud management platform. The method implements automatic recommendation and configuration of optimal hardware resources for the linear equation system to be solved by the user, improves the solving speed of the linear equation system and the resource utilization rate, and when the solving task to be performed by the user changes, the computing resources can be dynamically scaled based on the solving task, reducing the cost of manual operation of the user, improving the utilization rate of the user's resources, and saving resource overhead. At the same time, the method can also recommend the best solving algorithm for the linear equation system, and can also recommend the best solving parameter in the solving algorithm, improving the solving efficiency of the linear equation system. The method includes but is not limited to the following steps:
[0088] S401. Obtain equation information of a first linear equation system.
[0089] Specifically, the cloud management platform obtains the equation information of the first linear equation system to be solved. The equation information is used to describe the linear equation system that the user wants to solve. The equation information includes a coefficient matrix and / or a right-hand side. For example, in a linear equation system Ax = b, the coefficient matrix is A and the right-hand side is b.
[0090] The cloud management platform can obtain the equation information in various ways. In an embodiment provided by the present application, the cloud management platform can provide an access interface (such as an interface or an application programming interface (API)) to enable the user to input the equation information through the access interface. The user can input the equation information through the access interface in various ways, for example, the cloud management platform provides an interface for the user to input the equation information on the interface. For example, the cloud management platform provides an application programming interface for the user to input the equation information through the interface. The embodiment of the present application does not limit the way the user inputs the equation information.
[0091] Further, in some embodiments, the linear equation system is derived from a numerical simulation of a physical problem to be solved, and the information describing the physical problem to be solved can include at least one of the following: boundary conditions, mesh information, physical equations. The physical problem can be a physical problem to be solved in an industrial application scenario. The specific field of the industrial application scenario is not limited here, and exemplary, the industrial application scenario can be a scenario in the engineering field of machinery, electronics, aerospace, automobile, or building, etc. In some examples, the physical problem can be described by a corresponding CAE simulation scenario. For example, in the flow shown in FIG. 1, after the steps of geometry preprocessing, setting boundary conditions, mesh division, setting physical equations, etc. in the CAE simulation scenario, one or more of the following information of the corresponding computer model is obtained: boundary conditions, mesh information, and corresponding physical equations, etc., thereby obtaining the physical problem information associated with the linear equation system.
[0092] The boundary conditions are used to describe the boundary conditions of the computer model in the corresponding CAE simulation. As shown in the flow in FIG. 1, the boundary conditions can be generated after geometry preprocessing. The mesh information is used to describe the mesh division manner of the corresponding computer model, and specifically, the mesh division manner refers to the division manner of dividing the computer model into a plurality of mesh units. In the flow shown in FIG. 1, the mesh information is completed in the mesh division stage. The mesh information includes one or more of the following information: mesh point coordinates, mesh division precision, etc. The physical equation is determined according to the physical problem to be solved.
[0093] The specific form of the above description information is exemplarily illustrated by an example as follows.
[0094] In an example, the static charge distribution of a part (such as a semiconductor material, etc.) in a physical space needs to be solved by a potential Poisson equation. Exemplarily, the physical space including the computer model is divided into 2704 mesh points. The specific form of the potential Poisson equation is as follows:
[0095]
[0096] Wherein, ε(x, y) is the capacitance of the mesh point (x, y), φ(x, y) is the potential of the mesh point (x, y), and ρ(x, y) is the charge density of the mesh point (x, y).
[0097] After performing steps such as geometry preprocessing, setting boundary conditions, mesh division, setting physical equations, etc. on the computer model of the part in the physical space in the CAD simulation scenario, the information of the physical problem to be solved and the equation information, etc. can be obtained.
[0098] At this time, the description information can include part or all of the following contents:
[0099] 1. Charge density p(x, y) of each of the 2704 grid points.
[0100] The charge density p(x, y) of each of the 2704 grid points can be described by a 2704 x 1 matrix. The matrix can be used as the right-hand side of the corresponding linear equation set.
[0101] 2. x coordinate and y coordinate of each of the 2704 grid points.
[0102] The x coordinate and y coordinate of each of the 2704 grid points can be described by a 5408 x 1 matrix. The matrix can be used as the grid information.
[0103] 3. Physical equation information.
[0104] The number of physical equations involved in the description information is not limited herein, which can be one physical equation or a set of physical equations including multiple physical equations.
[0105] Exemplarily, the physical equation information can include one or more of the following:
[0106] 1) Physical equations in mathematical form such as partial differential equation set, which can include the above-mentioned potential Poisson equation.
[0107] 2) Physical parameter values in the physical equations, such as the capacitance ε(x, y) of each of the 2704 grid points.
[0108] The capacitance can be input by a user or pre-configured by the system. In a uniform medium, the capacitance is constant, in which case the coefficient matrix in the linear equation set is constant, and the linear equation set information in the description information can only include the right-hand side without including the coefficient matrix. In a non-uniform medium, the capacitance can be a function of position, in which case the linear equation set information in the description information can include the coefficient matrix and the right-hand side.
[0109] 4. Boundary condition
[0110] The boundary condition can be described in various ways, which can be described by grid point information or in the form of an equation, which will be illustrated respectively as follows.
[0111] 1) The boundary condition is described by grid point information.
[0112] Exemplarily, it can be described by a 2704x1 matrix. The 2704 elements in the matrix correspond to the 2704 grid points one by one, and the value of each element is 0 or 1. When the value of an element is 1, it indicates that the corresponding grid point includes an electrode, that is, the grid point is a boundary point. When the value of an element is 0, it indicates that the corresponding grid point is a non-boundary point. It can be seen that the boundary points in the corresponding computer model can be indicated by the matrix to indicate the corresponding boundary conditions.
[0113] 2) The boundary condition is described in the form of an equation.
[0114] For example, the boundary condition can be described by a Dirichlet condition:
[0115]
[0116] where φ(x, y) represents the electric potential of the grid point (x, y), Ω represents the domain, f_1(x, y) represents the value of the electrode voltage, and the value of f_1(x, y) on the non-boundary point is 0.
[0117] Alternatively, the boundary condition can also be described by a Neumann condition:
[0118]
[0119] where f_2(x, y) represents the electrode flux, the value of f_2(x, y) on the non-boundary point is 0, and n represents the normal vector of the plane.
[0120] In addition, in the CAE simulation process, after the computer model is geometrically pre-processed, the boundary condition is set, and the mesh is divided, the discretized linear equation system to be solved can be obtained according to the physical equation, the boundary condition and / or the grid information and other physical problem information by methods such as finite volume and finite element, that is, at this time, the coefficient matrix and the right end term in the linear equation system to be solved can be determined.
[0121] Therefore, in an embodiment provided by the present application, there are various ways to obtain the equation information of the first linear equation set to be solved. The equation information can be directly transmitted by the CAE simulation module of the cloud data center, or can be transmitted by the user's local client or the local CAE simulation software after processing the linear equation set through the Internet 50, and the present application does not limit this. In an example, the user logs in the cloud management platform 20 through the client 60 deployed on the terminal via the Internet 50, and sends the equation information of the linear equation set to the cloud management platform 20 through the client 60. In this example, the user can first obtain a physical model to be solved, discretize the physical model through the CAE simulation module to obtain a linear equation set corresponding to the physical model to be solved, and this process can be performed on the user's local terminal device or local data center, or can be performed on the cloud data center. In the case of performing on the cloud data center, the CAE simulation module can be located in the same data center as the cloud management platform 20, or can be located in different data centers. When the CAE simulation module and the cloud management platform 20 are located in the same data center, the user can first perform the discretization task of the physical model through the cloud resources specified by the cloud management platform 20, and then perform the solving task of the linear equation set through the cloud resources specified by the cloud management platform 20. The linear equation set obtained by discretizing the physical model can be directly input into the cloud management platform 20 by the CAE simulation module, or can be sent to the user or provided to the user for display, and then input into the cloud management platform 20 by the user. In this example, the user can directly input the physical model into the CAE simulation module in the form of mathematical equations, can input the physical model into the CAE simulation module in the form of a matrix, can store the physical model in a file, and then read the file through the command line interface or programming interface of the CAE simulation module, can send the physical model to the CAE simulation module in the form of a program through the programming interface, or can call the command line tool of the CAE simulation module in the local program execution module, and then call the command line tool of the solver to solve the equation set. The CAE simulation module can provide a corresponding user graphical (UI) interface. The present application does not limit the input method of the physical model.
[0122] In an example, the user can also directly input the equation information into the cloud management platform in a mathematical form, can input the equation information into the cloud management platform in the form of a matrix, can store the equation information in a file, and then read the file through the command line interface or programming interface of the cloud management platform, can send the physical model to the cloud management platform in the form of a program through the programming interface, or can call the corresponding command line tool of the cloud management platform in the local program execution module, and then call the command line tool to solve the equation set. The cloud management platform can provide a corresponding user graphical interface. The present application does not limit the input method of the equation information.
[0123] It can be understood that, in the embodiments of the present application, the data form of the equation information and the physical problem information can include one or more of a matrix, an equation, a vector, a numerical value, etc.
[0124] S402. Obtain solving algorithm information of the first linear equation set.
[0125] Specifically, the solving algorithm information includes a solving algorithm for solving the first linear equation set. The solving algorithm includes at least one of a direct method, a preconditioning method, an iterative method, and a preconditioning sub-method. The direct method is, for example, a supernode method, a multi-wavefront method, etc. The preconditioning method is, for example, ordering, scaling, etc. The iterative method is, for example, a conjugate gradient method, a GMRES method, CG, BiCG, GMRES, MINRES, etc. The preconditioning sub-method is, for example, ILU, Jacobi, SOR, AMG, etc. In an example, the obtained solving algorithm can be one direct method and one preconditioning method; in an example, the obtained solving algorithm can be one iterative method and one preconditioning sub-method; in an example, the obtained solving algorithm can be one direct method, one preconditioning method, and one iterative method, etc. In another example, the obtained solving algorithm can also include a sub-method of the above methods. For example, the solving algorithm can include GMRES, and can also include a method such as GMRES, EGMRES, or FGMRES under GMRES. The direct method, the preconditioning method, the iterative method, and the preconditioning sub-method can all include methods of different levels in the category. The present application does not limit the level of the obtained solving algorithm.
[0126] The cloud management platform can obtain the solving algorithm information in various different ways. In an embodiment provided by the present application, the cloud management platform can provide an access interface (such as an interface or an application programming interface (API)) to enable a user to input the solving algorithm information through the access interface. The user can input the solving algorithm information through the access interface in various ways, for example, the cloud management platform provides an interface for the user to enter or select the corresponding solving algorithm on the interface. For example, the cloud management platform provides an application programming interface for the user to input the solving algorithm information by means of parameter transmission. The embodiments of the present application do not limit the way in which the user inputs the solving algorithm information.
[0127] In the field of industrial simulation, the linear equation matrix obtained by simulation is often very large, which may contain millions or billions of unknowns and equations. Processing such a large-scale linear equation matrix requires the use of high-performance solving algorithms and optimization algorithms. Different solving algorithms have a great impact on solving performance, but the relationship between the original equation and the solving method is not clear. At the same time, the large number of solving algorithms and parameters leads to a huge configurable space of algorithms and parameters, making it difficult to select the appropriate algorithm and to select the appropriate combination of algorithms and parameters.
[0128] In another embodiment provided in the present application, the cloud management platform infers the equation information based on a neural network model to obtain solving algorithm information, the solving algorithm information including a solving algorithm for solving the linear equation set. The neural network model can be an existing or subsequent developed model, which is not limited in the embodiments of the present application. The neural network model is derived from a base model. For example, the base model can be a machine learning classification model such as SVM and GBDT. The base model can also be a deep learning classification model such as CNN and GCN. The neural network model can be trained in a computing device cluster, or can be trained in other devices and then transmitted and deployed to the computing device cluster. As shown in FIG. 8, FIG. 8 shows a use schematic diagram of a solving algorithm adaptive module included in the cloud management platform. The inference model included in the solving algorithm adaptive module is the neural network model.
[0129] The training process of the neural network model is described below.
[0130] In the embodiments of the present application, the training process can include one or more of the following steps:
[0131] 1. Obtain a data set from a training sample library, the data set including a plurality of samples and a label corresponding to each sample. Any sample can include at least one of the equation information, i.e., the coefficient matrix and the right end item. The label corresponding to the sample includes the corresponding solving algorithm.
[0132] The solving algorithm includes at least one of a direct method, a pre-processing method, an iterative method, and a pre-processing sub-method. The direct method is, for example, a supernode method, a multi-wavefront method, etc. The pre-processing method is, for example, ordering, scaling, etc. The iterative method is, for example, a conjugate gradient method, a GMRES method, CG, BiCG, GMRES, MINRES, etc. The pre-processing sub-method is, for example, ILU, Jacobi, SOR, AMG, etc. In an example, the solving algorithm can be a direct method and a pre-processing method; in an example, the solving algorithm can be an iterative method and a pre-processing sub-method; in an example, the solving algorithm can be a direct method, a pre-processing method, and an iterative method, etc. In another example, the solving algorithm can also include a sub-method of the above methods. For example, the solving algorithm can include GMRES, and can also include a method such as GMRES, EGMRES, or FGMRES under GMRES. The direct method, the pre-processing method, the iterative method, and the pre-processing sub-method can all include methods of different levels in the category.
[0133] The linear equation set corresponding to the equation information in the sample data (which can also be referred to as feature data) in the data set is most matched / optimal with the solving algorithm in the label data, or in other words, the solving algorithm in the label data is the most matched / optimal that can be used for the linear equation set in the corresponding feature information. In an embodiment provided in the present application, the linear equation set in the sample data can be solved at the fastest speed, with the highest solving accuracy, and the highest solving efficiency under the solving algorithm of the corresponding label data, or with the highest solving accuracy under the same solving speed, or with the fastest solving speed under the same solving accuracy, etc. The matching degree, accuracy, speed, and solving efficiency above can be optimal in empirical values, or can be optimal in experimental verification or historical data.
[0134] The label corresponding to the sample can also include a performance index of the corresponding solving process, which can include one or more of a solving time length, a solving accuracy, and an iteration number.
[0135] The collection method of the data set is not limited herein. Illustratively, the data set can be obtained from an open source data set, or information of iterative solving of linear equation sets in various different scenarios can be artificially collected to generate the data set.
[0136] 2. Pre-process the training data of the data set.
[0137] The pre-processing manner is not limited herein. Exemplarily, the pre-processing can include one or more of the following manners: 1) data cleaning: including checking and processing missing values, outliers, failed data, etc. in the data set, aiming to ensure the quality and accuracy of the description information. 2) data integration: merging multiple data sources into one data set, solving the inconsistency and duplication problems between the data sources. 3) data conversion: the process of converting the sample into a form suitable for the neural network model, including standardizing, normalizing, discretizing, etc. operations on the data. 4) data reduction: the process of reducing the size of the data set, which can be achieved by clustering, sampling and feature extraction, etc. methods, so as to train the neural network model faster and reduce the storage overhead. 5) feature engineering: feature extraction, conversion and selection of the sample, so as to better train the neural network model.
[0138] 3. Classifying the data set into a training set and a validation set.
[0139] 4. Training one or more to-be-trained models according to the training set, to obtain trained models.
[0140] When there are multiple to-be-trained models, the types and structures of different to-be-trained models can be the same, similar, or different.
[0141] During the training process, the parameters of the to-be-trained model in the iteration process can be updated according to the loss function. The specific form of the loss function is not limited herein.
[0142] In an example, the loss function can evaluate the difference between the training solving algorithm output by the to-be-trained model in the iteration process and the solving algorithm in the label of the corresponding sample, and in addition, can also reflect the performance indicator in the label of the corresponding sample.
[0143] Specifically, the difference between the training solving algorithm output by the to-be-trained model in the iteration process and the solving algorithm in the label of the corresponding sample is positively correlated with the loss value, that is, the greater the difference between the training solving algorithm output by the to-be-trained model in the iteration process and the solving algorithm in the label of the corresponding sample, the greater the corresponding loss value is generally. When the performance indicator in the label of the corresponding sample indicates that the corresponding solving performance is worse (for example, the solving time is longer, the solving accuracy is lower, and the iteration number is greater), the corresponding loss value is greater.
[0144] In this way, one or more trained models can be obtained according to the training set and the loss function.
[0145] 5. Verifying one or more trained models with the validation set, and screening out the optimal model as the neural network model.
[0146] 6. deploy the obtained neural network model to the cluster of computing devices.
[0147] After the obtained neural network model is deployed to the cluster of computing devices, the equation information can be processed by the neural network model to obtain a solving algorithm corresponding to the linear equation system. In an embodiment provided in the present application, the solving algorithm can be subsequently sent to a linear equation system solver for subsequent solving.
[0148] Among them, the equation information can be preprocessed, such as data conversion and / or feature engineering, and then input into the neural network model to determine the solving algorithm that meets the current linear equation system to be solved by the neural network model.
[0149] S403. Obtain first resource configuration information based on the equation information and the solving algorithm information.
[0150] Specifically, the cloud management platform obtains the first resource configuration information based on the equation information and the solving algorithm information of the obtained linear equation system to be solved, and the first resource configuration information includes at least one of virtual instance specifications and virtual instance quantities. The first resource configuration information indicates a resource configuration, and the type of the indicated resource configuration includes at least one of the following: CPU specifications, GPU specifications, CPU quantities, GPU quantities, accelerator specifications, memory sizes, process numbers, thread numbers, and process thread ratios. In other embodiments provided in the present application, other types of resources can also be included, such as computing and communication resources that can be provided by other cloud vendors. The resource configuration corresponding to the resource configuration information obtained in this step is more matched to the linear equation system to be solved and the solving algorithm information as a whole, that is, when the linear equation system is solved using the solving algorithm, selecting the resource corresponding to the resource configuration information for processing will be more optimal. More optimal includes the fastest solving speed, the highest solving accuracy, the highest solving efficiency, the highest solving accuracy under the same solving speed, the fastest solving speed under the same solving accuracy, etc.
[0151] With the development of multi-core and heterogeneous computing hardware, different solving algorithms and preprocessing strategies have different dependencies and adaptabilities to hardware. Blindly improving hardware configuration does not always bring expected performance improvement, but rather needs to reasonably configure hardware resources according to specific algorithm characteristics and solving task requirements.
[0152] Generally speaking, when the scale of the matrix corresponding to the linear equation system is large and the density is high, using GPU for operation will be more advantageous. In terms of solving accuracy, CPU generally supports double precision, so the accuracy of solving using CPU will be better, and in addition to a small number of models supporting double precision, most of the GPUs only support single precision. At the same time, the versatility of CPU is stronger. The number of cores of the processor will also have an impact. Multi-core processors can handle multiple tasks in parallel, improving solving efficiency. However, the number of cores is not the more the better, and the number of cores and the frequency need to be balanced. Generally speaking, the higher the CPU frequency, the faster the single-core solving speed, so the overall solving time can be shortened in the multi-core solving process.
[0153] In an embodiment provided in the application, the user can specify the number of cores of the processor used by the platform when performing the solving task, so in the case of fixed number of cores, if the highest solving efficiency is to be achieved, the number of threads of the processor can be adjusted, or the process thread ratio can be adjusted, or the present thread process ratio can be adjusted. Of course, when the number of cores increases (or the number of hosts increases, the number of processes increases), more hardware resources will be available, but the user's cost of renting cloud resources will be higher, and the communication overhead between hosts will also increase. When the number of cores decreases (or the number of hosts decreases, the number of processes decreases), the available hardware resources are less, and the communication overhead between hosts is also less, such as cache, memory, etc.
[0154] For linear equation systems that need to process large-scale data, such as time-domain problems, multi-physical field problems, etc., memory is a key factor. Not only does the memory need to be large enough to store the data of large models, but the speed of the memory will also affect the performance. For linear equation systems that require a large amount of computation, selecting a hardware configuration that supports parallel computation can significantly improve the solving speed. For example, using hardware configurations that support MPI acceleration, GPU acceleration, multi-threading, multi-process, shared memory (such as OpenMP). Alternatively, the hardware configuration can be the specifications or number of special hardware such as accelerators, for example, linear equation solving accelerators such as FPGA-based accelerators, which can provide customized acceleration for specific algorithms. For example, fluid simulation is usually more suitable for using iterative methods, and structural simulation is usually more suitable for using direct methods.
[0155] As shown above, different types and scales of linear equation systems, different solving algorithms corresponding to each linear equation system, algorithm parameters, and certain hardware configurations have a higher matching degree, but the relationship between them is not very clear. In the complex and diverse solving scenarios formed by linear equation systems and solving algorithms, relying only on the above experience cannot directly find the optimal resource configuration for each scenario, not to mention that such experience brings a very high use threshold for the user of the solver.
[0156] Therefore, in an embodiment provided by the present application, the first equation information and the first solving algorithm information can be inferred based on a neural network model to obtain the first resource configuration information. The neural network model can be an existing or later developed model, which is not limited in the embodiments of the present application. The neural network model is derived from a base model. Exemplarily, the base model can be a machine learning classification model, such as SVM and GBDT. The base model can also be a deep learning classification model, such as CNN and GCN. The neural network model can be trained in a computing device cluster, or can be trained in other devices and then transmitted and deployed to the computing device cluster. As shown in FIG. 7, FIG. 7 shows a use schematic diagram of a resource self-adaptive module included in a cloud management platform. The inference model included in the resource self-adaptive module is the neural network model.
[0157] The training process of the neural network model is exemplarily introduced below.
[0158] In the embodiments of the present application, the training process can include one or more of the following steps:
[0159] 1. Obtain a data set from a training sample library, the data set including equation information training data and solving algorithm information training data as feature data, and resource configuration information training data as label data. The resource configuration type indicated by the resource configuration information training data includes one or more of the following: CPU specification, GPU specification, CPU number, GPU number, accelerator specification, memory size, process number, thread number, process thread ratio, and the resource configuration indicated by the resource configuration information is the resource configuration matched by each linear equation group indicated by the equation information training data when the linear equation group is solved by using the algorithm indicated by the solving algorithm information training data.
[0160] In the feature data in the data set, the linear equation group corresponding to the equation information and the solving algorithm corresponding to the solving algorithm information are the most matched / optimized with the corresponding resource configuration in the label data, or in other words, the resource configuration in the label data is the most matched / optimized resource configuration when the linear equation group in the corresponding feature data is solved by using the solving algorithm in the feature data. In an embodiment provided by the present application, the linear equation group and the solving algorithm in the feature data can have the fastest solving speed, the highest solving accuracy, the highest solving efficiency, the highest solving accuracy under the same solving speed, the fastest solving speed under the same solving accuracy, and the like under the hardware configuration of the corresponding label data. The matching degree, accuracy, speed and solving efficiency mentioned above can be the most optimal in the experience value, or can be the most optimal in the experimental verification or historical data.
[0161] The label corresponding to the sample can also include a performance indicator of the corresponding solving process, which can include one or more of solving duration, solving accuracy, and iteration number. These sample labels can be embodied in a loss function.
[0162] The collection method of the dataset is not limited here. Exemplarily, the dataset can be obtained from an open source dataset, or information about iterative solving of linear equations in various different scenarios can be collected manually to generate the dataset.
[0163] 2. Preprocess the training data of the dataset.
[0164] The preprocessing method is not limited here. Exemplarily, the preprocessing can include one or more of the following: 1) data cleaning: including checking and processing missing values, outliers, and failed solving data in the dataset, to ensure the quality and accuracy of the description information. 2) data integration: merging multiple data sources into one dataset to solve the inconsistency and duplication problem between data sources. 3) data conversion: the process of converting samples into a form suitable for neural network models, including standardization, normalization, discretization, etc. 4) data reduction: the process of reducing the size of the dataset, which can be achieved through clustering, sampling, and feature extraction, etc. to train the neural network model faster and reduce storage overhead. 5) feature engineering: feature extraction, conversion, and selection of samples to better train the neural network model.
[0165] 3. Classify the dataset into a training set and a validation set.
[0166] 4. Train one or more models to be trained according to the training set to obtain a trained model.
[0167] When there are multiple models to be trained, the types and structures of different models to be trained can be the same, similar, or different.
[0168] During the training process, the parameters of the model to be trained in the iteration process can be updated according to the loss function. The specific form of the loss function is not limited here.
[0169] In one example, the loss function can evaluate the difference between the training solving algorithm output by the model to be trained in the iteration process and the solving algorithm in the label of the corresponding sample, and in addition, the performance indicator in the label of the corresponding sample can also be reflected.
[0170] Specifically, the difference between the training solving algorithm output by the to-be-trained model in the iteration process and the solving algorithm in the label of the corresponding sample is positively correlated with the loss value, that is, the greater the difference between the training solving algorithm output by the to-be-trained model in the iteration process and the solving algorithm in the label of the corresponding sample, the greater the corresponding loss value is generally. When the performance indicator in the label of the corresponding sample indicates that the corresponding solving performance is poorer (for example, the solving time is longer, the solving accuracy is lower, and the number of iterations is greater), the corresponding loss value is greater.
[0171] In this way, one or more trained models can be obtained according to the training set and the loss function.
[0172] 5. Verify the one or more trained models with the verification set, and select an optimal model as the neural network model.
[0173] 6. Deploy the obtained neural network model to the computing device cluster.
[0174] After the obtained neural network model is deployed to the computing device cluster, the equation information can be processed by the neural network model to obtain a solving algorithm corresponding to the linear equation set.
[0175] Among them, the equation information can be preprocessed, such as data conversion and / or feature engineering, and then input into the neural network model to determine the solving algorithm that meets the current to-be-solved linear equation set through the neural network model.
[0176] S404. Create a virtual instance matching the first resource configuration information.
[0177] Specifically, the cloud management platform 20 creates a virtual instance matching the first resource configuration information in the server through the virtual machine manager deployed in the operating system of each server host (for example, the virtual machine manager 303 deployed in the server 30, the virtual machine manager 403 deployed in the server 40, corresponding to the dashed irregular polygon in FIG. 3). As shown in FIG. 3, in an embodiment provided by the present application, the cloud management platform 20 creates virtual instance 301, virtual instance 302, and virtual instance 401, and installs the image of the linear equation set solver in these virtual instances.
[0178] Among them, the number and specifications of the virtual instances created by the cloud management platform 20 match the first resource configuration information. For example, the first resource configuration information indicates that the virtual instance specification is Intel Xeon 8380, and the number is 3, then the virtual instance 301, the virtual instance 302, and the virtual instance 401 created by the cloud management platform 20 are all virtual instances of Intel Xeon 8380.
[0179] In an embodiment provided by the present application, the cloud management platform 20 further sets the virtual instance 301, the virtual instance 302, and the virtual instance 401 as an elastic scaling group, as shown in FIG. 5. The number of virtual instances in the elastic scaling group can be elastically scaled according to the elastic scaling rule set by the cloud management platform. After the resource adaptive module 201 obtains the resource configuration information, the resource configuration information is sent to the resource configuration module 203, which can also be an elastic scaling module in the cloud infrastructure. The resource configuration module 203 can be set in the cloud management platform 20 or outside the cloud management platform 20, for example, in the virtual machine manager of the host operating system in each server. The resource configuration module 203 creates the virtual instance 301, the virtual instance 302, and the virtual instance 401. Then, the number of virtual instances in the elastic scaling group can be elastically scaled according to the instructions of the cloud management platform and the like, or the specifications of the virtual instances in the elastic scaling group can be elastically scaled according to the instructions of the cloud management platform and the like.
[0180] S405. Obtain the solving algorithm parameter information based on the equation information, the solving algorithm information, and the first resource configuration information.
[0181] Optionally, in an embodiment provided by the present application, the cloud management platform obtains the solving algorithm parameter information based on the equation information, the solving algorithm information, and the first resource configuration information, thereby recommending more matched solving algorithm parameters for the user and improving the solving efficiency of the linear equation group. The solving algorithm parameter is a parameter of the solving algorithm. For example, each iterative method has a parameter of the iterative method, and each preconditioner has a parameter of the preconditioner.
[0182] In an example, the cloud management platform can recommend the solving algorithm parameter for the linear equation group, the solving algorithm, and the corresponding resource configuration based on the built-in processing logic of the platform or the historical data of the user. For example, the solving algorithm is a KSP / PC method of a certain cluster, and the cloud management platform will recommend the method under the specific cluster at this time. The recommended method includes but is not limited to heuristic recommendation according to the matrix property, machine learning classification models such as SVM, GBDT, etc., and deep learning classification models such as CNN, GCN, etc. If the preconditioner in the solving algorithm is ILUT, the cloud management platform will output the specific values of ilut_drop_tol, ilut_pivoting, etc. The recommended method includes but is not limited to heuristic recommendation according to the matrix property, search tree, Bayesian optimization, reinforcement learning, and other automatic parameter tuning algorithms. If the preconditioner used in each block in the Block Jacobi is ILU, the cloud management platform will set the parameters of each ILU. The recommended method includes but is not limited to heuristic recommendation according to the matrix property, search tree, Bayesian optimization, reinforcement learning, and other automatic parameter tuning algorithms.
[0183] Embodiments of the present application do not limit the level of the solving algorithm and the solving algorithm parameter. For example, in one classification method, an iteration method-preprocessing sub-cluster can be used as a solving algorithm, and an iteration method-preprocessing sub-method in the iteration method-preprocessing sub-cluster can be used as a solving algorithm parameter. In another classification method, an iteration method-preprocessing sub-method in an iteration method-preprocessing sub-cluster can be used as a solving algorithm, and a parameter under the current iteration method-preprocessing sub-method can be used as a solving algorithm parameter.
[0184] In another example, the cloud management platform infers the equation information, the solving algorithm information, and the first resource configuration information based on a neural network model to obtain solving algorithm parameter information, the solving algorithm parameter information including a solving algorithm parameter of a solving algorithm used to solve the linear equation set. The neural network model can be an existing model or a subsequently developed model, which is not limited in embodiments of the present application. The neural network model is derived from a base model. For example, the base model can be a machine learning classification model such as SVM or GBDT. The base model can also be a deep learning classification model such as CNN or GCN. The neural network model can be trained in a computing device cluster, or can be trained in another device, transmitted to, and deployed to, the computing device cluster. In a data set for training the neural network, the feature data various information respectively indicates the linear equation set, the solving algorithm, and the resource configuration, which are most matched / optimal with the solving algorithm parameter in the corresponding label data. In one embodiment provided by the present application, the linear equation set, the solving algorithm, and the hardware configuration in the sample data can be solved at the fastest speed, with the highest solving accuracy and the highest solving efficiency, or with the highest solving accuracy at the same solving speed, or with the fastest speed at the same solving accuracy, and so on. The matching degree, accuracy, speed, and solving efficiency can be optimal in an empirical value, or can be optimal in experimental verification or historical data.
[0185] In one embodiment provided by the present application, the neural network model is an inference model arranged in a solving algorithm adaptive module. After the cloud management platform obtains the hardware resource configuration information based on the resource adaptive model, the resource configuration information is sent to the solving algorithm adaptive module. At this time, the solving algorithm adaptive module can also be referred to as a solving algorithm parameter adaptive module. The solving algorithm parameter adaptive module infers the resource configuration information, the equation information, and the solving algorithm information according to the above method to obtain the solving algorithm parameter.
[0186] In other embodiments provided in the present application, the solving algorithm parameters are not obtained by the cloud management platform, and the solving algorithm parameters can be input into the solving system by the user or into the cloud management platform or the like. In another example, the solving algorithm parameters can also be set as default values by the system. Embodiments of the present application do not limit the source of the solving parameters.
[0187] S406. Equation information and solving algorithm information are sent to the virtual instance.
[0188] Specifically, the cloud management platform 20 sends the equation information and the solving algorithm information to the virtual instance 301, the virtual instance 302, and the virtual instance 401, and the virtual instance 301, the virtual instance 302, and the virtual instance 401 are each installed with an image of a corresponding linear equation system solver.
[0189] S407. Solving algorithm parameter information is sent to the virtual instance.
[0190] Specifically, if the cloud management platform 20 obtains the solving algorithm parameter information in the foregoing manner, the cloud management platform 20 sends the solving algorithm parameter information to the virtual instance 301, the virtual instance 302, and the virtual instance 401.
[0191] S408a. The linear equation system is solved according to the solving algorithm information.
[0192] The virtual instance 301, the virtual instance 302, and the virtual instance 401 use their computing resources to solve the linear equation system indicated by the equation information based on the solving algorithm indicated by the solving algorithm information. Optionally, when the cloud management platform sends the solving algorithm parameter information to the virtual instance, the virtual instance 301, the virtual instance 302, and the virtual instance 401 use their computing resources to solve the linear equation system indicated by the equation information based on the solving algorithm indicated by the solving algorithm information and the solving algorithm parameter indicated by the solving algorithm parameter information.
[0193] S408b1. The virtual instance iteratively solves the first linear equation system based on the first solving algorithm information until the number of iterations reaches a threshold value, to obtain an intermediate linear equation system of the first linear equation system.
[0194] Specifically, the virtual instance 301, the virtual instance 302, and the virtual instance 401 iteratively solve the first linear equation system based on the first solving algorithm information until the number of iterations reaches a threshold value, to obtain an intermediate linear equation system. The intermediate linear equation system is a linear equation system in which the equation information changes after the first linear equation system is iterated, for example, the coefficient matrix and the right end item of the intermediate linear equation system can change. The threshold value can be set by the user of the solving system, by the tenant who purchases the cloud service and the cloud resource, by default of the system, or by the user after the system gives optional items. The present application does not limit the setting manner of the threshold value.
[0195] In the solving of large-scale linear equations in the industrial field, the number of iterations is not a fixed value, which depends on various factors, including the sparsity of the equation set, the properties of the coefficient matrix, the iterative method used, and the preconditioner, etc. For example, in some embodiments, after 10 iterations, the solution of the equation set can reach a high accuracy. In other embodiments, more iterations may be needed, but usually the number will be between tens and hundreds. After multiple iterations, the linear equation set becomes an intermediate linear equation set, and its equation information (such as the coefficient matrix, the right end term, etc.) will change, so the solving algorithm or solving parameters that are more suitable for the linear equation set at this time will also change. When the intermediate linear equation set is obtained, adaptively adjusting the resource configuration helps to further improve the solving efficiency of the linear equation set.
[0196] S408b2. Obtain the intermediate equation information of the intermediate linear equation set.
[0197] Specifically, the intermediate equation information of the intermediate linear equation set is obtained, which includes the coefficient matrix, the right end term, etc. of the intermediate linear equation set. In different embodiments provided in the present application, S408b1 and S408b2 can occur in the same step or in different steps. That is, the cloud management platform can first obtain the intermediate linear equation set and then extract the equation information of the intermediate linear equation set, or directly obtain the intermediate linear equation set and its equation information, which is not limited in the present application.
[0198] S408b3. Obtain the second resource configuration information based on the intermediate equation information.
[0199] Specifically, the cloud management platform obtains the second resource configuration information based on the intermediate equation information of the first linear equation set. The second resource configuration information can include one or more of the following: CPU specification, GPU specification, CPU number, GPU number, accelerator specification, memory size, process number, thread number, and process thread ratio. The second resource configuration information is the information of the resource configuration recommended by the solving system and matched with the intermediate linear equation set.
[0200] The resource configuration indicated by the resource configuration information is matched with the linear equation system indicated by the equation information training data and the solving algorithm indicated by the solving algorithm information. The relationship between the equation information, the solving algorithm and the resource configuration has been described above and will not be repeated here. In an embodiment provided by the present application, the intermediate equation information and the solving algorithm information can be inferred based on a neural network model to obtain second resource configuration information. The neural network model can be an existing or subsequent developed model, which is not limited in the embodiments of the present application. The neural network model is derived from a base model. For example, the base model can be a machine learning classification model, such as SVM and GBDT. The base model can also be a deep learning classification model, such as CNN and GCN. The neural network model can be trained in a computing device cluster, or can be trained in other devices and then transmitted and deployed to the computing device cluster.
[0201] The dataset of the neural network model can reuse the dataset of the training sample library in FIG. 7. In the feature data in the dataset, the linear equation system corresponding to the equation information and the solving algorithm corresponding to the solving algorithm information are most matched / optimal with the resource configuration in the label data, or in other words, the resource configuration in the label data is the most matched / optimal resource configuration when the linear equation system in the corresponding feature data is solved using the solving algorithm in the feature data. In an embodiment provided by the present application, the linear equation system and the solving algorithm in the feature data can be solved at the fastest speed, with the highest solving accuracy and the highest solving efficiency under the hardware configuration of the corresponding label data. The matching degree, accuracy, speed and solving efficiency can be the optimal in the experience value, or can be the optimal in the experimental verification or historical data.
[0202] The label corresponding to the sample can also include a performance indicator of the corresponding solving process, which can include one or more of the solving time, the solving accuracy and the iteration number. These sample labels can be embodied in a loss function.
[0203] The collection method of the dataset is not limited here. For example, the dataset can be obtained from an open source dataset, or information about the iterative solving of linear equation systems in various scenarios can be collected manually to generate the dataset.
[0204] S408b4. Adjusting the virtual instance specification and / or the number of virtual instances according to the second resource configuration information.
[0205] Specifically, the cloud management platform adjusts the virtual instance specification or the number of virtual instances of the plurality of virtual instances according to the second resource configuration information.
[0206] In an embodiment provided by the present application, the second resource configuration information indicates a virtual instance specification, for example, the second resource configuration information indicates a CPU specification, a GPU specification, an accelerator specification, a memory size, a process number, a thread number, a process thread ratio, etc. The cloud management platform adjusts the specifications of the plurality of virtual instances according to the virtual instance specification indicated by the second resource configuration information. For example, the second resource configuration information indicates that the CPU specification in the virtual instance specification is Kunpeng 920, and the specifications of the virtual instance 301, the virtual instance 302, and the virtual instance 401 are all Intel Xeon 8380. The cloud management platform sends an instruction to the virtual machine manager in the server to create at least one Kunpeng 920 virtual instance in the server, and installs an image of a linear equation system solver in the newly created virtual instance, migrates a linear equation system solving task that has not been completed when the iteration reaches a threshold (in an embodiment provided by the present application, it is a linear equation system solving task of an intermediate stage) to the new virtual instance, and enables the new virtual instance to continue to perform the solving task based on the current solving progress of the intermediate linear equation system, and optionally, the solving algorithm used by the new virtual instance to perform the solving task is the same as the solving algorithm determined in the foregoing step.
[0207] In an embodiment provided by the present application, the second resource configuration information indicates a virtual instance number, for example, the second resource configuration information indicates a CPU number or a GPU number. The cloud management platform adjusts the number of the plurality of virtual instances according to the virtual instance number indicated by the second resource configuration information. For example, the second resource configuration information indicates that the CPU number in the virtual instance number is 2, and the cloud management platform deletes one virtual instance from the current virtual instance 301, the virtual instance 302, and the virtual instance 401 to adapt to the second resource configuration information. In this way, the resource expenditure of the tenant can be saved while ensuring the linear equation system solving efficiency. In an example, the cloud management platform deletes the virtual instance 401 from the elastic scaling group to adjust the number of virtual instances.
[0208] That is, the adjustment of the virtual instances by the cloud management platform is in a manner of horizontal scaling (referred to as Scale Out) and vertical scaling (also referred to as Scale Up). The horizontal scaling is to adjust the processing capacity by increasing or decreasing the number of virtual instances, and the vertical scaling is to adjust the processing capacity by changing the processing capacity of a single node. In an embodiment provided by the present application, the cloud management platform can simultaneously adjust the number and the specification of the virtual instances, that is, simultaneously perform the horizontal scaling and the vertical scaling to adjust the resource configuration.
[0209] S409. Obtain equation information of a second linear equation system.
[0210] Specifically, the cloud management platform obtains equation information of a second linear equation set. In an example, the second linear equation set is another linear equation set that the user wants to solve. Linear equation set solvers are widely used in many industries, such as industrial manufacturing, energy and power, aerospace, retail, transportation and logistics, and the like, which may face large-scale optimization problems and need to solve thousands of equation sets. The larger the business scale of a company is, the more complex the optimization problem may be, and the more equation sets need to be solved. If there are multiple optimization objectives, a set of equation sets may need to be solved for each objective. Therefore, when the equation set information changes, the cloud management platform will obtain the information of a new linear equation set to be solved and continue to perform the adaptive adjustment method provided in the embodiments of the present application according to the information.
[0211] The equation information is used to describe the second linear equation set. The equation information can include at least one of a coefficient matrix of the equation and a right-hand side term.
[0212] For example, in a linear equation set Ax = b, the coefficient matrix is A and the right-hand side term is b. In some scenarios, the linear equation set can be transformed, and the linear equation set information can include the right-hand side term itself in the linear equation set, the coefficient matrix itself, or information of the transformed coefficient matrix and / or the transformed right-hand side term in the linear equation set.
[0213] The cloud management platform can obtain the equation information in various different ways. In an embodiment provided in the present application, the cloud management platform can provide an access interface (such as an interface or an application programming interface (API)) to enable the user to input the equation information through the access interface. The user can input the equation information through the access interface in various ways, for example, the cloud management platform provides an interface for the user to enter the equation information on the interface. For example, the cloud management platform provides an application programming interface for the user to input the equation information through the interface. The embodiments of the present application do not limit the way the user inputs the equation information.
[0214] In addition, in some embodiments, the linear equation set is obtained by numerical simulation of a physical problem to be solved, and the information describing the physical problem to be solved can include at least one of the following: boundary conditions, grid information, and physical equations. The physical problem can be a physical problem to be solved in an industrial application scenario.
[0215] In an embodiment provided in the present application, the equation information can be directly transmitted by a CAE simulation module of the cloud data center, or can be transmitted by the user's local client or local CAE simulation software after processing the linear equation set through the Internet 50, which is not limited in the present application.
[0216] It can be understood that in the embodiments of the present application, the data form of the equation information and the physical problem information can include one or more of the forms of matrix, equation, vector, and numerical value.
[0217] S410. Obtain the solving algorithm information of the second linear equation set.
[0218] The specific manner of this step is similar to the manner of obtaining the solving algorithm information of the first linear equation set in the foregoing steps, and will not be described here again.
[0219] S411. Obtain third resource configuration information based on the equation information and the solving algorithm information of the second linear equation set.
[0220] The specific manner of this step is similar to the manner of obtaining the first resource configuration information based on the equation information and the solving algorithm information in the foregoing steps, and will not be described here again.
[0221] S412. Adjust the virtual instance specification and / or the number of virtual instances according to the third resource configuration information.
[0222] Specifically, the cloud management platform adjusts the virtual instance specification or the number of virtual instances of the plurality of virtual instances according to the third resource configuration information.
[0223] In an embodiment provided by the present application, the third resource configuration information indicates the virtual instance specification, for example, the third resource configuration information indicates the CPU specification, the GPU specification, the accelerator specification, the memory size, the process number, the thread number, the process thread ratio, etc. The cloud management platform adjusts the specification of the plurality of virtual instances according to the virtual instance specification indicated by the third resource configuration information. For example, the third resource configuration information indicates that the CPU specification in the virtual instance specification is Kunpeng 920, and the specifications of the virtual instance 301, the virtual instance 302, and the virtual instance 401 are all Intel Xeon 8380. The cloud management platform sends an instruction to the virtual machine manager in the server to create at least one Kunpeng 920 virtual instance in the server, and installs an image of a linear equation set solver in the newly created virtual instance, migrates the linear equation set solving task that has not been completed at this time (in an embodiment provided by the present application, it is the solving task of the intermediate linear equation set) to the threshold to the new virtual instance, and makes the new virtual instance continue to execute the solving task based on the current solving progress of the intermediate linear equation set. Optionally, the solving algorithm used by the new virtual instance when executing the solving task is the same as the solving algorithm determined in the foregoing steps.
[0224] In an embodiment provided by the present application, the third resource configuration information indicates the number of virtual instances, for example, the third resource configuration information indicates the number of CPUs or the number of GPUs. The cloud management platform adjusts the number of virtual instances according to the number of virtual instances indicated by the third resource configuration information. For example, the third resource configuration information indicates that the number of CPUs in the number of virtual instances is 2, and the cloud management platform deletes one virtual instance from the current virtual instance 301, the virtual instance 302, and the virtual instance 401 to adapt to the third resource configuration information. In this way, the solving efficiency of the system of linear equations can be ensured while the resource expenditure of the tenant is saved. In an example, the cloud management platform deletes the virtual instance 401 from the elastic scaling group to adjust the number of virtual instances.
[0225] That is, the adjustment of the virtual instances by the cloud management platform includes horizontal scaling (also referred to as scale out) and vertical scaling (also referred to as scale up). The horizontal scaling is to adjust the processing capacity by increasing or decreasing the number of virtual instances, and the vertical scaling is to adjust the processing capacity by changing the processing capacity of a single node. In an embodiment provided by the present application, the cloud management platform can adjust the number and the specification of the virtual instances at the same time, that is, the horizontal scaling and the vertical scaling are performed at the same time to adjust the resource configuration.
[0226] In another embodiment provided by the present application, after the steps of obtaining the equation information of the system of linear equations to be solved and obtaining the solving algorithm information of the first system of linear equations are performed, the solving algorithm parameter information indicating the specific parameters of the solving algorithm for solving the system of linear equations can also be obtained. The solving algorithm parameters and the relationship between the solving algorithm parameters and the solving algorithm are described above and will not be described here again.
[0227] After the user inputs the solving algorithm parameter information to the cloud management platform, the cloud management platform obtains the resource configuration information based on the equation information, the solving algorithm information and the solving algorithm parameter information. The content of the resource configuration information can be referred to the foregoing description, and will not be described here. In an embodiment provided by the present application, the first resource configuration information can be obtained by inferring the equation information, the solving algorithm information and the solving algorithm parameter information based on a neural network model. The neural network model can be an existing model or a model developed later, which is not limited in the embodiments of the present application. The neural network model is derived from a base model. Exemplarily, the base model can be a machine learning classification model, such as SVM and GBDT. The base model can also be a deep learning classification model, such as CNN and GCN. The training of the neural network model can use a corresponding data set, which includes equation information training data, solving algorithm information training data and solving algorithm parameter information training data as feature data, and resource configuration information training data as label data. In the data set, the linear equation corresponding to the equation information, the solving algorithm corresponding to the solving algorithm information and the solving algorithm parameter corresponding to the solving algorithm parameter information are the most matched / optimally matched with the corresponding resource configuration in the label data, or in other words, the resource configuration in the label data is the most matched / optimally matched resource configuration when the linear equation in the feature data is solved by using the solving algorithm and the parameter in the feature data. In an embodiment provided by the present application, the linear equation, the solving algorithm and the parameter in the feature data can be solved at the fastest speed, with the highest solving accuracy and the highest solving efficiency under the hardware configuration of the corresponding label data, or with the highest solving accuracy under the same solving speed, or with the fastest speed under the same solving accuracy, and so on. The matching degree, the accuracy, the speed and the solving efficiency mentioned above can be the optimal values in the experience values, or the optimal values in the experimental verification or historical data.
[0228] The label corresponding to the sample can also include a performance indicator of the corresponding solving process, which can include one or more of a solving time length, a solving accuracy and an iteration number. These sample labels can be embodied in a loss function.
[0229] Therefore, the embodiments of the present application provide a solving method, system and related device, which can adaptively configure hardware resources according to the requirements of specific solving tasks and algorithm characteristics, intelligently select solving algorithms and algorithm parameters, and dynamically allocate resources when the computing load fluctuates, thereby improving the solving efficiency and reducing the solving cost.
[0230] In an embodiment provided by the present application, a linear equation set solving method is provided, as shown in FIG. 6, and a user solving request can include at least one of equation parameters, solving parameters and hardware configurations. In a possible implementation, the equation parameters, the solving parameters and the hardware configurations can be directly sent to a sparse linear equation set solver for solving. In a possible implementation, the equation information is sent to a solving algorithm adaptive module, the solving algorithm adaptive module obtains an optimized solving algorithm according to the equation information, and sends the optimized solving algorithm to a resource adaptive module, the resource adaptive module generates an optimized resource configuration, and then feeds back resource adjustment of a computing pool, and the computing resource pool can also feed back a real-time resource pool state to the resource adaptive module, so that the resource adaptive module obtains an optimized resource configuration according to the real-time resource pool state. In a possible implementation, the resource adaptive module can send the optimized resource configuration obtained by the resource adaptive module and the user-specified solving parameters to the sparse linear equation set solver, the solver adjusts the resource configuration, and solves the equation set according to the corresponding equation and parameters, and finally obtains a solving result. Optionally, the solving result obtained by the solver and the corresponding equation, algorithm, parameter, resource configuration and the like can be put into a training sample library, so as to further train each module of the solving device provided by the embodiment of the present application.
[0231] In the following, the specific application process of the linear equation set solving method of the embodiment of the present application in the engineering field is exemplarily described through an example.
[0232] In an example, it is necessary to realize electromagnetic performance optimization simulation of an electromagnetic valve, and the electromagnetic performance optimization simulation of the electromagnetic valve belongs to two-dimensional low-frequency electromagnetic simulation. The electromagnetic valve is an axisymmetric model, and a 2D axisymmetric model can be used for solving calculation, and after solving, core electromagnetic performance parameters such as magnetic density, current density, loss, current, voltage, inductance, counter electromotive force, corresponding time, response acceleration, electromagnetic force of a valve core (plunger) can be obtained, so that the electromagnetic valve can be comprehensively evaluated, analyzed and designed and optimized in electromagnetic performance.
[0233] Please refer to FIG. 9, which is an exemplary schematic diagram of a computing model of an electromagnetic valve provided by the embodiment of the present application, based on which electromagnetic performance optimization simulation of electromagnetic simulation of the electromagnetic valve can be performed. In this scenario, the Newton iteration method is used. The Newton iteration method needs to solve the linear equation set corresponding to the Jacobi matrix at each step. The linear equation set solving is often the most time-consuming part of the Newton iteration method end to end, and the example is used to test the acceleration effect of the embodiment of the present application.
[0234] In the implementation of the present example, two grids with different encryption levels can be generated, namely: grid one, 1594 second-order triangular elements, 3117 unknowns. Grid two: 5402 second-order triangular elements, 10665 unknowns. The available computing resources with similar unit time usage costs are as follows: x86 computing: 2x Intel Xeon 8380, Kunpeng Ascend computing: 1x Kunpeng 920+4x Ascend 910.
[0235] In the experiment for grid one, when the linear equation system provided by the present application is not used, the solving parameter used for solving is ILU0+GMRES, the hardware configuration used for solving is 2x Intel Xeon 8380, and the solving time is 4.26s. When the linear equation system provided by the present application is used, the solving parameter used for solving is super node method, the hardware configuration used for solving is 2x Intel Xeon 8380, and the solving time is 2.87s.
[0236] In the experiment for grid two, when the linear equation system provided by the present application is not used, the solving parameter used for solving is ILU0+GMRES, the hardware configuration used for solving is 2x Intel Xeon 8380, and the solving time is 53.7s. When the linear equation system provided by the present application is used, the solving parameter used for solving is multi-wavefront method, the hardware configuration used for solving is 1x Kunpeng 920+4*Ascend 910, and the solving time is 19.4s.
[0237] That is, after using the solving system and solving method provided by the present application, the solving time of grid 1 and grid 2 is reduced by 32.6% and 63.9% respectively compared with not using the present method. The present application optimizes the hardware configuration and / or solving parameter of the linear equation system to be solved during solving, thereby improving the solving efficiency of the linear equation system.
[0238] The application also provides a cloud management platform, as shown in FIG. 10, comprising: a resource adaptive module 201, a solving algorithm adaptive module 202, a resource adjustment module 203, a billing module 204, an acquisition module 205, and a sending module 206. The resource adaptive module 201 is configured to obtain first resource configuration information based on the first equation information and the first solving algorithm information, and the first resource configuration information comprises at least one of the following: a first virtual instance specification, a first virtual instance quantity, and the solving algorithm adaptive module 202 is configured to infer the first equation information based on a neural network model to obtain first solving algorithm information. The resource adjustment module 203 is configured to create M virtual instances matched with the first resource configuration information in at least one cloud data center. The billing module 204 is configured to calculate the cost of cloud resources used in the process of using the solving service for a user. The acquisition module 205 is configured to acquire first equation information of the first linear equation set. The sending module 206 is configured to send required data messages to other modules.
[0239] The resource adaptive module 201, the solving algorithm adaptive module 202, the resource adjustment module 203, the billing module 204, the acquisition module 205, and the sending module 206 can be implemented by software or hardware. For example, the implementation of the resource adaptive module 201 is described below. The implementation of the solving algorithm adaptive module 202, the resource adjustment module 203, the billing module 204, the acquisition module 205, and the sending module 206 can be similar to that of the resource adaptive module 201.
[0240] As an example of a software functional unit, the connection gateway creation module can include code running on a computing instance. The computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Further, the computing instance can be one or more. For example, the resource adaptive module 201 can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers running the code can be distributed in the same region, or in different regions. Further, the multiple hosts / virtual machines / containers running the code can be distributed in the same availability zone (AZ), or in different AZs, and each AZ includes one data center or multiple data centers in close geographical proximity. Generally, one region can include multiple AZs.
[0241] Similarly, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Among them, usually one VPC is set in one region, and communication between two VPCs in the same region and between VPCs in different regions needs to set a communication gateway in each VPC to realize the interconnection between VPCs through the communication gateway.
[0242] As an example of a hardware functional unit, the resource adaptive module 201 can include at least one computing device, such as a server, etc. Alternatively, the connection gateway creation module 201 can also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), etc. Among them, the above-mentioned PLD can be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0243] The multiple computing devices included in the resource adaptive module 201 can be distributed in the same region or in different regions. The multiple computing devices included in the resource adaptive module 201 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the resource adaptive module 201 can be distributed in the same VPC or in multiple VPCs. Among them, the multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, and GALs, etc.
[0244] It should be noted that in other embodiments, the resource adaptation module 201, the solving algorithm adaptation module 202, the resource adjustment module 203, the billing module 204, the obtaining module 205, and the sending module 206 can be used to perform any step in the solving method of the linear equation system, and the steps implemented by the resource adaptation module 201, the solving algorithm adaptation module 202, the resource adjustment module 203, the billing module 204, the obtaining module 205, and the sending module 206 can be specified as needed, and the overall function of the cloud management platform can be implemented by connecting the resource adaptation module 201, the solving algorithm adaptation module 202, the resource adjustment module 203, the billing module 204, the obtaining module 205, and the sending module 206 to implement different steps in the solving method of the linear equation system.
[0245] The present application also provides a solving system, as shown in FIG. 11, comprising:
[0246] The cloud management platform is used for resource adaptive configuration and solving algorithm adaptive configuration, and optionally, solving parameter adaptive configuration. The solving device is used for solving the linear equation system. The CAE simulation device is used for converting the physical problem into the linear equation system.
[0247] The cloud management platform, the solving device, and the CAE simulation device can be implemented by software or by hardware. For example, the implementation of the cloud management platform is introduced as follows. Similarly, the implementation of the solving device and the CAE simulation device can refer to the implementation of the cloud management platform.
[0248] As an example of the software function unit, the cloud management platform can include code running on a computing instance. The computing instance can be at least one of a physical host (computing device), a virtual machine, a container, and the like. Further, the computing device can be one or more. For example, the cloud management platform can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the application can be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers used to run the code can be distributed in the same AZ or in different AZs, and each AZ includes one data center or multiple data centers with similar geographical locations. Generally, one region can include multiple AZs.
[0249] Similarly, the plurality of hosts / virtual machines / containers for running the code can be distributed in the same VPC or in multiple VPCs. Among them, usually one VPC is set in one region. The communication gateway needs to be set in each VPC for the cross-region communication between two VPCs in the same region and between VPCs in different regions, and the interconnection between VPCs is realized through the communication gateway.
[0250] As an example of the module as a hardware functional unit, the cloud management platform can include at least one computing device, such as a server or the like. Alternatively, the cloud management platform can also be a device implemented by ASIC or PLD, etc. Among them, the PLD can be implemented by CPLD, FPGA, GAL or any combination thereof.
[0251] The plurality of computing devices included in the cloud management platform can be distributed in the same region or in different regions. The plurality of computing devices included in the cloud management platform can be distributed in the same AZ or in different AZs. Similarly, the plurality of computing devices included in the cloud management platform can be distributed in the same VPC or in multiple VPCs. Among them, the plurality of computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs and GALs, etc.
[0252] The application also provides a computing device 600. As shown in FIG. 12, the computing device 600 includes a bus 602, a processor 604, a memory 606 and a communication interface 608. The processor 604, the memory 606 and the communication interface 608 communicate through the bus 602. The computing device 600 can be a server or a terminal device. It should be understood that the number of processors and memories in the computing device 600 is not limited by the application.
[0253] The bus 602 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus and control bus, etc. For the convenience of representation, only one line is shown in FIG. 12, but it does not mean that there is only one bus or one type of bus. The bus 602 can include a path for transmitting information between various components (e.g., the memory 606, the processor 604, the communication interface 608) of the computing device 600.
[0254] The processor 604 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), among other processors.
[0255] The memory 606 can include volatile memory, such as random access memory (RAM), and non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid-state drive (SSD).
[0256] The memory 606 stores executable program code that the processor 104 executes to respectively implement the functions of the aforementioned resource adaptation module, the solution algorithm adaptation module, the resource adjustment module, the billing module, the obtaining module, and the sending module, thereby implementing the solution method for linear equations. That is, the memory 606 stores instructions for executing the solution method for linear equations.
[0257] Alternatively, the memory 606 stores executable program code that the processor 604 executes to respectively implement the functions of the resource adaptation module 7061, the solution algorithm adaptation module 7062, the resource adjustment module 7063, the billing module 7064, the obtaining module 7065, and the sending module 7066, thereby implementing the solution method for linear equations. That is, the memory 106 stores instructions for executing the solution method for linear equations.
[0258] The communication interface 608 uses a transceiver module, such as but not limited to a network interface card or a transceiver, to enable communication between the computing device 600 and other devices or communication networks.
[0259] The embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device, such as a desktop computer, a notebook computer, or a smartphone.
[0260] As shown in FIG. 13, the computing device cluster includes at least one computing device 600. The memory 606 in one or more computing devices 600 in the computing device cluster can store the same instructions for performing the solving method of the system of linear equations.
[0261] In some possible implementation manners, the memory 606 in one or more computing devices 600 in the computing device cluster can also respectively store partial instructions for performing the solving method of the system of linear equations. In other words, the combination of one or more computing devices 600 can collectively perform the instructions for performing the solving method of the system of linear equations.
[0262] It should be noted that the memory 606 in different computing devices 600 in the computing device cluster can store different instructions for respectively performing part of the functions of the cloud management platform. That is, the instructions stored in the memory 606 in different computing devices 600 can implement the functions of one or more of the resource adaptation module, the solving algorithm adaptation module, the resource adjustment module, the billing module, the obtaining module, and the sending module.
[0263] In some possible implementation manners, one or more computing devices in the computing device cluster can be connected through a network. The network can be a wide area network or a local area network, etc. FIG. 14 shows one possible implementation manner. As shown in FIG. 14, two computing devices 600A and 600B are connected through a network. Specifically, the communication interface in each computing device is connected to the network. In this type of possible implementation manner, the memory 606 in the computing device 600A stores instructions for performing the functions of the connection gateway creation module 201, the serverless function setting module 202, and the connection gateway setting module 205. Meanwhile, the memory 606 in the computing device 600B stores instructions for performing the functions of the sending module 203 and the triggering module 204.
[0264] The connection manner between the computing device cluster shown in FIG. 14 can be that the solving method of the system of linear equations provided in the present application needs to provide a serverless function computing service, and therefore it is considered to assign the functions implemented by the sending module and the triggering module to the computing device 600B to perform.
[0265] It should be understood that the functions of the computing device 600A shown in FIG. 14 can also be completed by multiple computing devices 600. Similarly, the functions of the computing device 600B can also be completed by multiple computing devices 600.
[0266] The embodiment of the present application further provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to the connection mode of the computing device cluster described with reference to FIG. 14. The difference is that the same instructions for performing the solving method of the linear equation set can be stored in the memory 606 of one or more computing devices 600 in the computing device cluster.
[0267] In some possible implementation manners, partial instructions for performing the solving method of the linear equation set can also be respectively stored in the memory 606 of one or more computing devices 600 in the computing device cluster. In other words, the combination of one or more computing devices 600 can collectively execute the instructions for performing the solving method of the linear equation set.
[0268] It should be noted that the memory 606 in different computing devices 600 in the computing device cluster can store different instructions for performing part of the functions of the cloud system. That is, the instructions stored in the memory 606 in different computing devices 600 can implement the functions of one or more of the serverless function virtual private cloud (VPC), the connection gateway, the tenant VPC, and the computing instance.
[0269] The embodiment of the present application further provides a computer program product containing instructions. The computer program product can be a software or program product containing instructions, which can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device is caused to perform the solving method of the linear equation set.
[0270] The embodiment of the present application further provides a computer readable storage medium. The computer readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk), etc. The computer readable storage medium contains instructions, which instruct the computing device to perform the solving method of the linear equation set, or instruct the computing device to perform the solving method of the linear equation set.
[0271] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present application.
Claims
1. A solution method characterized by, The method is applied to a cloud management platform for managing an infrastructure running cloud computing services, the infrastructure comprising at least one cloud data center, and the method comprises: The cloud management platform obtains first equation information of a first linear equation set; The cloud management platform obtains first solving algorithm information of the first linear equation set, the first solving algorithm information comprising a first solving algorithm for solving the first linear equation set; The cloud management platform obtains first resource configuration information based on the first equation information and the first solving algorithm information, the first resource configuration information comprising at least one of a first virtual instance specification and a first virtual instance quantity; The cloud management platform creates M virtual instances matching the first resource configuration information in the at least one cloud data center, where M is greater than or equal to 1 and M is a positive integer, and the first linear equation set is solved by subtasks respectively decomposed from the M virtual instances based on the first equation information and the first solving algorithm information.
2. The method of claim 1, wherein, The cloud management platform obtains first resource configuration information based on the first equation information and the first solving algorithm information, comprising: The cloud management platform infers the first equation information and the first solving algorithm information based on a first neural network model to obtain the first resource configuration information, the first neural network model being trained from a base model based on a first training set, the first training set comprising equation information training data and solving algorithm information training data as feature data, and resource configuration information training data as label data, the resource configuration information training data indicating a type of resource configuration comprising one or more of CPU specification, GPU specification, CPU quantity, GPU quantity, accelerator specification, memory size, process quantity, thread quantity, and process thread ratio, and the resource configuration information indicating a respective matching resource configuration for solving the linear equation set indicated by the equation information training data using the algorithm indicated by the solving algorithm information training data.
3. The method according to claim 1 or 2, characterized in that, The method further comprises: The cloud management platform obtains first solving algorithm parameter information based on the first equation information, the first solving algorithm information, and the first resource configuration information, the first solving algorithm parameter information comprising a value of at least one parameter in the first solving algorithm, and the first linear equation set being solved by subtasks respectively decomposed from the M virtual instances based on the first equation information, the first solving algorithm information, and the first solving algorithm parameter information.
4. The method according to claim 1 or 2, characterized in that, The method further comprises: The cloud management platform obtains second solving algorithm parameter information, the second solving algorithm parameter information comprising a value of at least one parameter in the first solving algorithm; The cloud management platform obtains first resource configuration information based on the first equation information and the first solving algorithm information, comprising: The cloud management platform obtains the first resource configuration information based on the first equation information, the first solving algorithm information, and the second solving algorithm parameter information.
5. The method according to any one of claims 1 to 4, characterized in that, The cloud management platform obtains first solving algorithm information of the first linear equation set, including: The cloud management platform provides a solving algorithm information input interface, which is used to obtain the input first solving algorithm information of the first linear equation set.
6. The method according to any one of claims 1 to 4, characterized in that, The cloud management platform obtains first solving algorithm information of the first linear equation set, including: The cloud management platform inferences the first equation information based on a second neural network model to obtain the first solving algorithm information; the second neural network model is obtained by training a base model using a second training set, the second training set includes equation information training data as feature data and solving algorithm information training data as label data, and the solving algorithm indicated by the solving algorithm information training data is the most matched solving algorithm corresponding to each linear equation set indicated by the equation information training data.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The cloud management platform obtains second resource configuration information based on intermediate equation information of the first linear equation set, the second resource configuration information including a second virtual instance specification, wherein the intermediate equation information is obtained by iteratively solving the first linear equation set based on the first solving algorithm information until the number of iterations reaches a threshold value. The cloud management platform adjusts the virtual instance specification of the M virtual instances according to the second resource configuration information.
8. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The cloud management platform obtains second resource configuration information based on intermediate equation information of the first linear equation set, the second resource configuration information including a second virtual instance number, wherein the intermediate equation information is obtained by iteratively solving the first linear equation set based on the first solving algorithm information until the number of iterations reaches a threshold value. The cloud management platform adjusts the virtual instance number of the M virtual instances to the second virtual instance number according to the second resource configuration information.
9. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The cloud management platform obtains second linear equation set second equation information; The cloud management platform obtains second solving algorithm information of the second linear equation set, the second solving algorithm information including a solving algorithm for solving the second linear equation set; The cloud management platform obtains third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information including a third virtual instance specification; The cloud management platform adjusts the virtual instance specification of the M virtual instances according to the third resource configuration information.
10. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The cloud management platform obtains second linear equation set second equation information; The cloud management platform obtains second solving algorithm information of the second linear equation set, the second solving algorithm information including a solving algorithm for solving the second linear equation set; The cloud management platform obtains third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information including a third virtual instance number; The cloud management platform adjusts the virtual instance number of the M virtual instances according to the third resource configuration information. The cloud management platform adjusts the virtual instance quantity of the M virtual instances to the third virtual instance quantity according to the third resource configuration information.
11. The method according to any one of claims 1 to 10, characterized in that, The first equation information includes at least one of a coefficient matrix and a right end item, and the first solving algorithm includes at least one of a preconditioning method, an iteration method and a preconditioning sub.
12. A cloud management platform, characterized by, The cloud management platform is configured to manage an infrastructure running a cloud computing service, the infrastructure including at least one cloud data center, and the cloud management platform includes: An acquisition module configured to acquire first equation information of a first linear equation set; The acquisition module is further configured to acquire first solving algorithm information of the first linear equation set, the first solving algorithm information including a first solving algorithm for solving the first linear equation set; A resource adaptive module configured to obtain first resource configuration information based on the first equation information and the first solving algorithm information, the first resource configuration information including at least one of a first virtual instance specification and a first virtual instance quantity; A resource adjustment module configured to create M virtual instances matching the first resource configuration information in the at least one cloud data center, where M is greater than or equal to 1 and M is a positive integer, and the first linear equation set is solved by sub-tasks respectively decomposed from the M virtual instances based on the first equation information and the first solving algorithm information.
13. The cloud management platform of claim 12, wherein, In the aspect of obtaining the first resource configuration information based on the first equation information and the first solving algorithm information, the resource adaptive module is configured to: obtain the first resource configuration information by inferring the first equation information and the first solving algorithm information based on a first neural network model, the first neural network model being obtained by training a base model based on a first training set, the first training set including equation information training data and solving algorithm information training data as feature data, and resource configuration information training data as label data, the resource configuration information training data indicating a type of resource configuration including one or more of CPU specification, GPU specification, CPU quantity, GPU quantity, accelerator specification, memory size, process quantity, thread quantity, process thread ratio, and the resource configuration indicated by the resource configuration information matching a resource configuration used by the linear equation set indicated by the equation information training data when the linear equation set is solved by the algorithm indicated by the solving algorithm information training data.
14. The cloud management platform of claim 12 or 13, wherein, The cloud management platform further includes: A solving algorithm adaptive module configured to obtain first solving algorithm parameter information based on the first equation information, the first solving algorithm information and the first resource configuration information, the first solving algorithm parameter information including a value of at least one parameter in the first solving algorithm, and the first linear equation set being solved by sub-tasks respectively decomposed from the first equation information, the first solving algorithm information and the first solving algorithm parameter information by the M virtual instances.
15. The cloud management platform of claim 12 or 13, wherein The obtaining module is configured to obtain second solving algorithm parameter information, the second solving algorithm parameter information including a value of at least one parameter in the first solving algorithm; In the aspect of obtaining the first resource configuration information based on the first equation information and the first solving algorithm information, the resource configuration module is configured to: Obtain the first resource configuration information based on the first equation information, the first solving algorithm information, and the second solving algorithm parameter information.
16. The cloud management platform of any one of claims 12 to 15, characterized in that: The obtaining module is configured to provide a solving algorithm information input interface configured to obtain input first solving algorithm information of the first linear equation set.
17. The cloud management platform of any one of claims 12 to 15, characterized in that: The solving algorithm adaptive module is configured to infer the first equation information based on a second neural network model to obtain the first solving algorithm information, the second neural network model being obtained by training a base model using a second training set, the second training set including equation information training data as feature data and solving algorithm information training data as label data, the solving algorithm information training data indicating a most matching solving algorithm corresponding to each linear equation set indicated by the equation information training data.
18. The cloud management platform of any one of claims 12 to 17, characterized in that: The resource adaptive module is configured to obtain second resource configuration information including a second virtual instance specification based on intermediate equation information of the first linear equation set, the intermediate equation information being obtained by iteratively solving the first linear equation set based on the first solving algorithm information until a threshold number of iterations is reached. The resource adjustment module is configured to adjust virtual instance specifications of the M virtual instances according to the second resource configuration information.
19. The cloud management platform of any one of claims 12 to 17, characterized in that: The resource adaptive module is configured to obtain second resource configuration information including a second virtual instance number based on intermediate equation information of the first linear equation set, the intermediate equation information being obtained by iteratively solving the first linear equation set based on the first solving algorithm information until a threshold number of iterations is reached. The resource adjustment module is configured to adjust the virtual instance number of the M virtual instances to the second virtual instance number according to the second resource configuration information.
20. The cloud management platform of any one of claims 12 to 17, characterized in that: The obtaining module is configured to obtain second equation information of a second linear equation set; The obtaining module is further configured to obtain second solving algorithm information of the second linear equation set, the second solving algorithm information including a solving algorithm for solving the second linear equation set. The resource self-adaption module is configured to obtain third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information including a third virtual instance specification; The resource adjustment module is configured to adjust the virtual instance specifications of the M virtual instances according to the third resource configuration information. 21.The cloud management platform of any of claims 12-17, wherein, The obtaining module is configured to obtain second equation information of a second linear equation set; The obtaining module is further configured to obtain second solving algorithm information of the second linear equation set, the second solving algorithm information including a solving algorithm for solving the second linear equation set; The resource self-adaption module is configured to obtain third resource configuration information based on the second equation information and the second solving algorithm information, the third resource configuration information including a third virtual instance number; The resource adjustment module is configured to adjust the virtual instance number of the M virtual instances to the third virtual instance number according to the third resource configuration information.
22. The cloud management platform of any of claims 12 to 21, wherein, The first equation information includes at least one of a coefficient matrix and a right end item, and the first solving algorithm includes at least one of a preconditioning method, an iteration method and a preconditioning sub.
23. A cluster of computing devices, characterized in that, The at least one computing device includes a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method of any of claims 1-11.
24. A computer program product comprising instructions, wherein: The instructions, when executed by the computing device cluster, cause the computing device cluster to execute the method of any of claims 1-11.
25. A computer readable storage medium, characterized in that, The computer program instructions, when executed by the computing device cluster, cause the computing device cluster to execute the method of any of claims 1-11.
Citation Information
Patent Citations
Load balance strategy for allocating service resource based on cloud computing environment
CN102710779A
Method and device for adjusting management resources in resource pool
CN112825046A
Resource management method of public cloud data center and related equipment
CN115700481A
Optimization scheduler for deploying applications on a cloud
US20140040473A1