Heterogeneous computing power scheduling method and device, equipment, storage medium and product
By generating device topology diagrams, partition management, task feature analysis and real-time performance data optimization scheduling strategies, the existing heterogeneous computing power scheduling technology cannot flexibly respond to workload changes, and efficient computing resource utilization and task execution efficiency are achieved.
Patent Information
- Application Number
- CN202510273893.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-10
- Publication Date
- 2025-04-08
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing heterogeneous computing power scheduling technologies cannot flexibly cope with real-time changes in workloads, resulting in inefficient utilization of computing resources, some nodes are overloaded while other node resources are idle, and the accuracy of task allocation is low, so it is impossible to select the optimal computing node according to the actual needs of the task.
By generating device topology maps, partition management, analyzing task characteristics, determining nodes to be computed, and generating target scheduling strategies based on real-time performance indicators and historical execution data, ensuring that tasks are allocated to appropriate resources and dynamically adjusting scheduling strategies.
It improves the effect of heterogeneous computing power scheduling, improves the utilization efficiency of computing resources, ensures that tasks can be allocated to appropriate resources, achieves accurate matching of task requirements and computing resources, and improves the overall resource utilization rate and task execution efficiency.
Smart Images

Figure CN119781990A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a heterogeneous computing power scheduling method, device, equipment, storage medium and product. Background Art
[0002] With the rapid development of computing technology, especially in the fields of artificial intelligence, machine learning, and big data processing, the demand for computing resources has increased significantly. The traditional homogeneous computing environment (i.e., all computing nodes are configured with the same resources) can no longer meet the needs of modern complex application scenarios. Heterogeneous computing environments have gradually become mainstream, in which different computing nodes may include various types of computing devices such as GPUs, CPUs, and FPGAs. These devices have different computing capabilities, power consumption, and workload adaptability. How to effectively schedule and manage these heterogeneous resources has become a major technical difficulty. Existing heterogeneous computing power scheduling technologies usually allocate tasks based on static configuration or predefined rules, and cannot flexibly respond to real-time changes in workloads. The following main problems exist: Due to the poor match between computing resource types and task requirements, computing resources in existing systems are often inefficiently utilized, resulting in overload of some nodes and idle resources of other nodes; existing task scheduling strategies mostly rely on fixed scheduling rules, and do not fully consider the characteristics of tasks (such as data volume, computing volume, etc.), resulting in low accuracy of task allocation and failure to select the optimal computing node according to the actual needs of the task; most scheduling methods only perform one-time scheduling based on the initial task parameters and node status, and fail to dynamically adjust based on the real-time performance data of the node. Therefore, when the load fluctuates greatly or the task requirements change, it is difficult for the system to maintain efficient scheduling. Therefore, how to improve the effect of heterogeneous computing power scheduling has become a technical problem that needs to be solved urgently. Summary of the invention
[0003] The main purpose of this application is to provide a heterogeneous computing power scheduling method, device, equipment, storage medium and product, aiming to solve the technical problem of how to improve the effect of heterogeneous computing power scheduling.
[0004] To achieve the above object, the present application provides a heterogeneous computing power scheduling method, which includes the following steps: Generate a device topology map based on the device information in the node resource pool; Performing partition management on computing devices in the device topology map; Based on the partition management results, the computing tasks are parsed through the preset traffic gateway to determine the task request data location, task scale and task characteristics; Determine the node to be calculated according to the task request data location, the task scale and the task characteristics; The tasks to be calculated are distributed to the nodes to be calculated, and a target scheduling strategy is generated based on the real-time performance indicators and historical execution data of the nodes to be calculated.
[0005] In one embodiment, before the step of generating a device topology map based on the device information in the node resource pool, the method further includes: Identify heterogeneous computing devices; Based on the identification result, obtaining hardware information of the heterogeneous computing device, wherein the hardware information includes device type, device model, video memory size, manufacturer information, and device identifier; The hardware information is injected into the node resource pool.
[0006] In one embodiment, after the step of distributing the tasks to be calculated to the nodes to be calculated and generating a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated, the method further includes: Determining target computing resource configuration according to the target scheduling strategy; Based on the target computing resource configuration, adjusting the virtualization configuration of the node to be calculated; Based on the adjusted virtualization configuration, the target scheduling policy is adjusted.
[0007] In one embodiment, after the step of adjusting the target scheduling policy based on the adjusted virtualization configuration, the method further includes: Distribute the to-be-computed tasks to the current computing node based on the adjusted target scheduling strategy; When the task starts to be executed, the performance index of the current computing node and the task execution progress information are obtained; Determine the resource utilization rate and task completion rate of the current computing node according to the performance indicator and the task execution progress information; Comparing the resource utilization rate and the task completion rate with a preset scheduling standard threshold; Based on the comparison results, the adjusted target scheduling strategy is optimized.
[0008] In one embodiment, the step of performing partition management on computing devices in the device topology map includes: Determining the type and resource capabilities of computing devices based on the device topology map; Based on the type and resource capabilities of the computing devices, feature classifying the computing devices; Generate a partitioning strategy based on the result of the feature classification and the application scenario corresponding to the computing device; Based on the partition strategy, the partition management is performed on the computing device.
[0009] In one embodiment, the step of determining the node to be calculated according to the task request data location, the task scale and the task characteristics includes: Determine the node location range based on the task request data location; Based on the task scale, the nodes in the node position range are screened to obtain a screened node set; The nodes in the screening node set are matched with the task features, and the nodes with matching degrees higher than a preset matching threshold are used as the nodes to be calculated.
[0010] In addition, to achieve the above purpose, the present application also proposes a heterogeneous computing power scheduling device, the heterogeneous computing power scheduling device comprising: A topology generation module is used to generate a device topology map based on device information in a node resource pool; A partition management module, used for performing partition management on computing devices in the device topology map; The task parsing module is used to parse the pending computing tasks through the preset traffic gateway based on the partition management results to determine the task request data location, task scale and task characteristics; A node determination module, used to determine the node to be calculated according to the task request data location, the task scale and the task characteristics; The target module is used to distribute the tasks to be calculated to the nodes to be calculated, and generate a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated.
[0011] In addition, to achieve the above-mentioned purpose, the present application also proposes a heterogeneous computing power scheduling device, which includes: a memory, a processor, and a heterogeneous computing power scheduling program stored in the memory and executable on the processor, and the heterogeneous computing power scheduling program is configured to implement the steps of the heterogeneous computing power scheduling method as described above.
[0012] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, on which a heterogeneous computing power scheduling program is stored. When the heterogeneous computing power scheduling program is executed by a processor, the steps of the heterogeneous computing power scheduling method described above are implemented.
[0013] In addition, to achieve the above-mentioned purpose, the present application also proposes a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the heterogeneous computing power scheduling method described above.
[0014] This application generates a device topology map based on the device information in the node resource pool; performs partition management on the computing devices in the device topology map; based on the partition management results, parses the computing tasks to be calculated through the preset traffic gateway to determine the task request data location, task scale and task characteristics; determines the nodes to be calculated based on the task request data location, task scale and task characteristics; distributes the tasks to be calculated to the nodes to be calculated, and generates a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated. This application generates a device topology map so that the system can fully grasp the resource distribution of heterogeneous devices, improves the utilization efficiency of computing resources through partition management, ensures that tasks can be allocated to appropriate resources, and achieves precise matching of task requirements and computing resources through intelligent analysis of tasks. By optimizing the scheduling strategy in combination with real-time performance data, it ensures that the scheduling system can perform scheduling optimization according to the real-time status, improve the overall resource utilization and task execution efficiency, and thus improve the effect of heterogeneous computing power scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a flow chart of the first embodiment of the heterogeneous computing power scheduling method of the present application; Figure 2 This is a schematic diagram of a sub-process in the second embodiment of the heterogeneous computing power scheduling method of this application; Figure 3 This is a schematic diagram of a sub-process in the third embodiment of the heterogeneous computing power scheduling method of this application; Figure 4 This is a schematic diagram of the working principle of heterogeneous computing power scheduling in an embodiment of the heterogeneous computing power scheduling method of this application; Figure 5 This is a schematic diagram of the module structure of the heterogeneous computing power scheduling device according to an embodiment of the present application; Figure 6 This is a schematic diagram of the device structure of the hardware operating environment involved in the heterogeneous computing power scheduling method in the embodiment of the present application.
[0016] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0017] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0018] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0019] It should be noted that with the rapid development of computing technology, especially in the fields of artificial intelligence, machine learning, and big data processing, the demand for computing resources has increased significantly. The traditional homogeneous computing environment (i.e., all computing nodes are configured with the same resources) can no longer meet the needs of modern complex application scenarios. Heterogeneous computing environments have gradually become mainstream, in which different computing nodes may include various types of computing devices such as GPUs, CPUs, and FPGAs. These devices have different computing capabilities, power consumption, and workload adaptability. How to effectively schedule and manage these heterogeneous resources has become a major technical difficulty. Existing heterogeneous computing power scheduling technologies usually allocate tasks based on static configuration or predefined rules, and cannot flexibly respond to real-time changes in workloads. The following main problems exist: Due to the poor match between computing resource types and task requirements, computing resources in existing systems are often inefficiently utilized, resulting in overload of some nodes and idle resources of other nodes; existing task scheduling strategies mostly rely on fixed scheduling rules, and do not fully consider the characteristics of tasks (such as data volume, computing volume, etc.), resulting in low accuracy of task allocation and failure to select the optimal computing node according to the actual needs of the task; most scheduling methods only perform one-time scheduling based on the initial task parameters and node status, and fail to dynamically adjust based on the real-time performance data of the node. Therefore, when the load fluctuates greatly or the task requirements change, it is difficult for the system to maintain efficient scheduling. Therefore, how to improve the effect of heterogeneous computing power scheduling has become a technical problem that needs to be solved urgently.
[0020] The main solution of this application is: based on the device information in the node resource pool, generate a device topology map; partition the computing devices in the device topology map; based on the partition management results, parse the computing tasks through the preset traffic gateway to determine the task request data location, task scale and task characteristics; determine the nodes to be calculated according to the task request data location, task scale and task characteristics; distribute the tasks to be calculated to the nodes to be calculated, and generate a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated.
[0021] This application generates a device topology map so that the system can fully understand the resource distribution of heterogeneous devices, improve the utilization efficiency of computing resources through partition management, ensure that tasks can be allocated to appropriate resources, and achieve accurate matching of task requirements and computing resources through intelligent analysis of tasks. By optimizing the scheduling strategy in combination with real-time performance data, it is ensured that the scheduling system can perform scheduling optimization according to the real-time status, improve the overall resource utilization and task execution efficiency, and thus improve the effect of heterogeneous computing power scheduling.
[0022] It should be noted that the execution subject of the method of this embodiment can be a computing service device with data processing, network communication and program running functions, or it can be the above-mentioned heterogeneous computing power scheduling device with the same or similar functions. This embodiment and the following embodiments will be described by taking the heterogeneous computing power scheduling device as an example.
[0023] Based on this, the first embodiment of the heterogeneous computing power scheduling method of this application is proposed, please refer to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the heterogeneous computing power scheduling method of the present application.
[0024] In this embodiment, the heterogeneous computing power scheduling method includes the following steps: S1: Generate a device topology map based on the device information in the node resource pool; It should be noted that the node resource pool refers to a collection of all computing nodes (such as CPU, GPU, FPGA, etc.) in the system. These nodes can be homogeneous or heterogeneous devices, providing different computing capabilities, memory sizes, network bandwidth and other resources. The node resource pool stores detailed information about each computing node, including device type, hardware parameters, connection status, etc. Device information refers to detailed hardware and software configuration data about each computing node, including device type (such as CPU, GPU, etc.), device model, video memory or memory size, manufacturer information, unique identifier of the device (such as MAC address or device ID), etc. Device information is used to identify and manage each node in the scheduling system. The device topology map is a graphical representation of the physical or logical connection relationship between various computing devices in the system. It not only shows the location and properties of each device, but also displays information such as the communication path, bandwidth, and latency between devices. The topology map helps the scheduling system understand the distribution of resources and the communication efficiency between different devices.
[0025] Specifically, the detailed data of all computing devices involved in scheduling is collected through the device information in the node resource pool. This includes identifying and recording the device information of each node, such as the type of device (CPU, GPU, etc.), hardware configuration (such as memory size, computing power), device operating status, and network connection information (such as bandwidth, latency, etc.). This device information is obtained and summarized into the resource pool through the system's monitoring module or automated detection tools. This process ensures that the system can fully grasp the resource distribution of all computing nodes, providing a basis for subsequent topology map generation.
[0026] Furthermore, a device topology map will be generated based on the collected device information. The process of generating a topology map includes analyzing the physical or logical connection relationship between computing nodes, identifying the connection path, communication capability, and network topology of each node. For example, the communication bandwidth and latency between nodes and their relative positions in the entire computing network will be considered. Based on this information, the system constructs a global view of the device, indicating the interaction relationship and data flow of each computing node. The final generated device topology map can be used for subsequent task scheduling and resource allocation to ensure that each task can be executed according to the optimal resource configuration.
[0027] Generating a device topology map enables the system to have a clear global view of the resource distribution of the entire computing network. This visual resource management method helps the scheduling system quickly identify which node resources are suitable for specific tasks when allocating tasks, optimize resource utilization, and reduce performance bottlenecks caused by unreasonable resource scheduling. Through the device topology map, you can not only understand the resource distribution of each computing node, but also analyze the communication path and efficiency between devices. The scheduling system can select physically closer nodes for computing allocation according to the needs of the task, reduce data transmission delays, and improve the overall execution efficiency of computing tasks.
[0028] S2: performing partition management on the computing devices in the device topology map; It should be noted that computing devices refer to hardware resources that can perform computing tasks, including various heterogeneous devices such as CPU, GPU, FPGA, etc. Each device has different characteristics in terms of computing power, energy consumption, bandwidth, etc., and is suitable for different types of computing tasks. Partition management refers to the classification and division of computing devices according to certain standards (such as device type, task type, computing load, etc.) to form different resource partitions. Each partition can provide dedicated computing resources for a certain type of task or load, thereby improving the rationality of resource allocation and system performance.
[0029] Specifically, all computing devices in the device topology map are classified. Based on the characteristics of each device (such as computing power, memory, bandwidth, etc.) and the connection information between devices (such as network latency, bandwidth, etc.), the system will perform preliminary partition classification on the devices. The classification of devices is based on the requirements of the tasks. For example, high-performance computing tasks may be assigned to GPU partitions, while low-energy tasks may be assigned to CPU partitions. This process ensures that the capabilities of different computing devices are fully utilized and avoids unreasonable resource usage.
[0030] Furthermore, a partition management strategy is generated based on the characteristics of the device and the task type, and the computing device is partitioned. These partitions usually contain different categories, such as dedicated partitions (resources reserved for specific tasks or high-priority tasks) and shared partitions (allowing multiple tasks to share resources). Partition management also needs to consider task load balance and resource utilization to ensure that resources in different partitions are reasonably allocated and used efficiently. The partition strategy is dynamically adjusted according to different task characteristics to cope with changes in task requirements.
[0031] By partitioning the computing devices in the device topology, the system can reasonably allocate resources according to the characteristics of the devices and the requirements of the tasks, thereby reducing the waste of resources. Dedicated partitions can ensure the performance of high-priority tasks, while shared partitions can improve resource utilization, especially when processing multiple tasks. Partition management can ensure that each task is assigned to the computing resources that best suit its characteristics, reducing resource contention and performance bottlenecks during task execution. By intelligently allocating device resources, the system can dynamically adjust the partitioning strategy according to changes in task load, thereby improving the overall computing efficiency and task execution speed of the system.
[0032] S3: Based on the partition management results, the preset traffic gateway is used to analyze the computing task to determine the task request data location, task scale, and task characteristics; It should be noted that the partition management result is the resource configuration and allocation information after the computing device is partitioned. It includes the computing device category, resource status (such as available CPU, GPU, storage, etc.) of each partition, and the load of tasks in the partition. The partition management result is used to guide the system to select appropriate resources when scheduling tasks. The traffic gateway is a component used to parse, manage and schedule task traffic. When the task enters the system, it identifies and analyzes the task and routes it to the most suitable computing resource according to the characteristics of the task. The traffic gateway also manages data transmission to ensure efficient data interaction between tasks and devices. The location of task request data refers to the storage location of the data required for task execution. During the execution of the task, a large amount of data needs to be accessed. The location of the data storage and the physical distance or network connection of the computing node will directly affect the execution efficiency of the task. The task scale refers to the size or complexity of the computing task, which is usually measured by the amount of data and the required computing resources (such as CPU time, memory, bandwidth, etc.). The task scale affects the resource requirements of the task when it is executed. Task characteristics are the specific attributes or requirements of the task, including the computing type (such as computing intensive, I / O intensive), delay sensitivity, priority, etc. The characteristics of a task determine the computing resources it requires when executing.
[0033] Specifically, the resource configuration information of the currently available computing devices is obtained through the partition management results. The status, current load, and connection relationship of the computing resources (such as CPU, GPU, memory, etc.) in each partition have been recorded by the partition management system. The system will make preliminary computing resource matching preparations for upcoming tasks based on the resource configuration of these partitions. The preset traffic gateway will receive the tasks to be calculated and analyze which partitions the tasks can be assigned to based on the partition management results.
[0034] Furthermore, the data storage location that needs to be accessed is extracted from the task, and the computing node partition that is closest to the data storage location or has the best data transmission path is selected based on the device topology map and partition management results. The traffic gateway selects the partition that can meet the task computing requirements based on the computing scale of the task (such as the amount of data, the required computing resources) and the partition management results. At this time, the system will exclude partitions with insufficient resources or excessive load to ensure that the task is not assigned to a device with limited performance. The computing requirements of the task are determined by analyzing the task characteristics. For example, computing-intensive tasks give priority to partitions with high-performance GPUs, while I / O-intensive tasks will choose partitions with excellent I / O performance. By combining the partition management results and the task parsing capabilities of the traffic gateway, the system can find the best computing resource partition for the task to ensure that system resources can be efficiently used when the task is executed.
[0035] Based on the partition management results and task analysis of the traffic gateway, the system can more accurately match the appropriate computing resources for each task. By analyzing the request data location, task scale, and task characteristics of the task, the system can avoid tasks being assigned to inappropriate partitions, reduce computing resource waste, and improve resource utilization. By analyzing the characteristics of the task through the traffic gateway and combining the partition management results, the system can dynamically select the optimal resource allocation path. Especially for complex tasks, parsing the data location and characteristics of the task and ensuring that the task is assigned to a device that matches its needs can significantly reduce task execution time and improve the computing efficiency of the overall system.
[0036] S4: determining a node to be calculated according to the task request data location, the task scale and the task characteristics; It should be noted that the node to be computed refers to the computing node selected to perform a specific task. Each computing node has different computing capabilities, storage resources and network connections, and the task will be dynamically assigned to the appropriate node according to its needs.
[0037] Specifically, the potential computing node set is determined based on the data location of the task request. By analyzing the data location of the task, the computing nodes that are physically close to the data storage location or have a better network topology are selected. This step is to ensure that data can be transmitted quickly during the task execution process and reduce the delay of data transmission. The system will prioritize those computing nodes that have poor network connection or high latency to the task data location to ensure that the task is assigned to the node that can access the data efficiently.
[0038] Furthermore, the optimal computing node is further determined from the selected node set in combination with the task scale and task characteristics. For large-scale tasks, the system will give priority to nodes with strong computing capabilities (such as nodes with more CPU cores or GPU resources) to ensure that these tasks can obtain sufficient computing resources for efficient processing. For small-scale tasks with low computing requirements, the system will select nodes with moderate resources and low load to avoid excessive occupation of resources of high-performance computing nodes. Task characteristics will also affect the selection of nodes. For example, for I / O-intensive tasks, the system will give priority to nodes with high-speed storage or high-speed network connections; for computing-intensive tasks, the system will give priority to computing nodes with strong processing capabilities. After determining the appropriate nodes to be computed, the tasks are assigned to the selected nodes, and their execution process is monitored to ensure efficient use of computing resources and smooth completion of tasks.
[0039] By analyzing the location of task request data and selecting computing nodes that are closer, the system can reduce network delays during data transmission, thereby improving the overall efficiency of task execution. The data required for task execution can be delivered to the computing nodes more quickly, reducing waiting time. By selecting the most suitable computing nodes based on task scale and task characteristics, the system can maximize resource utilization. Large-scale tasks can be assigned to high-performance computing nodes, and small-scale tasks can be assigned to moderate nodes, thereby avoiding resource waste and ensuring that computing power matches task requirements. The system can intelligently select the optimal computing node through a comprehensive analysis of the location, scale, and characteristics of task data. Compared with simple static scheduling, this solution can make more accurate resource allocation based on the actual needs of the task and the dynamic state of resources, thereby improving the overall performance and response speed of the system.
[0040] S5: Distribute the tasks to be calculated to the nodes to be calculated, and generate a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated.
[0041] It should be noted that the task to be calculated refers to the specific computing task that has been analyzed and resolved by the scheduling system and determined to be executed. Tasks may include data processing, machine learning model training, data analysis and other computing-intensive or I / O-intensive operations. The node to be calculated is the computing resource node selected by the scheduling system according to the task requirements (such as task scale, task characteristics, data location). These nodes can be different types of computing devices such as CPU, GPU, FPGA, etc. Real-time performance indicators refer to the resource usage of the current computing node, including dynamic data such as CPU / GPU utilization, memory usage, network bandwidth, I / O load, etc. These indicators reflect the operating status of the node during the task execution process. Historical execution data refers to the performance data of the computing node when executing similar tasks in the past, including task execution time, resource consumption, task failure rate, data transmission efficiency, etc. These data can help the scheduling system predict the future performance of the node and provide a basis for the scheduling strategy. The target scheduling strategy is the optimal task allocation and resource management solution generated based on the current task requirements, node performance indicators and historical execution data. This strategy determines how tasks are executed on different nodes, how to balance the load, and how to dynamically adjust task execution according to the status of the node.
[0042] Specifically, the parsed tasks to be calculated are distributed to the selected nodes to be calculated. The task distribution process is usually completed through the task allocation module of the scheduling system, and the tasks are packaged and sent to the target node. At this time, the system will combine the task characteristics (such as data processing requirements, computational complexity, etc.) with node resources (such as computing power, memory size) to ensure that the task is effectively executed.
[0043] Furthermore, during the execution of the task, the real-time performance indicators of the nodes to be calculated are collected through the monitoring module, including the usage of resources such as CPU, GPU, memory, and I / O. These performance indicators help the system to grasp the load status of the node in real time, ensuring that the task will not be interrupted or delayed due to node resource overload. At the same time, the system will refer to the historical execution data of the node, such as the execution time and resource consumption of similar tasks on the node, to predict the execution performance of the current task. Based on real-time and historical data, the system will dynamically generate a target scheduling strategy, which determines how the current task continues to execute and whether it is necessary to adjust resource configuration or task priority. If the real-time performance indicators show that the node resources are tight or the task load is too heavy, the system will re-evaluate the execution of the task according to the target scheduling strategy, and may dynamically adjust the execution node of the task, or schedule more resources in the system according to the priority of the task to ensure that the task is completed on time.
[0044] By combining real-time performance indicators with historical execution data, the system can intelligently determine the current status of the node to be calculated, and adjust tasks or reallocate resources when the node load is too high. This dynamic scheduling strategy can avoid overloading of a single node or task delay, thereby improving the overall load balance and execution efficiency of the system. In the task distribution process, historical data will be referenced to select nodes that have performed well in similar tasks in the past. With the reference of this historical data, the system can make more accurate scheduling decisions to ensure that tasks can be efficiently executed on the most appropriate nodes, thereby improving the utilization of computing resources. The combination of real-time performance indicators and historical data enables the system to have a high degree of adaptability. The system can dynamically adjust the scheduling strategy based on the actual performance of the node to ensure the optimal configuration of computing resources, thereby improving the system's response speed and task processing capabilities.
[0045] This embodiment generates a device topology map based on the device information in the node resource pool; performs partition management on the computing devices in the device topology map; based on the partition management results, analyzes the computing tasks to be calculated through the preset traffic gateway to determine the task request data location, task scale and task characteristics; determines the nodes to be calculated according to the task request data location, task scale and task characteristics; distributes the tasks to be calculated to the nodes to be calculated, and generates a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated. This embodiment generates a device topology map so that the system can fully grasp the resource distribution of heterogeneous devices, improves the utilization efficiency of computing resources through partition management, ensures that tasks can be allocated to appropriate resources, and achieves accurate matching of task requirements and computing resources through intelligent analysis of tasks. By optimizing the scheduling strategy in combination with real-time performance data, it ensures that the scheduling system can perform scheduling optimization according to the real-time status, improve the overall resource utilization and task execution efficiency, and thus improve the effect of heterogeneous computing power scheduling.
[0046] Based on the above first embodiment, a second embodiment of the heterogeneous computing power scheduling method of the present application is proposed. Figure 2 , Figure 2 This is a schematic diagram of a sub-process in the second embodiment of the heterogeneous computing power scheduling method of the present application.
[0047] like Figure 2 As shown, in this embodiment, before step S1, the following steps are also included: S1a: Identify heterogeneous computing devices; S1b: Based on the identification result, obtaining hardware information of the heterogeneous computing device, wherein the hardware information includes device type, device model, video memory size, manufacturer information, and device identifier; S1c: injecting the hardware information into the node resource pool.
[0048] It should be noted that identification refers to the automatic detection and identification of computing devices connected to the system. The identification process usually involves detecting the type, function, and configuration of the device so that the system can manage and utilize these devices for task allocation. Hardware information refers to the detailed configuration parameters of each device, such as device type (CPU, GPU, etc.), device model (specific hardware version), video memory size (especially the video memory capacity of the GPU), vendor information (manufacturer), and the device's unique identifier (such as device ID or serial number). This information is used by the system to understand the performance and capabilities of each device when allocating tasks.
[0049] Specifically, all heterogeneous computing devices connected to the computing platform are identified. In this process, the system scans the network or device interface, automatically detects the device and identifies its type and function. Through device management tools or automatic detection tools, the system can collect basic information about the device, such as device type (CPU, GPU, FPGA, etc.), physical location, and connection status. This process ensures that the system can identify all available computing devices, regardless of their architecture or purpose.
[0050] Furthermore, detailed hardware information of heterogeneous computing devices is obtained based on the identification results. Hardware information includes the type of device (such as CPU, GPU), the model of the device (such as the specific GPU version), the size of the video memory (especially important for GPUs, because the video memory determines the upper limit of its processing data), the manufacturer information of the device, and the unique identifier of the device (such as the device ID or serial number). This information can help the system understand the performance and configuration of the device and ensure that the appropriate device can be selected to perform the task when the task is assigned. After completing the identification and information acquisition, the system will inject all the collected hardware information into the node resource pool for unified management and scheduling. In the resource pool, the hardware information of each node will be recorded for the system to query and refer to when assigning tasks. Through this process, the system can ensure that it has a comprehensive understanding of the capabilities and load conditions of each node, thereby providing an accurate basis for subsequent task scheduling.
[0051] By identifying and obtaining detailed hardware information, the system can fully understand the performance characteristics of each heterogeneous computing device, such as computing power, video memory size, etc. This enables the system to make more accurate resource allocations during task scheduling, thereby improving task execution efficiency and avoiding tasks being assigned to inappropriate devices. After injecting hardware information into the node resource pool, these heterogeneous devices can be scheduled and managed in real time. During the task allocation process, the system can select the most suitable device to perform tasks based on the specific performance and load of the device, thereby improving the overall computing efficiency and resource utilization of the system and reducing resource waste. Through automated identification and information acquisition, new heterogeneous computing devices can be easily integrated without manual configuration or adjustment. This flexibility allows the system to quickly adapt to changes and maintain efficient operation when computing devices are upgraded or new devices are added.
[0052] Based on the first embodiment above, after step S5, the method further includes: S5a: Determine target computing resource configuration according to the target scheduling strategy; S5b: Based on the target computing resource configuration, adjust the virtualization configuration of the node to be calculated; S5c: Based on the adjusted virtualization configuration, adjust the target scheduling policy.
[0053] It should be noted that the target scheduling strategy is the optimal scheduling solution generated by the system based on task requirements, real-time performance of computing nodes, and historical execution data. This strategy determines how tasks should be allocated to computing nodes, and dynamically adjusts according to the node load to ensure that the execution efficiency and resource utilization of tasks are maximized. Target computing resource configuration refers to the specific computing resources allocated according to the target scheduling strategy, such as the number of CPU cores, the number of GPUs, the size of memory, etc. The allocation of these resources determines the execution environment of each task on the computing node, ensuring that the resource allocation matches the requirements of the task. Virtualization configuration refers to the resource configuration allocated to each task or virtual machine on the physical computing node through virtualization technology. Virtualization allows multiple tasks or virtual machines to share computing resources on the same physical node. Adjusting the virtualization configuration can dynamically change the computing resources of a virtual machine or task, such as adjusting the allocation of CPU, memory, storage, and network bandwidth.
[0054] Specifically, the target computing resource configuration is determined based on the target scheduling policy. The target scheduling policy is generated by the system based on the task requirements (such as computing-intensive or I / O-intensive tasks), the real-time performance indicators of the computing nodes (such as the CPU and GPU load) and the historical execution data. Through this policy, the system can clearly define the resource configuration required for each task on the node to be computed, such as how many CPU cores, memory, GPU, etc. are required. This step ensures that there are sufficient computing resources to support the task execution. According to the determined target computing resource configuration, the virtualization configuration of the node to be computed is adjusted. The virtualization configuration allows physical computing resources to be flexibly allocated to multiple tasks or virtual machines. At this time, the system will ensure that the resources obtained by each task match the target scheduling policy by adjusting the virtualization configuration (such as allocating more CPU cores or increasing memory). If the task load on the node changes, the system can dynamically adjust the virtualization configuration to ensure the best utilization of node resources and smooth task execution.
[0055] Furthermore, based on the adjusted virtualization configuration, the target scheduling strategy is further optimized. After adjusting the virtualization configuration, the actual effect of task execution is monitored in real time, and feedback and optimization of the target scheduling strategy are performed. If the adjusted configuration cannot achieve the expected performance or the task load has new changes, the system can dynamically adjust the scheduling strategy, further modify the resource allocation of the task or reselect the computing node to ensure that the system is always in the best operating state.
[0056] By determining the target computing resource configuration according to the target scheduling strategy, the system can ensure that the resource requirements of each task match the capabilities of the computing nodes. By adjusting the virtualization configuration, the system can flexibly allocate physical computing resources to optimize task execution. The dynamic nature of resource configuration improves the utilization of computing resources and reduces resource waste. The virtualization configuration can be adjusted in real time according to changes in task load. This allows tasks to adjust resource allocation according to actual needs and ensure that tasks are always in an efficient state during execution. Whether resources increase or decrease, they can respond flexibly to ensure efficient execution of tasks, which is particularly suitable for scenarios with frequent load changes. By optimizing the target scheduling strategy after adjusting the virtualization configuration, the system can continuously self-adjust and optimize the scheduling strategy according to the actual execution results. This adaptability enables the scheduling system to continuously optimize the allocation of computing resources, thereby improving the response speed and stability of the entire system, which is particularly important in heterogeneous computing environments.
[0057] This embodiment generates a device topology map based on the device information in the node resource pool; performs partition management on the computing devices in the device topology map; based on the partition management results, analyzes the computing tasks to be calculated through the preset traffic gateway to determine the task request data location, task scale and task characteristics; determines the nodes to be calculated according to the task request data location, task scale and task characteristics; distributes the tasks to be calculated to the nodes to be calculated, and generates a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated. This embodiment generates a device topology map so that the system can fully grasp the resource distribution of heterogeneous devices, improves the utilization efficiency of computing resources through partition management, ensures that tasks can be allocated to appropriate resources, and achieves accurate matching of task requirements and computing resources through intelligent analysis of tasks. By optimizing the scheduling strategy in combination with real-time performance data, it ensures that the scheduling system can perform scheduling optimization according to the real-time status, improve the overall resource utilization and task execution efficiency, and thus improve the effect of heterogeneous computing power scheduling.
[0058] Based on the above second embodiment, a third embodiment of the heterogeneous computing power scheduling method of the present application is proposed. Figure 3 , Figure 3 This is a schematic diagram of a sub-process in the third embodiment of the heterogeneous computing power scheduling method of the present application.
[0059] In this embodiment, after step S5c, the method further includes: S5d: Distribute the to-be-computed task to the current computing node based on the adjusted target scheduling strategy; S5e: When the task starts to be executed, the performance index of the current computing node and the task execution progress information are obtained; S5f: Determine the resource utilization rate and task completion rate of the current computing node according to the performance indicator and the task execution progress information; S5g: comparing the resource utilization rate and the task completion rate with a preset scheduling standard threshold; S5h: Based on the comparison result, the adjusted target scheduling strategy is optimized.
[0060] It should be noted that performance indicators refer to the resource usage of the current computing node, including CPU utilization, memory usage, I / O load, network bandwidth, etc. These indicators can reflect the current load status and resource usage of the node. The current computing node refers to the physical computing device or virtualized environment that has been selected by the scheduling system and assigned to the task to be calculated. The node is responsible for executing a specific task, which may include computing resources such as CPU and GPU. Task execution progress information refers to the running status of the current task, which is usually measured by the percentage of task completion, execution time, task response time, etc. It can reflect how much time or resource requirements are left for the task to be completed. Resource utilization refers to the computing resource utilization of the current computing node, such as the utilization of CPU, GPU, memory, etc. High resource utilization means that the node resources are fully utilized; low utilization may indicate resource waste or unreasonable task allocation. Task completion rate refers to the progress of the task to be calculated, which is usually measured by the execution progress or remaining time of the task. The task completion rate can reflect the execution speed of the task and the remaining amount of the task to be completed. The preset scheduling standard thresholds are pre-set performance standards for task scheduling and resource allocation, including the upper and lower limits of resource utilization, the minimum requirements for task completion rate, etc. The task execution is compared with these thresholds to determine the effectiveness of the current scheduling strategy.
[0061] Specifically, based on the adjusted target scheduling strategy, the tasks to be calculated are distributed to the current computing node. According to the previously optimized scheduling strategy, the system passes the tasks and related data to the specified computing node to ensure that the task can be efficiently executed using the resources on the node. The scheduling system will reasonably allocate the tasks to be calculated to the computing nodes according to the resource configuration of the nodes, such as CPU, memory, and network bandwidth. When the task starts to execute, the system will obtain the performance indicators and task execution progress information of the current computing node through the monitoring module. The performance indicators reflect the resource usage of the current node (such as CPU utilization, memory usage, I / O load, etc.), while the task execution progress information reflects the current progress of the task, such as the percentage completed and the estimated remaining time. Through these two data, the health of task execution and the efficiency of resource usage can be monitored in real time.
[0062] Furthermore, the resource utilization and task completion rate of the current computing node are determined based on the performance indicators and the task execution progress information. Resource utilization is usually obtained by calculating the usage of resources such as CPU, memory, I / O, and the task completion rate is calculated based on the progress information of task execution. The system compares the resource utilization and task completion rate with the preset scheduling standard thresholds. The threshold can be a system-defined resource utilization standard, such as the resource utilization rate should reach more than 80%, and the task completion rate should meet the established timeline. Based on the comparison results, the adjusted target scheduling strategy is optimized. If the resource utilization rate is too low or the task completion rate does not meet the standard, the current scheduling strategy is re-evaluated and necessary adjustments are made. For example, the system may reallocate tasks to nodes with lower resource utilization, or adjust the priority and resource allocation of tasks to ensure that the tasks can be completed within the specified time and that resources are fully utilized.
[0063] By real-time monitoring of the performance indicators of the current computing nodes and the progress of task execution, the system can ensure that resources are fully utilized and avoid resource waste or task execution delays. When resource utilization or task completion rate does not meet the standard, the system can quickly make adjustments to ensure the smooth completion of the task. By comparing the resource utilization and task completion rate of the node with the preset standard, problems in the scheduling strategy can be discovered in a timely manner. By dynamically optimizing the scheduling strategy, the system can ensure that each task is allocated the most suitable resources, and adjust resource allocation in real time according to the actual execution of the task, thereby improving the flexibility and efficiency of task execution. Based on real-time monitoring of the actual execution situation, the system can flexibly adjust resource configuration and task allocation plans. By continuously optimizing the scheduling strategy, the system can ensure that tasks can obtain the best resources in various scenarios, improve the accuracy and flexibility of task scheduling, and thus improve the computing efficiency and responsiveness of the entire system.
[0064] Based on the above second embodiment, in this embodiment, step S2 includes: S21: Determine the type and resource capability of the computing device based on the device topology map; S22: Based on the type and resource capability of the computing device, feature classify the computing device; S23: generating a partitioning strategy based on the result of the feature classification and the application scenario corresponding to the computing device; S24: Based on the partition strategy, perform the partition management on the computing device.
[0065] It should be noted that resource capability refers to the hardware performance parameters of each computing device, such as the number of cores and main frequency of the CPU, the memory size and computing power of the GPU, as well as the I / O bandwidth and network connection speed. Resource capability determines the scale and efficiency of the tasks that the device can handle. Feature classification is to group and classify devices according to the type and resource capability of the computing device in order to better understand the types of tasks they are suitable for processing. For example, devices with high computing power are classified as devices that prioritize computing-intensive tasks, while low-power devices may be classified as devices suitable for processing lightweight tasks. Application scenarios refer to the computing environment and resources required for different types of tasks. For example, machine learning model training is a computing-intensive application, while data processing may be an I / O-intensive application. In different scenarios, the system requires different computing devices to optimize task execution. Partition strategy is a resource partitioning scheme generated based on the feature classification of computing devices and application scenarios. Partition strategy determines which computing devices are assigned to which task types, ensuring the best match between tasks and devices, thereby improving resource utilization and task execution efficiency.
[0066] Specifically, based on the device topology map, determine the type and resource capabilities of the computing device. The device topology map provides the distribution and connection status of all computing devices in the entire system. The system determines the type of each computing device (such as CPU, GPU, FPGA, etc.) and obtains its resource capabilities (such as the number of CPU cores, GPU memory size, memory capacity, network bandwidth, etc.) by parsing the topology map. This step helps the system fully understand the hardware configuration and performance capabilities of each device, laying the foundation for subsequent device partitioning and task allocation. Based on the type and resource capabilities of the computing device, the computing devices are characterized and classified. Different devices are divided into different categories according to their performance characteristics. For example, computing-intensive tasks are preferentially assigned to high-performance GPUs, I / O-intensive tasks may be preferentially assigned to nodes with high-speed storage, and low-power tasks may be assigned to low-load CPU nodes. Through feature classification, the system can clearly know which devices are suitable for processing which types of tasks.
[0067] Furthermore, a partitioning strategy is generated based on the result of feature classification and the application scenario corresponding to the computing device. The generation of the partitioning strategy depends on the matching of device features and task requirements. According to the characteristics of the device and the requirements of the application scenario (such as high-performance computing, data processing, storage-intensive tasks, etc.), the device is divided into different resource partitions to ensure that the devices in each partition can meet the requirements of the assigned task type. Based on the partitioning strategy, the computing device is partitioned and managed. According to the generated partitioning strategy, different types of computing devices are assigned to the corresponding partitions. Each partition will be optimized and managed according to the type of task and the characteristics of the device to ensure that the task is assigned to the appropriate device resources and improve the efficiency of task execution. At the same time, partition management can ensure that the system can reasonably allocate resources when the load increases to avoid overload or idle resources.
[0068] Through feature classification and partition management based on device type and resource capabilities, the system can better match tasks and resources, ensure that computing devices are used reasonably, and avoid inefficient use or excessive load. At the same time, this strategy can flexibly allocate resources according to task requirements and improve resource utilization. Based on the partition strategy generated by the application scenario, the system can assign specific types of tasks to the most suitable devices. For example, compute-intensive tasks can be assigned to the GPU, while I / O-intensive tasks are assigned to devices with high bandwidth, thereby optimizing the execution efficiency of tasks and reducing task execution time. Partition management enables the system to dynamically adapt to the needs of different tasks. The system can adjust the partition strategy according to the real-time workload to ensure load balancing. Through this flexible partition management, the system can quickly make adjustments as computing devices increase or decrease to maintain efficient operation of the system.
[0069] Based on the above second embodiment, in this embodiment, step S4 includes: S41: Determine a node location range based on the task request data location; S42: Based on the task scale, the nodes in the node position range are screened to obtain a screened node set; S43: Match the nodes in the screening node set with the task features, and use the nodes with a matching degree higher than a preset matching threshold as the nodes to be calculated.
[0070] It should be noted that the node location range refers to the physical or network location of the potential computing nodes determined based on the task data location. The nodes in the node location range have lower network latency or higher bandwidth than the task data storage location, and can transmit the data required for the task more quickly. The filtered node set refers to the set of nodes that can meet the task execution requirements, which are filtered out from the node location range based on the task scale and resource requirements. These nodes have sufficient computing resources, bandwidth, and memory to support the normal execution of the task. Task characteristics refer to the specific attributes of the task, such as the computing type (such as computing intensive or I / O intensive), tolerance for latency, and task priority. Task characteristics determine the performance requirements of the task for the node. The preset matching threshold is the minimum requirement set in the system, which is used to determine whether the matching degree between the node and the task meets the execution conditions. Only when the matching degree between the node and the task characteristics is higher than the preset threshold, the node will be selected as the node to be computed for the task.
[0071] Specifically, the node location range is determined based on the task request data location. The task request data location may be located in a database, distributed file system, or cloud storage. The system will select nodes with a lower physical distance or network latency to the data as preliminary candidate nodes based on the data location. The purpose of this step is to optimize the data transmission efficiency during task execution and try to select computing nodes that are close to the task data location to reduce the time and bandwidth consumption for data transmission. Based on the task scale, the nodes in the node location range are filtered to obtain a filtered node set. The task scale determines the computing resources and network bandwidth required for the task. For example, large-scale tasks may require more CPU cores, higher memory, or more powerful GPUs. Therefore, the system will filter out nodes that meet the task scale requirements based on parameters such as the current load, available resources, and network bandwidth of each node. These nodes will be placed in the filtered node set as potential nodes to be calculated.
[0072] Furthermore, the nodes in the filtered node set are matched with the task characteristics. Task characteristics (such as compute-intensive, I / O-intensive, low latency, etc.) are matched with the resource characteristics of the node (such as CPU performance, storage performance, network latency) to ensure that the task can be efficiently executed on the node that meets its requirements. The system calculates the matching degree of each node with the task characteristics, and selects the nodes with a matching degree higher than the preset matching threshold as the nodes to be calculated. This process ensures that only those nodes that can truly meet the specific requirements of the task can ultimately be selected as the nodes to execute the task, thereby improving the efficiency of task execution and resource utilization.
[0073] By determining the node location range based on the location of the task request data, the system can select nodes that are physically closer to the data location or have better network connections, reducing the time and bandwidth consumption of data transmission and improving the efficiency of task execution. By screening nodes based on the task scale, the system can select nodes that can meet the computing, storage and bandwidth requirements according to the resource requirements of the task. This screening process ensures that the task can be executed on nodes with sufficient resources, avoiding resource shortages or overload problems during task execution. By matching the screened nodes with task characteristics, the system can ensure that the task is executed on the most suitable node. Nodes with high matching can better meet the specific needs of the task, such as computing-intensive tasks will be assigned to nodes with strong computing capabilities, while I / O-intensive tasks will be assigned to nodes with high-speed storage and networks. By setting a preset matching threshold, the system can automatically filter out nodes that do not meet the task requirements to ensure the efficiency of task execution and the effective use of resources. The process of screening and matching nodes based on the location, scale and characteristics of task data is highly flexible and adaptive. Whether it is a change in network topology or a dynamic change in task load, the system can quickly adjust the task allocation method to ensure that computing resources are optimally utilized, further improving the overall performance of the system.
[0074] This embodiment generates a device topology map based on the device information in the node resource pool; performs partition management on the computing devices in the device topology map; based on the partition management results, analyzes the computing tasks to be calculated through the preset traffic gateway to determine the task request data location, task scale and task characteristics; determines the nodes to be calculated according to the task request data location, task scale and task characteristics; distributes the tasks to be calculated to the nodes to be calculated, and generates a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated. This embodiment generates a device topology map so that the system can fully grasp the resource distribution of heterogeneous devices, improves the utilization efficiency of computing resources through partition management, ensures that tasks can be allocated to appropriate resources, and achieves accurate matching of task requirements and computing resources through intelligent analysis of tasks. By optimizing the scheduling strategy in combination with real-time performance data, it ensures that the scheduling system can perform scheduling optimization according to the real-time status, improve the overall resource utilization and task execution efficiency, and thus improve the effect of heterogeneous computing power scheduling.
[0075] For example, to help understand the technical concept or technical principle of the heterogeneous computing power scheduling method of the above embodiment, please refer to Figure 4 , Figure 4 This is a schematic diagram of the working principle of heterogeneous computing power scheduling in one embodiment of the heterogeneous computing power scheduling method of the present application.
[0076] like Figure 4As shown, in this embodiment, the Ingerss gateway is the entry point for all task submissions. When traffic arrives, the gateway will do a basic analysis of the task type. For example, for data processing types, it is necessary to parse out the location of the requested data, the data scale, the characteristics of the data, and other indicators, and pass them to the scheduling system, which specifies the best task processing node; the monitoring system uniformly collects the indicators of the gateway and processing nodes, and provides a standard monitoring query interface for the scheduling system; the relationship between the computing power and storage on the GPU node is also used as a parameter of the scheduling algorithm. When the computing power is sufficient, the computing power and storage are scheduled to the same node partition as much as possible; the traffic gateway records the routing of the workload, the assigned node, the response time, the returned status code, etc., and exposes the corresponding indicators as a monitoring interface for the monitoring system to collect; a Javascript-based method is provided to provide relevant indicators of the gateway and node in the context for the scheduling system to score the node, flexibly define the scheduling algorithm, and achieve more flexible and accurate scheduling.
[0077] The present application also provides a heterogeneous computing power scheduling device, please refer to Figure 5 , Figure 5 This is a schematic diagram of the module structure of a heterogeneous computing power scheduling device according to an embodiment of the present application. The heterogeneous computing power scheduling device includes: A topology generation module 501 is used to generate a device topology map based on device information in a node resource pool; A partition management module 502, used to perform partition management on computing devices in the device topology map; The task analysis module 503 is used to analyze the pending computing task through the preset traffic gateway based on the partition management result to determine the task request data location, task scale and task characteristics; The node determination module 504 is used to determine the node to be calculated according to the task request data location, the task scale and the task characteristics; The target module 505 is used to distribute the tasks to be calculated to the nodes to be calculated, and generate a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated.
[0078] The heterogeneous computing power scheduling device provided in the embodiment of the present application adopts the heterogeneous computing power scheduling method in the above embodiment, which can solve the technical problem of how to improve the effect of heterogeneous computing power scheduling. Compared with the prior art, the beneficial effects of the heterogeneous computing power scheduling device provided in the embodiment of the present application are the same as the beneficial effects of the heterogeneous computing power scheduling method provided in the above embodiment, and the other technical features in the heterogeneous computing power scheduling device are the same as the features disclosed in the above embodiment method, which will not be repeated here.
[0079] The present application provides a heterogeneous computing power scheduling device, which includes: at least one processor; and a memory that is communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the heterogeneous computing power scheduling method in the above-mentioned embodiment.
[0080] Reference below Figure 6 , Figure 6 This is a schematic diagram of the device structure of the hardware operating environment involved in the heterogeneous computing power scheduling method in the embodiment of the present application, which shows a schematic diagram of the structure of a heterogeneous computing power scheduling device suitable for implementing the embodiment of the present application. Figure 6 The heterogeneous computing power scheduling device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0081] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. When the computer program is executed by the processing device 1001, the above functions defined in the method of the embodiments disclosed in the present application are executed.
[0082] The heterogeneous computing power scheduling device provided by this application adopts the heterogeneous computing power scheduling method in the above embodiment, which can solve the technical problem of how to improve the effect of heterogeneous computing power scheduling. Compared with the prior art, the beneficial effects of the heterogeneous computing power scheduling device provided by this application are the same as the beneficial effects of the heterogeneous computing power scheduling method provided by the above embodiment, and the other technical features in the heterogeneous computing power scheduling device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0083] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0084] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0085] The present application provides a computer-readable storage medium having computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the heterogeneous computing power scheduling method in the above-mentioned embodiment.
[0086] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the heterogeneous computing power scheduling device, the heterogeneous computing power scheduling device generates a device topology map based on the device information in the node resource pool; performs partition management on the computing devices in the device topology map; analyzes the task to be calculated through the preset traffic gateway based on the partition management result, determines the task request data location, task scale and task characteristics; determines the node to be calculated according to the task request data location, the task scale and the task characteristics; distributes the task to be calculated to the node to be calculated, and generates a target scheduling strategy based on the real-time performance indicators and historical execution data of the node to be calculated. The computer program code for performing the operation of the present application can be written in one or more programming languages or a combination thereof, and the programming language includes an object-oriented programming language such as Java, Smalltalk, C++, and a conventional procedural programming language such as "C" language or similar programming language. The program code can be executed completely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or it can be connected to an external computer (for example, through the Internet using an Internet service provider).
[0087] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0088] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0089] The readable storage medium provided in this application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned heterogeneous computing power scheduling method, and can solve the technical problem of how to improve the effect of heterogeneous computing power scheduling. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the heterogeneous computing power scheduling method provided in the above-mentioned embodiment, and will not be repeated here.
[0090] An embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the heterogeneous computing power scheduling method as described above.
[0091] The computer program product provided in this application can solve the technical problem of how to improve the effect of heterogeneous computing power scheduling. Compared with the prior art, the beneficial effects of the computer program product provided in the embodiment of this application are the same as the beneficial effects of the heterogeneous computing power scheduling method provided in the above embodiment, which will not be repeated here.
[0092] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent processing scope of the present application.
Claims
1. A heterogeneous computing power scheduling method, characterized in that: The method comprises: Generate a device topology map based on the device information in the node resource pool; Performing partition management on computing devices in the device topology map; Based on the partition management results, the computing tasks are parsed through the preset traffic gateway to determine the task request data location, task scale and task characteristics; Determine the node to be calculated according to the task request data location, the task scale and the task characteristics; The tasks to be calculated are distributed to the nodes to be calculated, and a target scheduling strategy is generated based on the real-time performance indicators and historical execution data of the nodes to be calculated.
2. The method according to claim 1, characterized in that Before the step of generating a device topology map based on the device information in the node resource pool, the method further includes: Identify heterogeneous computing devices; Based on the identification result, obtaining hardware information of the heterogeneous computing device, wherein the hardware information includes device type, device model, video memory size, manufacturer information, and device identifier; The hardware information is injected into the node resource pool.
3. The method according to claim 1, characterized in that After the step of distributing the to-be-calculated tasks to the to-be-calculated nodes and generating a target scheduling strategy based on the real-time performance indicators and historical execution data of the to-be-calculated nodes, the method further includes: Determining target computing resource configuration according to the target scheduling strategy; Based on the target computing resource configuration, adjusting the virtualization configuration of the node to be calculated; Based on the adjusted virtualization configuration, the target scheduling policy is adjusted.
4. The method according to claim 3, characterized in that After the step of adjusting the target scheduling policy based on the adjusted virtualization configuration, the method further includes: Distribute the to-be-computed tasks to the current computing node based on the adjusted target scheduling strategy; When the task starts to be executed, the performance index of the current computing node and the task execution progress information are obtained; Determine the resource utilization rate and task completion rate of the current computing node according to the performance indicator and the task execution progress information; Comparing the resource utilization rate and the task completion rate with a preset scheduling standard threshold; Based on the comparison results, the adjusted target scheduling strategy is optimized.
5. The method according to claim 1, characterized in that The step of performing partition management on the computing devices in the device topology diagram includes: Determining the type and resource capabilities of computing devices based on the device topology map; Based on the type and resource capabilities of the computing devices, feature classifying the computing devices; Generate a partitioning strategy based on the result of the feature classification and the application scenario corresponding to the computing device; Based on the partition strategy, the partition management is performed on the computing device.
6. The method according to claim 1, characterized in that The step of determining the node to be calculated according to the task request data location, the task scale and the task characteristics includes: Determine the node location range based on the task request data location; Based on the task scale, the nodes in the node position range are screened to obtain a screened node set; The nodes in the screening node set are matched with the task features, and the nodes with matching degrees higher than a preset matching threshold are used as the nodes to be calculated.
7. A heterogeneous computing power scheduling device, characterized in that: The device comprises: A topology generation module is used to generate a device topology map based on device information in a node resource pool; A partition management module, used for performing partition management on computing devices in the device topology map; The task parsing module is used to parse the pending computing tasks through the preset traffic gateway based on the partition management results to determine the task request data location, task scale and task characteristics; A node determination module, used to determine the node to be calculated according to the task request data location, the task scale and the task characteristics; The target module is used to distribute the tasks to be calculated to the nodes to be calculated, and generate a target scheduling strategy based on the real-time performance indicators and historical execution data of the nodes to be calculated.
8. A computer device, characterized in that: The device includes: a memory, a processor, and a heterogeneous computing power scheduling program stored in the memory and executable on the processor, wherein the heterogeneous computing power scheduling program is configured to implement the steps of the heterogeneous computing power scheduling method as described in any one of claims 1 to 6.
9. A storage medium, characterized in that: The storage medium stores a heterogeneous computing power scheduling program, and when the heterogeneous computing power scheduling program is executed by the processor, the steps of the heterogeneous computing power scheduling method according to any one of claims 1 to 6 are implemented.
10. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the heterogeneous computing power scheduling method as described in any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Multi-source computing power data integration and intelligent scheduling system and method
CN118916147A
Calculation task scheduling method and device in multivariate heterogeneous environment and medium
CN119415240A
Technologies for distributing iterative computations in heterogeneous computing environments
US20190220703A1
Cited By
Multi-line cooperative scheduling method and device based on artificial intelligence
CN120179366A
Distributed computing power intelligent scheduling system and method
CN120448120A
Dynamic partition scheduling method, system and equipment for heterogeneous computing resources of server
CN120950268A
Air conditioner energy consumption calculation task scheduling method and device and server
CN121169028A
An air conditioner energy consumption calculation task scheduling method, device and server
CN121169028B