Heterogeneous computing power scheduling method and device and readable storage medium
By generating virtual instructions for unified abstraction and standardization, the resource island problem in computing power scheduling is solved, and the smooth and automated scheduling of cross-platform scheduling management is achieved, the deployment cost is reduced, and the system reusability is enhanced.
Patent Information
- Application Number
- CN202510583460.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-08-19
AI Technical Summary
The existing computing power scheduling methods have resource island problems and lack of automated scheduling capabilities, which leads to difficulty in cross-platform scheduling management, and the complex platform architecture leads to high deployment costs and difficulty in reuse.
By determining the scheduling strategies corresponding to multiple computing power tasks, virtual instructions are generated for unified abstraction and standardization, and converted into real instructions adapted to target heterogeneous computing power servers, and executed through real command controllers to realize cross-platform scheduling management.
It has achieved smooth cross-platform scheduling management, improved scheduling efficiency, reduced deployment costs, and enhanced system reusability and automated scheduling capabilities.
Smart Images

Figure CN120508383A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network technology, and in particular to a scheduling method, device and readable storage medium for heterogeneous computing power. Background Art
[0002] With the development of technologies such as artificial intelligence, big data, and cloud computing, the demand for computing resources is growing. Computing network service orchestration and scheduling technology aims to achieve unified management and scheduling of distributed computing resources to improve resource utilization and service quality. At present, the monitoring and management of computing resources mainly rely on monitoring tools provided by major hardware manufacturers, such as NVIDIA's SMI, Huawei's npu-smi, and Haiguang's hy-smi. Although these tools can provide basic monitoring functions, they have limitations in the unified management and scheduling of computing resources. Specifically, the existing computing scheduling methods have
[0003] The following technical limitations:
[0004] 1) Resource silos: The lack of unified standards and interfaces between computing resource monitoring and management tools from different vendors leads to resource silos, making cross-platform resource scheduling and management difficult.
[0005] 2) Lack of automated scheduling: Existing technologies mostly rely on manual configuration and operation, lack automated resource scheduling capabilities, and are unable to dynamically adjust resource allocation according to business needs.
[0006] 3) Complex platform architecture: Mainstream computing power scheduling platforms are often built on cloud platforms or container orchestration platforms, resulting in high deployment costs and difficulty in rapid reuse. Summary of the Invention
[0007] The technical problem to be solved by the present invention is to address the above-mentioned shortcomings of the existing technology and provide a scheduling method, device and readable storage medium for heterogeneous computing power, so as to solve the problems of existing computing power scheduling methods such as resource islands leading to difficulty in cross-platform scheduling management, lack of automated scheduling capabilities, and complex platform architecture resulting in high deployment costs and difficulty in reuse.
[0008] In a first aspect, the present invention provides a method for scheduling heterogeneous computing power, which is applied to a computing power scheduling platform. The method includes:
[0009] Determine the scheduling strategy corresponding to multiple computing tasks;
[0010] Generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed after unified abstraction and standardization of heterogeneous computing power server instructions, which are used to mask the differences in the underlying architectures of different heterogeneous computing power servers;
[0011] Convert the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task;
[0012] The real instruction is sent to the target heterogeneous computing server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a heterogeneous computing server of a type of architecture.
[0013] Furthermore, before determining the scheduling strategies corresponding to the plurality of computing tasks, the method further includes:
[0014] Performing initialization authentication with multiple heterogeneous computing servers of different architectures; wherein the multiple heterogeneous computing servers of different architectures include the target heterogeneous computing server;
[0015] In response to the initialization authentication being passed, establishing a reliable communication connection with the plurality of heterogeneous computing power servers;
[0016] Initialization information of each of the heterogeneous computing servers is obtained based on the communication connection, and necessary drivers and application software are deployed in the corresponding heterogeneous computing servers based on the initialization information.
[0017] Furthermore, after deploying necessary drivers and application software in the corresponding heterogeneous computing servers based on the initialization information, the method further includes:
[0018] Selecting a representative heterogeneous computing server from the plurality of heterogeneous computing servers as a benchmark computing server, and selecting a computationally intensive algorithm as an evaluation algorithm;
[0019] Executing the evaluation algorithm multiple times on the benchmark computing server, fine-tuning the environment of the benchmark computing server before each execution, and recording multiple key performance indicators during each execution;
[0020] Generate a comprehensive computing power efficiency evaluation value based on multiple recorded key performance indicators;
[0021] Calculate the correlation between each of the key performance indicators and the computing power efficiency evaluation value using a statistical method, and determine the weight corresponding to each of the performance indicators based on the magnitude of the correlation coefficient to obtain a computing power energy efficiency calculation formula;
[0022] The computing power efficiency evaluation values of the other heterogeneous computing power servers except the benchmark computing power server among the multiple heterogeneous computing power servers are calculated based on the computing power energy efficiency calculation formula.
[0023] Furthermore, after deploying necessary drivers and application software in the corresponding heterogeneous computing servers based on the initialization information, the method further includes:
[0024] Performing algorithm support detection on each of the heterogeneous computing power servers, and evaluating the support capability of each of the heterogeneous computing power servers for the corresponding algorithm model in combination with the requirements of the algorithm model in the algorithm model library;
[0025] The algorithm supports detection including operation environment check, detection algorithm loading, detection algorithm execution, execution efficiency evaluation, and detection algorithm unloading.
[0026] Furthermore, converting the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task specifically includes:
[0027] Obtain a pre-built mapping matrix M, wherein the mapping matrix M defines a mapping relationship between virtual instructions and real instructions;
[0028] Encoding the virtual instructions into an n×1 column vector V, where n is the total number of virtual instructions defined;
[0029] Perform matrix multiplication on the mapping matrix M and the column vector V to obtain an m×1 column vector Z. Based on the column vector Z, obtain the real instructions of the target heterogeneous computing power server corresponding to the computing power task, where m is the total number of types of heterogeneous computing power servers.
[0030] Furthermore, the method further comprises:
[0031] Monitor the performance indicator data of each heterogeneous computing server in real time and display it in a visual interface;
[0032] When the performance indicator data of a certain heterogeneous computing power server reaches a preset threshold, an alarm mechanism is automatically triggered.
[0033] Furthermore, after the real instruction controller corresponding to the real instruction sends the real instruction to the target heterogeneous computing server for execution, the method further includes:
[0034] Tracking the execution progress of the task program corresponding to the computing task in real time, and collecting the performance data and task execution status data of the task program;
[0035] When the performance data and / or task execution status data meet preset rules, corresponding events are automatically triggered, and the events include any one of alarm notification, resource adjustment, and task scheduling.
[0036] Furthermore, the computing tasks include inference tasks and training tasks; the scheduling strategies include at least one of the following: task priority strategy, resource allocation strategy, load balancing strategy, elastic scaling strategy, fault recovery strategy, data security strategy, and strategy adjustment and optimization; and the method further includes:
[0037] Modify the parameters in the scheduling strategy according to user needs.
[0038] In a second aspect, the present invention provides a heterogeneous computing power scheduling device, which is provided on a computing power scheduling platform, and includes:
[0039] Scheduling strategy determination module, used to determine the scheduling strategies corresponding to multiple computing tasks;
[0040] A virtual instruction generation module is connected to the scheduling strategy determination module and is used to generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed after unified abstraction and standardization of heterogeneous computing power server instructions, and are used to mask the differences in the underlying architectures of different heterogeneous computing power servers.
[0041] A real instruction conversion module, connected to the virtual instruction generation module, for converting the virtual instruction into a real instruction adapted to the target heterogeneous computing power server corresponding to the computing power task;
[0042] The real instruction issuing module is connected to the real instruction conversion module and is used to send the real instruction to the target heterogeneous computing power server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a type of heterogeneous computing power server of the architecture.
[0043] In a third aspect, the present invention provides a scheduling device for heterogeneous computing power, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to implement the scheduling method for heterogeneous computing power described in the first aspect above.
[0044] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the scheduling method for heterogeneous computing power described in the first aspect above is implemented.
[0045] The present invention provides a method, device, and readable storage medium for scheduling heterogeneous computing power. Based on a computing power scheduling platform, the platform first determines scheduling strategies corresponding to multiple computing power tasks; then, based on the scheduling strategies, generates corresponding virtual instructions. The virtual instructions are instructions formed by uniformly abstracting and standardizing heterogeneous computing power server instructions, used to mask differences in the underlying architectures of different heterogeneous computing power servers; then, the virtual instructions are converted into real instructions adapted to the target heterogeneous computing power server corresponding to the computing power task; finally, the real instructions are sent to the target heterogeneous computing power server for execution via a real instruction controller corresponding to the real instructions, wherein each real instruction controller corresponds to a heterogeneous computing power server of a certain architecture. The present invention uses virtual instructions to uniformly abstract and standardize heterogeneous computing power server instructions, effectively masking differences in different underlying architectures, breaking down resource silos, and achieving smooth cross-platform scheduling management, enabling efficient integration and collaborative utilization of computing power resources of different architectures. Furthermore, the computing power scheduling platform can determine scheduling strategies based on the conditions of multiple computing power tasks, automatically generate virtual instructions, convert them into real instructions, and send them for execution, achieving automated scheduling throughout the entire process without requiring excessive human intervention, significantly improving scheduling efficiency. In addition, the computing power scheduling platform adopts a lightweight architecture design, which reduces deployment costs and enhances system reusability. This solves the problems of existing computing power scheduling methods, such as resource silos that make cross-platform scheduling and management difficult, lack of automated scheduling capabilities, and complex platform architecture that leads to high deployment costs and difficulty in reuse. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 This is a flowchart of a method for scheduling heterogeneous computing power according to Example 1 of the present invention;
[0047] Figure 2 This is an architectural diagram of a scheduling method for heterogeneous computing power according to an embodiment of the present invention;
[0048] Figure 3 This is a flow chart of an implementation method of a computing power server access component according to an embodiment of the present invention;
[0049] Figure 4 This is a flowchart illustrating a method for implementing a heterogeneous computing power normalization component according to an embodiment of the present invention;
[0050] Figure 5 This is a schematic diagram of the structure of a scheduling device for heterogeneous computing power according to embodiment 2 of the present invention;
[0051] Figure 6 This is a structural diagram of a scheduling device for heterogeneous computing power according to Example 3 of the present invention. DETAILED DESCRIPTION
[0052] In order to enable those skilled in the art to better understand the technical solutions of the present invention, the embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
[0053] It should be understood that the specific embodiments and drawings described herein are only used to explain the present invention rather than to limit the present invention.
[0054] It is understood that, in the absence of conflict, the various embodiments of the present invention and the various features in the embodiments may be combined with each other.
[0055] It can be understood that, for the convenience of description, the drawings of the present invention only show parts related to the present invention, while parts unrelated to the present invention are not shown in the drawings.
[0056] It can be understood that each unit and module involved in the embodiments of the present invention may correspond to only one physical structure, or may be composed of multiple physical structures, or multiple units and modules may be integrated into one physical structure.
[0057] It can be understood that the terms "first", "second", etc. in the embodiments of the present invention are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.
[0058] It will be understood that, without conflict, the functions and steps marked in the flowcharts and block diagrams of the present invention may occur in an order different from that marked in the drawings.
[0059] It is understood that the flowcharts and block diagrams of the present invention illustrate the possible architectures, functions, and operations of the systems, devices, equipment, and methods according to various embodiments of the present invention. Each box in the flowchart or block diagram may represent a unit, module, program segment, or code, which contains executable instructions for implementing the specified functions. Moreover, each box or combination of boxes in the block diagram and flowchart may be implemented using a hardware-based system that implements the specified functions, or may be implemented using a combination of hardware and computer instructions.
[0060] It can be understood that the units and modules involved in the embodiments of the present invention can be implemented by software or hardware. For example, the units and modules can be located in a processor.
[0061] Example 1:
[0062] This embodiment provides a scheduling method for heterogeneous computing power, which is applied to a computing power scheduling platform, such as Figure 1 As shown, the method includes:
[0063] Step S101: Determine the scheduling strategies corresponding to multiple computing tasks.
[0064] In this embodiment, the computing power scheduling platform adopts a lightweight architecture design and connects to multiple heterogeneous computing power servers with different architectures. To coordinate resource allocation and scheduling among multiple computing power tasks to achieve overall system load balancing, priority management, and elastic scaling, the platform first determines the corresponding scheduling strategies for the multiple computing power tasks. These scheduling strategies include at least one of the following: task priority strategy, resource allocation strategy, load balancing strategy, elastic scaling strategy, fault recovery strategy, data security strategy, and policy adjustment and optimization.
[0065] Optionally, before determining the scheduling strategies corresponding to the multiple computing tasks, the method further includes:
[0066] Initialize authentication with multiple heterogeneous computing servers of different architectures;
[0067] In response to the initialization authentication being passed, establishing a reliable communication connection with the plurality of heterogeneous computing power servers;
[0068] Initialization information of each of the heterogeneous computing servers is obtained based on the communication connection, and necessary drivers and application software are deployed in the corresponding heterogeneous computing servers based on the initialization information.
[0069] In this embodiment, initialization authentication can ensure the legitimacy of the server identity through public / private key encryption to prevent unauthorized access. Specifically, for each heterogeneous computing power server, the communication protocol selected by the user to interact with the heterogeneous computing power server and the configured authentication parameters are first obtained, and a login request is sent to the heterogeneous computing power server based on the communication protocol of each heterogeneous computing power server. Then, the public key sent by the heterogeneous computing power server is received, and the authentication parameters are encrypted using the public key. After that, the encrypted authentication parameters are sent to the corresponding heterogeneous computing power server so that the heterogeneous computing power server verifies the authentication parameters through the private key and returns the login result to the computing power scheduling platform. The communication protocol is such as SSH (Secure Shell) and HTTPS (Hyper Text Transfer Protocol Secure). If the initialization authentication passes, the login result is successful. If the initialization authentication fails, the login result is failed.
[0070] In this embodiment, after the initialization authentication is passed, the computing power scheduling platform establishes a reliable communication connection with the plurality of heterogeneous computing power servers.
[0071] In this embodiment, the initialization information of the heterogeneous computing server includes the hardware specifications, operating system information, installed software environment, etc. of the heterogeneous computing server, and then the necessary drivers and application software are deployed in the corresponding heterogeneous computing server based on the initialization information. The "necessary" here refers to the software and programs that are indispensable for the normal operation of the AI (Artificial Intelligence) reasoning model in the heterogeneous computing server. Among them, the driver includes GPU (graphics processing unit, graphics processor) related drivers, such as CUDA (Compute Unified Device Architecture, unified computing device architecture), CANN (Compute Architecture for Neural Networks), etc., and the installation of matching Python libraries, etc.
[0072] It should be noted that the computing power scheduling platform can simplify the installation process and ensure a unified environment by replacing manual deployment of the environment on heterogeneous computing power servers and only deploying necessary drivers and application software.
[0073] Optionally, after deploying necessary drivers and application software in the corresponding heterogeneous computing server based on the initialization information, the method further includes:
[0074] Selecting a representative heterogeneous computing server from the plurality of heterogeneous computing servers as a benchmark computing server, and selecting a computationally intensive algorithm as an evaluation algorithm;
[0075] Executing the evaluation algorithm multiple times on the benchmark computing server, fine-tuning the environment of the benchmark computing server before each execution, and recording multiple key performance indicators during each execution;
[0076] Generate a comprehensive computing power efficiency evaluation value based on multiple recorded key performance indicators;
[0077] Calculate the correlation between each of the key performance indicators and the computing power efficiency evaluation value using a statistical method, and determine the weight corresponding to each of the performance indicators based on the magnitude of the correlation coefficient to obtain a computing power energy efficiency calculation formula;
[0078] The computing power efficiency evaluation values of the other heterogeneous computing power servers except the benchmark computing power server among the multiple heterogeneous computing power servers are calculated based on the computing power energy efficiency calculation formula.
[0079] In this embodiment, in order to achieve unified measurement of different computing resources and facilitate resource management and scheduling, heterogeneous resources are further normalized into allocatable resources on the same plane on the basis of unified access (that is, heterogeneous computing resources are uniformly quantified into computing power performance evaluation values) to ensure that users do not need to repeatedly evaluate and adapt when using computing resources, thereby improving resource utilization efficiency and algorithm operation stability.
[0080] Specifically, the computing power scheduling platform first selects a representative heterogeneous computing power server from multiple heterogeneous computing power servers as a benchmark computing power server, and selects a computationally intensive algorithm as an evaluation algorithm; wherein, the benchmark computing power server has stable performance and reproducible test results, and the computationally intensive algorithm refers to a type of algorithm that requires a large amount of computing resources such as CPU (central processing unit), GPU, NPU (Neural network Processing Unit), DCU (Deep Learning Compute Unit), etc. to efficiently complete the task. The core feature of this type of algorithm is high computational complexity, which mainly depends on the performance of the processor, such as matrix multiplication, deep learning model training, etc.
[0081] The computing power scheduling platform then executes the evaluation algorithm multiple times on the benchmark computing power server, fine-tuning the benchmark computing power server's environment before each execution and recording multiple key performance indicators during each execution. Key performance indicators include at least three of the following: execution time, CPU utilization, memory utilization, GPU utilization, video memory utilization, GPU power consumption, GPU temperature, floating-point operations (Flops), and floating-point operation rate. Based on these multiple recorded key performance indicators, a comprehensive computing power performance evaluation value is generated. This evaluation value can be a weighted average or a composite indicator designed according to specific requirements.
[0082] Next, the computing power scheduling platform uses statistical methods (such as the Spearman rank correlation coefficient) to calculate the correlation between each of the key performance indicators and the computing power efficiency evaluation value, and assigns weights according to the size of the correlation coefficient (the weight can be set to the absolute value of the correlation coefficient or its square, etc.), and then derives the computing power energy efficiency calculation formula.
[0083] Finally, the computing power scheduling platform uses each of the multiple heterogeneous computing power servers except the benchmark computing power server as the computing power server to be evaluated, and / or uses the newly connected heterogeneous computing power server as the computing power server to be evaluated, configures the same test environment as the benchmark computing power server, runs the same evaluation algorithm, collects the same key performance indicators, and uses the obtained computing power energy efficiency calculation formula to calculate the computing power efficiency evaluation value of the computing power server to be evaluated, thereby achieving unified measurement across platforms.
[0084] Optionally, after deploying necessary drivers and application software in the corresponding heterogeneous computing server based on the initialization information, the method further includes:
[0085] Performing algorithm support detection on each of the heterogeneous computing power servers, and evaluating the support capability of each of the heterogeneous computing power servers for the corresponding algorithm model in combination with the requirements of the algorithm model in the algorithm model library;
[0086] The algorithm supports detection including operation environment check, detection algorithm loading, detection algorithm execution, execution efficiency evaluation, and detection algorithm unloading.
[0087] In this embodiment, in order to evaluate the algorithm models supported by each heterogeneous computing server and ensure that users do not need to repeatedly evaluate and adapt the heterogeneous computing server environment when using computing resources, algorithm support detection is performed on each heterogeneous computing server. Combined with the requirements of the algorithm models in the algorithm model library, the support capabilities of each heterogeneous computing server for the corresponding algorithm model are evaluated. Among them, the algorithm model library stores the metadata, configuration files, necessary dependencies, etc. of various algorithm models. Algorithm support detection includes running environment inspection, algorithm loading detection, algorithm execution detection, execution efficiency evaluation, and algorithm unloading detection.
[0088] Step S102: Generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed after unified abstraction and standardization of heterogeneous computing server instructions, and are used to mask the differences in the underlying architectures of different heterogeneous computing servers.
[0089] In this embodiment, virtual instructions are a unified, abstracted, and standardized form of instructions from heterogeneous computing servers. This shields the differences in instruction sets, data processing methods, and other aspects of the underlying architectures of different heterogeneous computing servers, providing a consistent instruction interface for upper-level systems. This eliminates the need for upper-level systems to focus on the specific instruction details of the underlying heterogeneous computing servers when scheduling computing resources and managing tasks. This reduces the complexity of system development and maintenance, improves the system's versatility and compatibility, and enables different types of computing tasks to be executed more conveniently and efficiently across various heterogeneous computing servers.
[0090] Step S103: converting the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task.
[0091] In this embodiment, a plurality of heterogeneous computing servers of different architectures include the target heterogeneous computing server, which is the heterogeneous computing server that will execute the computing task. By converting virtual instructions into real instructions that are adapted to the target heterogeneous computing server, it is ensured that the computing task can run smoothly on the server of a specific architecture. It should be noted that due to the significant differences in the underlying architecture, instruction set, and hardware characteristics of different heterogeneous computing servers, although the virtual instructions have been uniformly abstracted and standardized, they cannot be directly recognized and executed by the server. Therefore, converting virtual instructions into real instructions is a key step in realizing cross-server scheduling of computing tasks.
[0092] Optionally, converting the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task specifically includes:
[0093] Obtain a pre-built mapping matrix M, wherein the mapping matrix M defines a mapping relationship between virtual instructions and real instructions;
[0094] Encoding the virtual instructions into an n×1 column vector V, where n is the total number of virtual instructions defined;
[0095] Perform matrix multiplication on the mapping matrix M and the column vector V to obtain an m×1 column vector Z. Based on the column vector Z, obtain the real instructions of the target heterogeneous computing power server corresponding to the computing power task, where m is the total number of types of heterogeneous computing power servers.
[0096] In this embodiment, a two-dimensional mapping matrix M is pre-constructed, whose rows correspond to all supported virtual instructions, columns correspond to heterogeneous computing power server types, and cells store templates for mapping relationships from virtual instructions to real instructions. The computing power scheduling platform supports multiple virtual instructions. According to the type and number of the virtual instruction, the corresponding position in the vector V is determined to be 1, and the remaining positions are 0, thereby completing the encoding. Execute the matrix operation Z = M × V: Since V is a unit vector, it is actually equivalent to selecting the corresponding row of M. The result Z is the actual instruction template set under each heterogeneous computing power server. Based on the column where the target heterogeneous computing power server is located, the element corresponding to Z in the mapping matrix M is selected, and the parameter placeholders in the instruction template are replaced with actual values, that is, the real instructions adapted to the target heterogeneous computing power server are obtained.
[0097] Step S104: The real instruction is sent to the target heterogeneous computing server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a type of heterogeneous computing server of the architecture.
[0098] In this embodiment, a real instruction controller is generally used to adapt to only one type of heterogeneous computing server architecture. The real instruction controller is actually connected to the heterogeneous computing server. The real instruction controller sends real instructions to the target heterogeneous computing server to enable the target heterogeneous computing server to perform the corresponding computing task.
[0099] Optionally, the method further includes:
[0100] Monitor the performance indicator data of each heterogeneous computing server in real time and display it in a visual interface;
[0101] When the performance indicator data of a certain heterogeneous computing power server reaches a preset threshold, an alarm mechanism is automatically triggered.
[0102] In this embodiment, multiple performance indicator data such as CPU usage, memory usage, storage I / O performance, network bandwidth usage, and computing power acceleration card performance (such as GPU, NPU, DCU) of each heterogeneous computing power server are monitored in real time and displayed in a visual interface; when the performance indicator data of a heterogeneous computing power server reaches a preset threshold (such as GPU temperature > 85°C, CPU load > 90%), an alarm mechanism is automatically triggered to timely discover and solve problems. In addition, historical data of these performance indicators can also be stored to support data analysis and trend prediction, which can be used to evaluate the load capacity of heterogeneous computing power servers, predict potential bottlenecks, and discover potential problems.
[0103] Optionally, after the real instruction controller corresponding to the real instruction sends the real instruction to the target heterogeneous computing server for execution, the method further includes:
[0104] Tracking the execution progress of the task program corresponding to the computing task in real time, and collecting the performance data and task execution status data of the task program;
[0105] When the performance data and / or task execution status data meet preset rules, corresponding events are automatically triggered, and the events include any one of alarm notification, resource adjustment, and task scheduling.
[0106] In this embodiment, the monitoring data (including performance data, task execution status data, etc.) of heterogeneous computing servers and task programs are analyzed in real time. Once the monitoring data meets the preset rules and conditions, corresponding events such as alarm notifications, resource adjustments, and task scheduling are automatically triggered, aiming to improve the system's automation and response speed. At the same time, the time, cause, and result of each event triggering can be recorded to facilitate administrators to conduct post-analysis and auditing. Users can also set rules and conditions for triggering events based on actual needs, such as the performance indicator thresholds and task execution status of heterogeneous computing servers.
[0107] Optionally, the computing tasks include reasoning tasks and training tasks.
[0108] In this embodiment, the computing power scheduling platform receives the model planned for deployment selected by the user, specifically down to the model version, parameter quantity and accuracy, and displays to the user a model deployment server selection page that can deploy the model, so that the user can select the corresponding target heterogeneous computing power server, or the computing power scheduling platform selects the corresponding target heterogeneous computing power server, and then obtains the model file and inference program pulled by the user from the file server, thereby obtaining the corresponding inference task.
[0109] In this embodiment, the computing power scheduling platform provides users with a list of optional training servers based on the configuration of the heterogeneous computing power servers (such as CPU, GPU, memory, storage, etc.) and current usage. Users can select the most suitable target heterogeneous server for training according to actual needs, or the computing power scheduling platform selects the corresponding target heterogeneous computing power server and pulls the code and scripts required for training from the file server to obtain the corresponding training task.
[0110] Optionally, the method further includes:
[0111] Modify the parameters in the scheduling strategy according to user needs.
[0112] In this embodiment, the user can modify the parameters in the scheduling policy according to actual needs to achieve reasonable allocation and efficient utilization of resources.
[0113] In a specific embodiment, in order to solve the difficulties of current computing power scheduling in deployment cost, cross-platform support, and rational resource utilization, a lightweight, low-coupling computing power scheduling platform is constructed. The platform is connected to heterogeneous computing power servers. The specific architecture diagram is as follows: Figure 2 As shown, the computing power scheduling platform includes a computing power access module, a computing power resource management module, a computing power perception module, a computing power scheduling module, and a computing power task module. The computing power access module includes a computing power server access component and a computing power acquisition and control component. The computing power resource management module includes a heterogeneous computing power normalization component and an algorithm support evaluation component. The computing power perception module includes a computing power server monitoring component, a task program execution monitoring component, and a computing power perception event trigger. The computing power scheduling module includes a policy configurator, a policy decision-making authority, and a policy executor. The computing power task module includes an inference task management component, a training task deployment component, and a task policy management component.
[0114] 1. Computing Power Access Module
[0115] The computing power resource access module is the collection and control submodule of the system (i.e., the computing power scheduling platform), and its main functions include the access, collection, and control of computing power resources. First, through the computing power server access component, the system can establish a secure and reliable communication connection with the heterogeneous computing power server, and complete the initialization authentication and server environment deployment. Subsequently, the computing power collection and control component is responsible for converting the scheduling instructions of the upper-level module into virtual and real to adapt to the instruction sets of different heterogeneous computing power servers. This component consists of three parts: a virtual instruction receiver, a virtual instruction parser, and a real instruction controller. The virtual instruction receiver provides a unified interface for communication with the upper layer of the user system, the virtual instruction parser is responsible for the parsing and conversion of instructions, and the real instruction controller realizes the real docking with the heterogeneous computing power server, including the collection of computing power performance measurement data and the control of computing power resource allocation.
[0116] 1. Computing server access components
[0117] This component is responsible for establishing network communication between the system and computing resources, and for interactive control with computing resources, including data collection and instruction issuance. The implementation process of this component is as follows: Figure 3 As shown, first, the system initializes and authenticates the heterogeneous computing server, then the system establishes a reliable communication connection with the heterogeneous server, and finally, the system deploys the initialized server environment.
[0118] (1) Initialization authentication between the system and the heterogeneous computing server
[0119] ① The user selects the communication protocol for the system to access the heterogeneous computing server and configures the authentication parameters.
[0120] ② The system acts as a client and sends a login request to the heterogeneous computing power server.
[0121] ③The heterogeneous computing power server sends the public key to the system.
[0122] ④The system calls the authentication parameters configured by the user and encrypts them using the public key.
[0123] ⑤The system sends the encrypted authentication parameters.
[0124] ⑥ Authentication parameters of heterogeneous computing servers verified by private keys.
[0125] ⑦The heterogeneous computing power server returns the login result.
[0126] (2) Establish a reliable communication connection between the system and the server
[0127] The system establishes a reliable communication connection with heterogeneous computing servers.
[0128] (3) Server environment for system deployment initialization
[0129] ① The system obtains the initialization information of the heterogeneous computing power server (including the hardware specifications, operating system information, installed software environment, etc. of the heterogeneous computing power server);
[0130] ②The system deploys necessary drivers and application software in heterogeneous computing servers.
[0131] Specifically, the system replaces manual deployment of the environment on heterogeneous computing servers in order to simplify the installation process and unify the environment. The driver includes GPU-related drivers (CUDA, CANN) and the installation of matching Python libraries, etc. After installing these tools, the AI inference model can be run.
[0132] 2. Computing power acquisition and control components
[0133] This component is responsible for converting virtual and real instructions for heterogeneous computing servers, so as to provide a consistent acquisition and control interface to the upper-level modules and shield the underlying differences of heterogeneous computing servers. It includes three types of components: real instruction controller, virtual instruction parser, and virtual instruction receiver. Among them, the real instruction controller is responsible for issuing real instructions to the heterogeneous computing servers managed by the system, the virtual instruction parser is responsible for translating the uploaded scheduling instructions and mapping them with the specific real instruction controller, and the virtual instruction receiver is used to establish a communication relationship with the upper layer of the system and provide a unified external interface (shielding the instruction differences of heterogeneous computing power). The specific description is as follows:
[0134] (1) Virtual instruction receiver
[0135] The virtual command receiver is an important component in the computing power acquisition and control component. It is responsible for establishing communication with the upper layer of the user system and providing a unified external interface. The main functions of the virtual command receiver include:
[0136] Interface definition: Defines standardized interfaces for interacting with upper-level modules, including the interface's data format, communication protocol, and error handling mechanism. These interfaces should be highly flexible and scalable to adapt to the needs and changes of different upper-level modules.
[0137] Instruction reception: Receives virtual instructions from upper-level modules and passes them to the virtual instruction parser for parsing and conversion. During this process, the virtual instruction receiver needs to verify and filter the received instructions (high-risk operation instructions cannot be issued through this system, or require strict authentication before issuance) to ensure the legitimacy and security of the instructions.
[0138] Status feedback: This function feeds the status information of heterogeneous computing servers to upper-level modules. This status information may include performance data, resource usage, fault alarms, and more. By providing this information, upper-level modules can better understand the operating status of heterogeneous computing servers and implement appropriate scheduling and management.
[0139] It should be noted that virtual instructions refer to the consistent instructions of heterogeneous computing servers after being uniformly encapsulated by this system. (For example, the command lines and output results of Huawei servers and NVIDIA servers are inconsistent. After conversion by this system, unified virtual instructions are used when calling and viewing at the upper level, shielding the differences in the underlying architecture.)
[0140] (2) Virtual Instruction Parser
[0141] The virtual instruction parser is one of the core components of the computing power acquisition and control component. It is responsible for receiving virtual instructions from upper-level modules and parsing and converting these instructions. Virtual instructions are highly abstracted and standardized instructions. They do not directly correspond to any specific real instructions of any heterogeneous computing power server, but are used to express the scheduling requirements of upper-level modules for computing power resources. The details are as follows:
[0142] The main functions of the virtual instruction parser include:
[0143] Instruction parsing: Perform syntax and semantic analysis on the received virtual instructions to ensure the legality and correctness of the instructions.
[0144] Instruction conversion: According to the content and context information of the virtual instruction, the corresponding instruction controller and instruction set are matched, and further, it is converted into a real instruction that can be understood and executed by the corresponding real instruction controller.
[0145] The virtual instruction parser contains a mapping table from virtual instructions to real instructions, so that instructions can be quickly converted when needed. The system uses this mapping table to achieve fast matrix conversion from virtual instructions to real instructions. The specific implementation method is as follows:
[0146] Step 1: Construct a mapping matrix: Based on system requirements and the characteristics of the heterogeneous computing servers, manually or automatically construct the mapping matrix M. This matrix is the core of the algorithm and defines the mapping relationship between virtual instructions and real instructions.
[0147] Step 2: Virtual instruction encoding: Encode the input virtual instruction into an n×1 column vector V. This is usually a simple lookup or encoding process.
[0148] Step 3: Matrix multiplication: Execute matrix multiplication MV=Z, where Z is an m×1 column vector representing the mapped real instruction set (or the selection of the real instruction controller).
[0149] Note that n corresponds to the number of virtual instructions in the system, and m corresponds to the number of heterogeneous computing server types. For example, if four platforms (Huawei, NVIDIA, Intel, and AMD) are supported, then m = 4. After the upper-level system issues a virtual instruction, it generates a set of real instructions. Each element in the set represents a real instruction to be executed on a specific type of server.
[0150] The specific formula for matrix multiplication is: However, in this scenario, since V is a column vector and usually contains only one non-zero element (representing the currently executed virtual instruction), the actual calculation can be simplified to finding the corresponding row in the mapping matrix and obtaining the corresponding real instruction.
[0151] Step 4: Analyze the real instruction: According to the mapping matrix M and the matrix multiplication result Z, analyze the specific real instruction or the selection of the real instruction controller.
[0152] It should be noted that the virtual instruction parser only involves the mapping relationship between heterogeneous computing power server types. The specific execution on which heterogeneous computing power server is executed is implemented by the upper-level scheduling real instruction controller.
[0153] Step 5: Execute the real instruction: Send the parsed real instruction to the corresponding real instruction controller for execution. Each type of computing power server corresponds to a real instruction controller.
[0154] Here are some examples:
[0155] ① Mapping matrix construction
[0156] The system pre-builds a two-dimensional mapping table (matrix M), whose structure is:
[0157] Row: All supported virtual instructions (e.g. V1 = status query, V2 = matrix calculation)
[0158] Column: Different hardware platforms (such as Huawei Ascend and NVIDIA platforms), that is, corresponding to different heterogeneous computing server types;
[0159] Cell: stores the actual execution command template of the virtual instruction under the corresponding platform
[0160] The sample matrix (part) is shown in Table 1:
[0161] Table 1: Mapping matrix
[0162]
[0163]
[0164] ②Instruction encoding processing
[0165] When receiving an execution request: parse the virtual instruction type in the request (such as V1)
[0166] Generate the corresponding selection vector V: the dimension is equal to the total number of virtual instructions, only the corresponding instruction position is 1, and the rest are 0, example: V1=[1,0,...,0]^T
[0167] ③Matrix operation processing
[0168] Execute the matrix operation Z = M × V: Since V is a unit vector, it is actually equivalent to selecting the corresponding row of M. The result Z is the actual instruction template set under each platform.
[0169] Example: When V1 is selected, Z = ["npu-smi...","nvidia-smi..."]^T
[0170] ④Platform adaptation execution
[0171] Select the corresponding element in Z according to the target platform:
[0172] Platform A: take Z[0]; Platform B: take Z[1]
[0173] Replace parameter placeholders in the template (such as {dev_id}) with actual values
[0174] ⑤Instruction execution
[0175] The actual filled instructions are submitted through the execution interface of the corresponding platform: for example, platform A is executed through the AscendCL runtime; platform B is executed through the CUDA driver.
[0176] (3) Real instruction controller
[0177] The system includes several real instruction controllers (one real instruction controller is generally only used for adapting to a type of computing power server architecture). This controller realizes the actual connection between the system and heterogeneous computing power servers, including instructions for collecting computing power performance measurement data and control instructions for computing power resource allocation. The computing power performance measurement instructions are used to obtain system performance, system status, and performance indicators of computing power task execution processes from heterogeneous computing power servers; computing power resource allocation is used by the system to issue control instructions to heterogeneous computing power servers, including process operations (start, stop, suspend, or resume), process priority adjustment, process resource allocation (CPU, memory, GPU), system configuration and management (configuring GPU operating parameters, network interface parameters, etc.), exception handling and recovery (fault monitoring and system recovery).
[0178] Specifically, the instruction set for collecting computing power performance measurement data includes the following:
[0179] ①System performance:
[0180] CPU usage: Collects CPU usage of heterogeneous computing servers, including the usage and idle rate of each core.
[0181] Memory usage: Collects memory usage of heterogeneous computing servers, including total memory, used memory, free memory, etc.
[0182] Storage I / O performance: Collects performance indicators such as the read and write speeds and IOPS (input and output operations per second) of storage devices.
[0183] Network bandwidth usage: collects performance indicators such as the network interface's data transmission and reception rate, packet loss rate, etc.
[0184] Computing power accelerator card performance: collects performance indicators such as utilization rate, memory, power consumption, temperature, etc. of computing power accelerator cards such as GPU, NPU, and DCU
[0185] ②System status:
[0186] System load: Collects the overall load of the system, such as the number of currently running processes, the number of processes waiting to be executed, etc.
[0187] Device status: Collects status information of various hardware devices (such as graphics cards, network cards, etc.) in heterogeneous computing servers.
[0188] Specifically, the control instruction set for computing resource allocation includes the following:
[0189] ① Computing resource allocation control:
[0190] Process management: start, stop, suspend, or resume the execution of a process.
[0191] Priority Adjustment: Adjust the priority of processes to ensure that critical tasks are handled first.
[0192] Resource Limits: Set upper limits on CPU, memory, GPU, and other resources for a process to prevent a single process from consuming too many resources.
[0193] ②System configuration and management:
[0194] Device configuration: Configure the hardware devices in the heterogeneous computing server, such as setting the graphics card memory allocation, adjusting the parameters of the network interface, etc.
[0195] User permission management: Assign different permission levels to users to control their access and operations on heterogeneous computing servers.
[0196] System updates and upgrades: Perform system updates and upgrades to ensure that heterogeneous computing servers run the latest software and firmware.
[0197] ③Exception handling and recovery
[0198] Fault detection and alarm: Detect faults in heterogeneous computing servers and issue alarms for timely processing.
[0199] Automatic recovery mechanism: After detecting a fault, the system automatically attempts to restore normal operation, such as restarting the faulty device or switching to a backup device.
[0200] 2. Computing Resource Management Module
[0201] The computing power resource management module is used to further normalize heterogeneous resources into allocatable resources on the same plane based on unified access. It specifically includes a heterogeneous computing power normalization component and an algorithm support evaluation component. The heterogeneous computing power normalization component achieves unified measurement of different computing power resources through benchmark computing power selection and comprehensive energy efficiency evaluation, facilitating resource management and scheduling. The algorithm support evaluation component includes an algorithm model library and an algorithm support detector. The former stores and manages algorithm model metadata, configuration files, and dependencies, while the latter verifies the compatibility and performance of the algorithm in the target environment. Together, they ensure that users do not need to repeatedly evaluate and adapt when using computing power resources, thereby improving resource utilization efficiency and algorithm operation stability.
[0202] 1. Heterogeneous computing power normalization component
[0203] The computing power normalization component is mainly responsible for unifying the performance of different computing power resources (such as CPU, GPU, NPU, DCU, etc.) to enable more effective resource management and scheduling. The implementation process is as follows: Figure 4 As shown in the figure, first select a benchmark computing power server and a computing-intensive algorithm. Then adjust the benchmark computing power server environment multiple times and run the algorithm. Measure the server performance indicators and task efficiency indicators each time the algorithm runs. Then, combine the efficiency of each executed task to derive the weight of each performance indicator and derive the computing power energy efficiency calculation formula. Finally, when a new heterogeneous computing power server is connected, directly run the evaluation algorithm to obtain the energy efficiency value.
[0204] (1) Benchmark computing power selection
[0205] Basic computing architecture server (i.e., benchmark computing architecture server): Select a representative and widely recognized computing architecture server as the basic platform. The server should have stable performance and reproducible test results.
[0206] Evaluation algorithm program: The system selects an algorithm program as an evaluation tool, such as matrix multiplication, deep learning model training, etc. The algorithm should be able to fully utilize the server's computing resources and generate quantifiable performance indicators.
[0207] Algorithm selection: Matrix multiplication is one of the fundamental operations in linear algebra. It defines the process of multiplying two matrices using specific rules to produce a new matrix. Specifically, if A is an m×n matrix and B is an n×p matrix, then their product C = AB is an m×p matrix, where the elements in C are obtained by multiplying the rows of A by the corresponding elements of the columns of B and then summing them. The number of floating-point operations F required for this matrix multiplication can be calculated using the following formula:
[0208] F=2×m×n×p
[0209] If the time required to complete this algorithm is t, we can further derive the floating-point operation rate (Flops) when the task is executed:
[0210]
[0211] (2) Comprehensive energy efficiency evaluation
[0212] Execute the evaluation algorithm: Execute the evaluation algorithm program on the basic computing architecture server and record its execution time, resource utilization (such as CPU, memory, GPU usage), power consumption and other key performance indicators.
[0213] Calculate the standard evaluation unit: Based on the above performance indicators, calculate a comprehensive computing power efficiency evaluation value as the standard evaluation unit. This evaluation value can be a weighted average or a composite indicator designed according to specific needs. The evaluation indicator list can be shown in Table 2.
[0214] Table 2: List of evaluation indicators
[0215]
[0216]
[0217] After obtaining the above results, the system will adjust the environment of the heterogeneous computing power servers multiple times and run the algorithm multiple times to obtain the correlation between various indicators and the computing power performance evaluation value, calculate and map the correlation size to determine the weight. The specific implementation method is as follows:
[0218] ① Execute the evaluation algorithm multiple times: Execute the evaluation algorithm program multiple times on the basic computing power architecture server, fine-tuning the server environment (such as CPU frequency, memory allocation, GPU configuration, etc.) before each execution. Record key performance indicators during each execution: execution time, CPU utilization, memory utilization, GPU utilization, video memory utilization, GPU power consumption, GPU temperature, floating-point operations (Flops), and floating-point operation rate.
[0219] ② Correlation analysis: Use statistical methods to calculate the correlation between each performance indicator and the computing power efficiency evaluation value. The results of the correlation analysis will derive the weight of each indicator. The correlation analysis uses the Spearman rank correlation coefficient to obtain the correlation matrix. Positive values indicate positive correlation, and negative values indicate negative correlation. Weights are assigned based on the size of the correlation coefficient. The weight can be set to the absolute value of the correlation coefficient (or its square to emphasize indicators with stronger correlation). The specific calculation method of correlation is as follows:
[0220]
[0221] where w′ i represents the weight assigned to the i-th indicator, ρFr,x j is the floating point operation rate and key performance indicator x i is the Spearman rank correlation coefficient between them, p is a positive number used to adjust the sensitivity of weight distribution, and n represents the total number of key performance indicators.
[0222] (3) Energy efficiency normalization management
[0223] Connecting a new heterogeneous computing server: Connect the computing server to be evaluated to the system and configure the same test environment and conditions.
[0224] Execute the same evaluation algorithm: Execute the same evaluation algorithm program as the standard evaluation unit on the newly connected heterogeneous computing server and record its performance indicators.
[0225] Generate computing power performance: Based on the performance indicators of the new heterogeneous computing power server, use the same calculation method as the standard evaluation unit to generate its computing power performance evaluation value.
[0226] Through the above method, the computing power resource management unit of this system has achieved the unification of weights and measures, so that when allocating computing power resources, heterogeneous computing power can be managed on the same scale.
[0227] It's important to note that the computing power efficiency evaluation value is primarily used to normalize the value assessment of heterogeneous computing power usage. For example, when running an algorithm on server A and server B, how should the actual computing power usage cost be calculated (from a technical perspective only, not economic factors)? This eliminates the need to consider cost differences between different architectures and computing power types when scheduling external resources. Simply plug in the standard computing power evaluation formula to calculate the normalized cost.
[0228] 2. Algorithm support evaluation component
[0229] The algorithm support evaluation component is used to evaluate the algorithm models supported by managed heterogeneous computing servers to ensure that users do not need to repeatedly evaluate and adapt the heterogeneous computing server environment when using computing resources. This component includes two parts: the algorithm model library and the algorithm support detection.
[0230] (1) Algorithm model library
[0231] The Algorithm Model Library is a core component of the evaluation component. It is responsible for storing and managing metadata, configuration files, and necessary dependencies for various algorithms and models. This library not only includes a wide range of algorithms but also covers different versions of models to meet the diverse needs of different users. The specific contents are as follows:
[0232] Model metadata management: Record key information such as the name, version, description, author, and dependencies of each algorithm model to facilitate user query and screening.
[0233] Configuration file management: Stores the configuration files of the algorithm model, including parameter settings, input and output formats, etc., to ensure the correct operation of the algorithm in different environments.
[0234] Dependency management: Automatically detect and manage the dependent libraries, frameworks, etc. required by the algorithm model, reducing the trouble of manual installation and configuration for users.
[0235] Version control: supports version management of algorithm models. Users can easily switch between different versions of algorithm models to adapt to different application scenarios.
[0236] (2) Algorithm support detector
[0237] Algorithm support detection is another key process in the evaluation component. It verifies the compatibility and performance of the algorithm in the target environment through a comprehensive inspection of the heterogeneous computing server environment and the loading, execution, and unloading of the algorithm model. The specific implementation method is as follows:
[0238] Operating environment check: Check the basic hardware configuration of the heterogeneous computing server (such as CPU, GPU, memory, etc.).
[0239] Verify whether the software environment, including the operating system version and dependent library version, meets the algorithm operation requirements.
[0240] Evaluate the network environment to ensure the stability and speed of data transmission.
[0241] Check algorithm loading: Attempt to load the algorithm model into memory and check whether any errors or anomalies occur during the loading process. Verify the integrity of the algorithm model to ensure that there are no damaged or missing files.
[0242] Check algorithm execution: Run the algorithm model using a preset test data set to observe whether the output results meet expectations.
[0243] Record resource usage during algorithm execution (such as CPU usage, memory usage, etc.). Evaluate the algorithm's execution efficiency, including key indicators such as processing speed and accuracy.
[0244] Execution Efficiency Evaluation: Detailed analysis of algorithm execution results is performed to compare the performance differences between different algorithm models when handling the same task. Based on the evaluation results, optimization suggestions are provided to users, such as adjusting parameter settings and upgrading hardware configurations.
[0245] Detect algorithm uninstallation: Safely uninstall the algorithm model to release occupied memory resources. Check whether there are any errors or exceptions during the uninstallation process to ensure the stability of the system environment.
[0246] It should be noted that the algorithm support detection step corresponds to the computing power evaluation method when the computing power is initialized and connected to this system at the heterogeneous computing power scheduling level. The main purpose is to detect the integrity of the support environment.
[0247] 3. Computing Power Perception Module
[0248] The computing power perception module obtains the performance indicator data of heterogeneous computing power servers by connecting to the computing power access module through virtual instructions. It is responsible for real-time monitoring of the status of heterogeneous computing power servers and the execution of task programs, and triggering corresponding events for upper-level modules to make decisions and schedule. This module includes three sub-modules: computing power server monitoring component, task program execution monitoring component, and computing power perception event trigger. The details are as follows:
[0249] 1. Computing server monitoring component
[0250] The computing server monitoring component is primarily responsible for monitoring the overall performance and status of heterogeneous computing servers to ensure healthy server operation. It collects various performance metrics of heterogeneous computing servers periodically or in real time, including but not limited to CPU utilization, memory usage, storage I / O performance, network bandwidth usage, and the performance of computing accelerator cards (such as GPUs, NPUs, and DCUs). This data is crucial for evaluating the load capacity of heterogeneous computing servers, predicting potential bottlenecks, and promptly identifying and resolving problems. The specific implementation is as follows:
[0251] Real-time performance monitoring: The system collects various performance indicator data of heterogeneous computing servers in real time and displays them in a visual interface, allowing administrators to quickly understand the current status of the servers.
[0252] Historical data analysis: Stores historical performance data, supports data analysis and trend forecasting, and helps administrators identify patterns in performance changes and potential problems.
[0253] Alarms and notifications: When the performance indicators of heterogeneous computing servers reach the preset threshold, the alarm mechanism is automatically triggered, reminding the administrator to handle it in time through email, SMS or system notification.
[0254] 2. Task program execution monitoring component
[0255] The task program execution monitoring component focuses on monitoring and managing task programs running on heterogeneous computing servers. It tracks the execution of task programs, collecting and analyzing task performance data, including execution time, resource consumption (such as CPU, memory, GPU, etc.), and task progress. This data is important for evaluating task execution efficiency, optimizing resource allocation, and promptly identifying and resolving problems during task execution. The specific implementation is as follows:
[0256] Task progress tracking: Track the execution progress of the task program in real time and display it in a visual interface to help users understand the current status of the task.
[0257] Performance data analysis: Collect and analyze the performance data of task programs to evaluate the execution efficiency and resource consumption of tasks.
[0258] Task management: Provides management functions such as task start, stop, and restart, as well as adjustment functions for task priority and resource allocation.
[0259] Exception handling: When an exception or error occurs in a task program, the exception handling mechanism is automatically triggered to record the error information and provide corresponding solutions or suggestions.
[0260] 3. Computing power perception event trigger
[0261] The computing power awareness event trigger is an intelligent response component within the computing power awareness module. It analyzes monitoring data (including performance data and task execution status data) from heterogeneous computing servers and task programs in real time based on preset rules and conditions. When specific conditions are met, it automatically triggers corresponding events or actions. These events can include alarm notifications, resource adjustments, and task scheduling, aiming to improve the system's automation and responsiveness.
[0262] The specific implementation is as follows:
[0263] Rule configuration: allows users to configure the rules and conditions for triggering events according to actual needs, such as performance indicator thresholds, task execution status, etc.
[0264] Event triggering: When the monitoring data meets the preset rules and conditions, the corresponding events or actions are automatically triggered.
[0265] Event logging: Records the time, cause, and result of each event trigger, facilitating post-event analysis and auditing by administrators.
[0266] Intelligent optimization: Based on historical data and event triggering, intelligently adjust triggering rules and conditions to optimize system performance and stability.
[0267] 4. Computing Power Scheduling Module
[0268] 1. Strategy Configurator
[0269] The policy configurator is used to configure the corresponding scheduling rules when deploying computing tasks (multiple tasks use the same scheduling rules to dynamically allocate computing resources). It is responsible for interacting with the computing task management module. The main policy rules are as follows:
[0270] ① Priority scheduling: Allocate resources based on the priority of the task to ensure that high-priority tasks get computing resources first.
[0271] ② Load balancing scheduling: Evenly distribute tasks to various heterogeneous computing servers to avoid overloading of a single server and improve the stability and efficiency of the overall system.
[0272] ③ Greedy algorithm: When resources are limited, select the current optimal computing resources for allocation to maximize overall benefits.
[0273] ④ Heuristic algorithm: Through simulation and prediction, select the approximately optimal computing resource allocation plan to achieve better performance within a limited time.
[0274] 2. Policy Decision Maker
[0275] The policy decision maker obtains relevant events from the perception module and makes decisions based on the policy configuration. When the trigger condition of a certain measurement is met, it decides to perform the corresponding action.
[0276] 3. Policy Executor
[0277] The policy executor is used to execute the scheduling policy and is responsible for interacting with the computing power access module. It issues corresponding control commands through virtual instructions, so that the computing power resources managed by this system can be allocated and scheduled across platforms on a unified plane.
[0278] 5. Computing Task Module
[0279] The top layer of this system is the computing task module, which is used to issue computing tasks, including inference task management components, training task deployment components, and task strategy management components.
[0280] 1. Reasoning Task Management Component
[0281] ①Select a model to deploy
[0282] When users select a model, they need to specify the specific version, parameter number, and precision, such as Qwen2-7b / Qwen2-72b, where qwen2 is the model version, 7b is the parameter number, and fp16 is the precision mode.
[0283] ②Select the server you plan to deploy
[0284] The system associates servers that can be configured with this model, based on: 1) environmental support and 2) resource availability. For example, the criteria can be shown in Table 3:
[0285] Table 3: Judgment basis for model deployment server
[0286]
[0287] Considering the overall lightweight of the system architecture, we will not consider deploying the server environment through virtualization, containers, mirroring, etc., but will access this system through a pre-configured server environment.
[0288] It should be noted that the above algorithm supports detection only as an environmental test when the heterogeneous computing power server is initially connected. The table here (Table 3) is used when deploying the model, and the resource margin will be considered based on the environment.
[0289] ③ Pull model files and inference programs
[0290] The user pulls the model's corresponding code and inference program from the file server. The inference program drives the model file to run on the corresponding computing framework.
[0291] The folder directory should have appropriate standard specifications so that the system can execute the reasoning program correctly.
[0292] The reasoning program should have standardized input and output entries so that the system can correctly proxy the reasoning service for users to call the interface or page.
[0293] ④Configure the inference program execution command and other parameters
[0294] Run command: such as python app.py;
[0295] Port number: such as 8088;
[0296] Scheduling parameters: trigger events and execute actions.
[0297] ⑤Service Release
[0298] After clicking confirm, the system will execute the inference program and proxy the service according to the port configured by the user (the inference service essentially exposes an API interface to the outside world, which is uniformly provided to the outside world through the proxy of this system).
[0299] 2. Training Task Deployment Component
[0300] The computing power training task is an important part of this system, which allows users to train models. The following is a detailed description of the computing power training task:
[0301] (1) Select training task parameters
[0302] ①Select training model:
[0303] Users need to select the model to be trained, which usually includes the type of model (such as neural network architecture), version (such as basic version, improved version, etc.), and whether to use a pre-trained model.
[0304] ②Configure training parameters:
[0305] Dataset: Users need to specify the dataset required for training, including the data source, format, and whether preprocessing is required.
[0306] Batch Size: Sets the number of samples used in each training iteration.
[0307] Learning Rate: Sets the step size for weight updates during model training.
[0308] Training Epochs: Set the number of times the entire dataset is traversed.
[0309] Optimizer: Select the optimization algorithm used to update the model weights, such as SGD, Adam, etc.
[0310] (2) Prepare the training environment
[0311] ①Select a training server:
[0312] The system will provide users with a list of optional training servers based on the configuration of the heterogeneous computing server (such as CPU, GPU, memory, storage, etc.) and current usage.
[0313] Users can choose the most suitable server for training according to actual needs.
[0314] ② Pull the training code and script:
[0315] Users need to pull the code and scripts required for training from the file server, including model definition, data preprocessing scripts, training scripts, etc.
[0316] (3) Start the training task
[0317] ①Configure the training environment:
[0318] Depending on the requirements of the training code, users may need to install specific dependent libraries or tools.
[0319] Users also need to configure training environment variables, such as Python version, CUDA version, etc.
[0320] ②Configure training commands:
[0321] Users need to configure training commands, including specifying training scripts and passing training parameters.
[0322] ③Monitor the training process:
[0323] The system will provide real-time monitoring of the training process, including training progress, loss function value, accuracy and other indicators.
[0324] Users can obtain real-time data during training through the system interface or API interface.
[0325] ④Save training results:
[0326] After training is completed, the system will save the training results (such as model weights, training logs, etc.) to the specified storage location.
[0327] Users can download training results through the system interface or API interface.
[0328] 3. Task Strategy Management Component
[0329] The task strategy management component can observe the current running status and resource usage of the task, as well as the execution of the task scheduling strategy in the computing power scheduling module, and can modify some parameters in the scheduling strategy to achieve rational resource allocation.
[0330] (1) Computing task monitoring
[0331] Computing task monitoring is one of the core functions of the task strategy management component. It allows system administrators or users to observe the current running status and resource usage of tasks in real time. The following is a detailed description of computing task monitoring:
[0332] ①Task running status monitoring: The system can display the running status of each task in real time, such as running, waiting to run, completed, failed, etc. Users can obtain task running status information through the system interface or API interface.
[0333] ② Resource usage monitoring: The system can monitor the resources occupied by tasks during execution, including CPU usage, memory usage, GPU usage (if applicable), network bandwidth, etc. This resource usage information can help users understand the resource requirements of tasks and make more reasonable resource allocation.
[0334] ③Task performance monitoring: In addition to resource usage, the system can also monitor task performance indicators such as computing speed, throughput, response time, etc. These performance indicators can help users evaluate the execution efficiency of tasks and thus optimize performance.
[0335] ④ Real-time monitoring and alarms: The system provides real-time monitoring, allowing users to view task status and resource usage in real time. When a task encounters an anomaly or resource usage exceeds a preset threshold, the system triggers an alarm mechanism to notify the user or administrator for action.
[0336] ⑤ Log recording and viewing: The system will record the running log of the task, including the task start time, end time, error information during execution, resource usage, etc. Users can view this log information through the system interface or API interface for troubleshooting and performance analysis.
[0337] (2) Computing Task Strategy
[0338] The computing task strategy is another important function of the task strategy management component. It allows system administrators or users to modify the parameters in the scheduling strategy according to actual needs to achieve reasonable allocation and efficient utilization of resources. The following is a detailed description of the computing task strategy:
[0339] ① Task priority strategy: The system allows users to set priorities for tasks so that high-priority tasks are scheduled first when resources are tight. Users can set priorities based on factors such as the urgency and importance of the task.
[0340] ② Resource allocation strategy: The system provides a variety of resource allocation strategies, such as average allocation, demand-based allocation, weight-based allocation, etc. Users can choose the appropriate allocation strategy based on the resource requirements of the task and the resource situation of the system.
[0341] ③ Load balancing strategy: The system monitors the resource usage of each node in real time and dispatches tasks to nodes with relatively idle resources based on a load balancing algorithm. This helps avoid situations where some nodes are overloaded while others are idle, thereby improving overall system performance.
[0342] ④ Elastic Scaling Strategy: Based on the dynamic changes in tasks and resource requirements, the system can automatically adjust the quantity and scale of resources to meet the needs of the tasks. This helps reduce operating costs and improve resource utilization.
[0343] ⑤Fault recovery strategy: When a task is interrupted due to a node failure, the system can automatically reschedule the task to other available nodes to ensure the continuity and reliability of the task.
[0344] ⑥ Data security strategy: During task scheduling and execution, the system takes multiple security measures to protect data security and privacy, including data encryption, identity authentication, and access control.
[0345] ⑦ Strategy Adjustment and Optimization: Users can adjust and optimize scheduling strategies based on actual needs to improve system performance and resource utilization. The system also provides historical data analysis and forecasting capabilities to help users better understand task resource requirements and system performance bottlenecks, allowing for more scientific strategy adjustment and optimization.
[0346] For example, the computing task strategies at different stages can be shown in Table 4:
[0347] Table 4: Computing task strategies at different stages
[0348] Scheduling phase Core Strategy Task access phase ①Task priority strategy, ⑥Data security strategy Resource matching stage ② Resource allocation strategy, ③ Load balancing strategy, ⑦ Strategy adjustment and optimization Task execution phase ④ Elastic scaling strategy, ⑤ Fault recovery strategy Full process ⑦Strategy adjustment and optimization (continuous feedback)
[0349] It should be noted that this invention proposes a heterogeneous computing power scheduling method that aims to address the high costs and lack of cross-platform support inherent in existing computing power scheduling technologies. This method achieves unified management and automated scheduling of computing power resources from different vendors through a lightweight and programmable approach. Unlike the high costs of traditional computing power scheduling platforms, this invention improves computing power resource utilization and service quality at a lower cost.
[0350] The heterogeneous computing power scheduling method provided by the embodiment of the present invention is based on a computing power scheduling platform. The platform first determines the scheduling strategy corresponding to multiple computing power tasks; then generates corresponding virtual instructions based on the scheduling strategy. The virtual instructions are the instruction form formed by uniformly abstracting and standardizing the instructions of the heterogeneous computing power server, which is used to mask the differences in the underlying architectures of different heterogeneous computing power servers; then converts the virtual instructions into real instructions that are adapted to the target heterogeneous computing power server corresponding to the computing power task; finally, the real instructions are sent to the target heterogeneous computing power server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a heterogeneous computing power server of a type of architecture. The present invention uses virtual instructions to uniformly abstract and standardize the instructions of the heterogeneous computing power servers, effectively masking the differences in different underlying architectures, breaking down resource silos, and achieving smooth cross-platform scheduling management, enabling efficient integration and coordinated utilization of computing power resources of different architectures. At the same time, the computing power scheduling platform can determine the scheduling strategy based on the conditions of multiple computing power tasks, and automatically generate virtual instructions, convert them into real instructions, and send them for execution, realizing automated scheduling of the entire process without excessive human intervention, significantly improving scheduling efficiency. In addition, the computing power scheduling platform adopts a lightweight architecture design, which reduces deployment costs and enhances system reusability. This solves the problems of existing computing power scheduling methods, such as resource silos that make cross-platform scheduling and management difficult, lack of automated scheduling capabilities, and complex platform architecture that leads to high deployment costs and difficulty in reuse.
[0351] Example 2:
[0352] like Figure 5 As shown, this embodiment provides a heterogeneous computing power scheduling device, which is provided on a computing power scheduling platform and is used to execute the above-mentioned heterogeneous computing power scheduling method, including:
[0353] A scheduling strategy determination module 11 is used to determine the scheduling strategies corresponding to multiple computing tasks;
[0354] A virtual instruction generation module 12 is connected to the scheduling strategy determination module 11 and is used to generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed by unified abstraction and standardization of heterogeneous computing power server instructions, and are used to mask the differences in the underlying architectures of different heterogeneous computing power servers.
[0355] A real instruction conversion module 13, connected to the virtual instruction generation module 12, is used to convert the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task;
[0356] The real instruction issuing module 14 is connected to the real instruction conversion module 13, and is used to send the real instruction to the target heterogeneous computing power server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a type of heterogeneous computing power server of the architecture.
[0357] Optionally, the device further comprises:
[0358] An initialization authentication module, configured to perform initialization authentication with a plurality of heterogeneous computing servers of different architectures; wherein the plurality of heterogeneous computing servers of different architectures include the target heterogeneous computing server;
[0359] A communication connection module, configured to establish a reliable communication connection with the plurality of heterogeneous computing power servers in response to the initialization authentication being passed;
[0360] An environment deployment module is used to obtain initialization information of each of the heterogeneous computing power servers based on the communication connection, and deploy necessary drivers and application software in the corresponding heterogeneous computing power servers based on the initialization information.
[0361] Optionally, the device further comprises:
[0362] A server and algorithm selection module is used to select a representative heterogeneous computing server from the plurality of heterogeneous computing servers as a benchmark computing server and select a computationally intensive algorithm as an evaluation algorithm;
[0363] an evaluation algorithm execution module, configured to execute the evaluation algorithm multiple times on the benchmark computing server, fine-tune the environment of the benchmark computing server before each execution, and record a plurality of key performance indicators during each execution;
[0364] An evaluation value generation module is used to generate a comprehensive computing power efficiency evaluation value based on multiple recorded key performance indicators;
[0365] A weight determination module is used to calculate the correlation between each of the key performance indicators and the computing power efficiency evaluation value using a statistical method, and determine the weight corresponding to each of the performance indicators according to the size of the correlation coefficient to obtain a computing power energy efficiency calculation formula;
[0366] An evaluation value calculation module is used to calculate the computing power efficiency evaluation values of the other heterogeneous computing power servers among the multiple heterogeneous computing power servers except the benchmark computing power server based on the computing power energy efficiency calculation formula.
[0367] Optionally, the device further comprises:
[0368] An algorithm support detection module is used to perform algorithm support detection on each of the heterogeneous computing power servers, and evaluate the support capability of each of the heterogeneous computing power servers for the corresponding algorithm model in combination with the requirements of the algorithm model in the algorithm model library;
[0369] The algorithm supports detection including operation environment check, detection algorithm loading, detection algorithm execution, execution efficiency evaluation, and detection algorithm unloading.
[0370] Optionally, the real instruction conversion module 13 includes:
[0371] A mapping matrix acquisition unit, configured to acquire a pre-built mapping matrix M, wherein the mapping matrix M defines a mapping relationship between virtual instructions and real instructions;
[0372] a virtual instruction encoding unit, configured to encode the virtual instruction into an n×1 column vector V, where n is the total number of defined virtual instructions;
[0373] A matrix multiplication unit is used to perform matrix multiplication on the mapping matrix M and the column vector V to obtain an m×1 column vector Z, and obtain the real instructions of the target heterogeneous computing power server corresponding to the computing power task based on the column vector Z, where m is the total number of types of heterogeneous computing power servers.
[0374] Optionally, the device further comprises:
[0375] A performance indicator monitoring module is used to monitor the performance indicator data of each heterogeneous computing power server in real time and display it in a visual interface;
[0376] The alarm mechanism triggering module is used to automatically trigger the alarm mechanism when the performance indicator data of a certain heterogeneous computing power server reaches a preset threshold.
[0377] Optionally, the device further comprises:
[0378] An execution progress tracking module is used to track the execution progress of the task program corresponding to the computing task in real time and collect the performance data and task execution status data of the task program;
[0379] The event triggering module is used to automatically trigger corresponding events when the performance data and / or task execution status data meet preset rules. The events include any one of alarm notification, resource adjustment, and task scheduling.
[0380] Optionally, the computing task includes an inference task and a training task; the scheduling strategy includes at least one of the following: a task priority strategy, a resource allocation strategy, a load balancing strategy, an elastic scaling strategy, a fault recovery strategy, a data security strategy, and a strategy adjustment and optimization; and the device further includes:
[0381] The scheduling policy parameter adjustment module is used to modify the parameters in the scheduling policy according to user needs.
[0382] Example 3:
[0383] refer to Figure 6 This embodiment provides a scheduling device for heterogeneous computing power, including a memory 21 and a processor 22. The memory 21 stores a computer program, and the processor 22 is configured to run the computer program to execute the scheduling method for heterogeneous computing power in Example 1.
[0384] The memory 21 is connected to the processor 22 . The memory 21 may be a flash memory, a read-only memory, or other memory. The processor 22 may be a central processing unit or a single-chip microcomputer.
[0385] Example 4:
[0386] This embodiment provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the scheduling method for heterogeneous computing power in the above-mentioned embodiment 1 is implemented.
[0387] The computer-readable storage medium includes volatile or non-volatile, removable or non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, computer program modules or other data). Computer-readable storage media include, but are not limited to, RAM (Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable read only memory), flash memory or other memory technology, CD-ROM (Compact Disc Read-Only Memory), digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer.
[0388] In summary, the heterogeneous computing power scheduling method, device and readable storage medium provided by the embodiments of the present invention are based on a computing power scheduling platform, which first determines the scheduling strategy corresponding to multiple computing power tasks; then generates corresponding virtual instructions according to the scheduling strategy, and the virtual instructions are the instruction form formed after the unified abstraction and standardization of the heterogeneous computing power server instructions, which are used to shield the differences in the underlying architectures of different heterogeneous computing power servers; then converts the virtual instructions into real instructions that are adapted to the target heterogeneous computing power server corresponding to the computing power task; finally, through the real instruction controller corresponding to the real instruction, the real instruction is sent to the target heterogeneous computing power server for execution, wherein each real instruction controller corresponds to a heterogeneous computing power server of a type of architecture. The present invention uses virtual instructions to unify and standardize the instructions of heterogeneous computing power servers, effectively shielding the differences between different underlying architectures, breaking resource silos, and realizing smooth cross-platform scheduling management, so that computing power resources of different architectures can be efficiently integrated and collaboratively utilized. At the same time, the computing power scheduling platform can determine the scheduling strategy based on the situation of multiple computing power tasks, and automatically generate virtual instructions, convert them into real instructions, and send them for execution, realizing automated scheduling of the entire process without excessive human intervention, significantly improving scheduling efficiency. In addition, the computing power scheduling platform adopts a lightweight architecture design, which reduces deployment costs and enhances the reusability of the system. It solves the problems of existing computing power scheduling methods, such as resource silos that make cross-platform scheduling management difficult, lack of automated scheduling capabilities, and complex platform architecture that leads to high deployment costs and difficulty in reuse.
[0389] It will be understood that the above embodiments are merely exemplary embodiments for illustrating the principles of the present invention, and the present invention is not limited thereto. Those skilled in the art will appreciate that various modifications and improvements can be made without departing from the spirit and substance of the present invention, and such modifications and improvements are also considered to be within the scope of protection of the present invention.
Claims
1. A scheduling method for heterogeneous computing power, characterized in that: Applied to a computing power scheduling platform, the method includes: Determine the scheduling strategy corresponding to multiple computing tasks; Generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed after unified abstraction and standardization of heterogeneous computing power server instructions, which are used to mask the differences in the underlying architectures of different heterogeneous computing power servers; Convert the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task; The real instruction is sent to the target heterogeneous computing server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a heterogeneous computing server of a type of architecture.
2. The method according to claim 1, characterized in that Before determining the scheduling strategies corresponding to the plurality of computing tasks, the method further includes: Performing initialization authentication with multiple heterogeneous computing servers of different architectures; wherein the multiple heterogeneous computing servers of different architectures include the target heterogeneous computing server; In response to the initialization authentication being passed, establishing a reliable communication connection with the plurality of heterogeneous computing power servers; Initialization information of each of the heterogeneous computing servers is obtained based on the communication connection, and necessary drivers and application software are deployed in the corresponding heterogeneous computing servers based on the initialization information.
3. The method according to claim 2, characterized in that After deploying necessary drivers and application software in the corresponding heterogeneous computing servers based on the initialization information, the method further includes: Selecting a representative heterogeneous computing server from the plurality of heterogeneous computing servers as a benchmark computing server, and selecting a computationally intensive algorithm as an evaluation algorithm; Executing the evaluation algorithm multiple times on the benchmark computing server, fine-tuning the environment of the benchmark computing server before each execution, and recording multiple key performance indicators during each execution; Generate a comprehensive computing power efficiency evaluation value based on multiple recorded key performance indicators; Calculate the correlation between each of the key performance indicators and the computing power efficiency evaluation value using a statistical method, and determine the weight corresponding to each of the performance indicators based on the magnitude of the correlation coefficient to obtain a computing power energy efficiency calculation formula; The computing power efficiency evaluation values of the other heterogeneous computing power servers except the benchmark computing power server among the multiple heterogeneous computing power servers are calculated based on the computing power energy efficiency calculation formula.
4. The method according to claim 2, characterized in that After deploying necessary drivers and application software in the corresponding heterogeneous computing servers based on the initialization information, the method further includes: Performing algorithm support detection on each of the heterogeneous computing power servers, and evaluating the support capability of each of the heterogeneous computing power servers for the corresponding algorithm model in combination with the requirements of the algorithm model in the algorithm model library; The algorithm supports detection including operation environment check, detection algorithm loading, detection algorithm execution, execution efficiency evaluation, and detection algorithm unloading.
5. The method according to claim 1, wherein The converting the virtual instruction into a real instruction adapted to the target heterogeneous computing server corresponding to the computing task specifically includes: Obtain a pre-built mapping matrix M, wherein the mapping matrix M defines a mapping relationship between virtual instructions and real instructions; Encoding the virtual instructions into an n×1 column vector V, where n is the total number of virtual instructions defined; Perform matrix multiplication on the mapping matrix M and the column vector V to obtain an m×1 column vector Z. Based on the column vector Z, obtain the real instructions of the target heterogeneous computing power server corresponding to the computing power task, where m is the total number of types of heterogeneous computing power servers.
6. The method according to claim 2, characterized in that The method further comprises: Monitor the performance indicator data of each heterogeneous computing server in real time and display it in a visual interface; When the performance indicator data of a certain heterogeneous computing power server reaches a preset threshold, an alarm mechanism is automatically triggered.
7. The method according to claim 1, characterized in that After the real instruction controller corresponding to the real instruction sends the real instruction to the target heterogeneous computing server for execution, the method further includes: Tracking the execution progress of the task program corresponding to the computing task in real time, and collecting the performance data and task execution status data of the task program; When the performance data and / or task execution status data meet preset rules, corresponding events are automatically triggered, and the events include any one of alarm notification, resource adjustment, and task scheduling.
8. The method according to claim 1, characterized in that The computing tasks include inference tasks and training tasks; the scheduling strategies include at least one of the following: task priority strategy, resource allocation strategy, load balancing strategy, elastic scaling strategy, fault recovery strategy, data security strategy, and strategy adjustment and optimization; the method further includes: Modify the parameters in the scheduling strategy according to user needs.
9. A scheduling device for heterogeneous computing power, characterized in that: Set up on the computing power scheduling platform, the device includes: Scheduling strategy determination module, used to determine the scheduling strategies corresponding to multiple computing tasks; A virtual instruction generation module is connected to the scheduling strategy determination module and is used to generate corresponding virtual instructions according to the scheduling strategy. The virtual instructions are instruction forms formed after unified abstraction and standardization of heterogeneous computing power server instructions, and are used to mask the differences in the underlying architectures of different heterogeneous computing power servers. A real instruction conversion module, connected to the virtual instruction generation module, for converting the virtual instruction into a real instruction adapted to the target heterogeneous computing power server corresponding to the computing power task; The real instruction issuing module is connected to the real instruction conversion module and is used to send the real instruction to the target heterogeneous computing power server for execution through the real instruction controller corresponding to the real instruction, wherein each real instruction controller corresponds to a type of heterogeneous computing power server of the architecture.
10. A scheduling device for heterogeneous computing power, characterized in that: The method comprises a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to implement the heterogeneous computing power scheduling method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the heterogeneous computing power scheduling method according to any one of claims 1 to 8.
Citation Information
Cited By
Inference control method, device configuration method, device, equipment, medium and product
CN120725078A