Task scheduling method and system for heterogeneous computing platform
By decomposing computing tasks and sorting them by efficiency, giving priority to allocating them to efficient devices and coordinating processing with insufficient resources, the low computing efficiency and resource management problems in heterogeneous computing platforms are solved, and efficient parallel processing and real-time requirements are met.
Patent Information
- Application Number
- CN202510755981.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-07
- Publication Date
- 2025-09-19
AI Technical Summary
Existing heterogeneous computing platforms are unable to meet the computing timeliness requirements of heterogeneous data, have low resource utilization and computing efficiency, and are unable to effectively manage and dispatch heterogeneous resources in power systems.
Decompose the pending computing tasks into several subtasks and sort them from high to low according to processing efficiency. Give priority to assigning them to high-efficiency devices for processing. When inefficient devices have insufficient resources, schedule collaborative processing to ensure sufficient resources. Decompose tasks according to the type of computing data, and adjust the device sorting in real time to improve efficiency.
It realizes efficient parallel processing in heterogeneous computing platforms, meets the real-time computing requirements, and improves resource utilization and computing efficiency.
Smart Images

Figure CN120670154A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of heterogeneous computing platforms, and in particular to a task scheduling method and system for heterogeneous computing platforms. Background Art
[0002] A single computing platform is unable to comprehensively manage and dispatch the large number of heterogeneous resources emerging in the power system, resulting in low resource utilization and easily leading to resource waste. In addition, large-scale data and new energy nodes in the business verification of new power systems have extremely high requirements for the real-time calculation of heterogeneous data. A rich computing environment and faster computing speed are urgently needed to meet business needs. In existing related technologies, although heterogeneous computing platforms are used to calculate the current heterogeneous data to improve the above problems, the existing heterogeneous computing platforms mainly use pre-set calculation schemes to calculate heterogeneous data, which is difficult to meet the requirements of heterogeneous data for calculation timeliness, and the calculation efficiency is often low. Summary of the Invention
[0003] The present application provides a task scheduling method and system for heterogeneous computing platforms, which aims to optimize relevant existing technical solutions.
[0004] In a first aspect, an embodiment of the present application provides a task scheduling method for a heterogeneous computing platform, which may include the following steps: Decomposing the pending computing task into a number of pending sub-computing tasks, and sorting each heterogeneous computing device in the heterogeneous computing platform in descending order of processing efficiency of each pending sub-computing task; Arrange the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the front, and arrange the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the back; Allocating each of the pending sub-computing tasks to the heterogeneous computing device ranked first for processing, and simultaneously evaluating whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing tasks are sufficient to process the pending sub-computing tasks; When the resources of the heterogeneous computing device ranked at the front to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed, the heterogeneous computing devices ranked after the heterogeneous computing device ranked at the front are scheduled to cooperate with the heterogeneous computing device ranked at the front to process the sub-computing task to be processed.
[0005] In the above technical solution, a pending computing task is decomposed into several pending sub-computing tasks, so that the heterogeneous computing devices in multiple heterogeneous computing platforms can process the pending computing tasks in parallel, and the heterogeneous computing device with the highest processing efficiency for processing the pending sub-computing tasks in the heterogeneous computing platform is mainly responsible for processing the pending sub-computing tasks, thereby making the processing efficiency of the pending computing tasks in the heterogeneous computing platform very high.
[0006] In a preferred example, the solution of the first aspect of the present application can be further configured as follows: The task scheduling method for heterogeneous computing platforms may further include the following steps: According to the type of calculation data in the calculation task to be processed, the calculation task to be processed is decomposed into several sub-computation tasks to be processed, and the calculation data with the same calculation data type in the calculation task to be processed are decomposed into the same sub-computation task to be processed.
[0007] Through the above technology, the calculation data of the same calculation data type are easy to be processed uniformly, and the calculation data of the same calculation data type are decomposed into the same sub-computing task to be processed, so that the heterogeneous computing platform can efficiently and quickly process the sub-computing task to be processed.
[0008] In a preferred example, the solution of the first aspect of the present application can be further configured as follows: In the step of assigning each of the to-be-processed sub-computing tasks to the heterogeneous computing device ranked first for processing, and simultaneously evaluating whether the resources of the heterogeneous computing device ranked first for processing the to-be-processed sub-computing tasks are sufficient to process the to-be-processed sub-computing tasks, a method for evaluating whether the resources of the heterogeneous computing device ranked first for processing the to-be-processed sub-computing tasks are sufficient to process the to-be-processed sub-computing tasks includes the following expression: , Where, Indicates the minimum amount of idle resources of the heterogeneous computing device ranked first during the time period of processing the pending sub-computing tasks. Indicates the starting time of processing the pending sub-computation task, Indicates the end time of processing the pending sub-computation task. Indicates the time, , Indicates the storage space required to process the pending sub-computing tasks. Indicates the total amount of data transferred during the processing of pending sub-computing tasks.
[0009] In the above technical solution, when the above formula is satisfied, it means that the resources of the heterogeneous computing device ranked at the front to process the sub-computing task to be processed are sufficient to process the sub-computing task to be processed. Through the above technical solution, it is possible to quickly evaluate whether the resources of the heterogeneous computing device ranked at the front to process the sub-computing task to be processed are sufficient to process the sub-computing task to be processed.
[0010] In a preferred example, the solution of the first aspect of the present application can be further configured as follows: The task scheduling method for heterogeneous computing platforms may further include the following steps: Real-time detection is performed on the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is adjusted to be ranked at the front.
[0011] In the above technical solution, when the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is not the highest, the ranking of the heterogeneous computing device with the highest processing efficiency in processing the sub-computing task to be processed is promptly adjusted to the front, so that the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is always kept at the highest, thereby further improving the processing efficiency of the computing task to be processed in the heterogeneous computing platform.
[0012] In a preferred example, the solution of the first aspect of the present application can be further configured as follows: The task scheduling method for heterogeneous computing platforms may further include the following steps: The heterogeneous computing device that collaborates with the front-ranked heterogeneous computing device to process the sub-computing task to be processed shall collaborate with the front-ranked heterogeneous computing device to process the sub-computing task to be processed in the order from front to back of the processing of the sub-computing task to be processed.
[0013] In the above technical solution, the heterogeneous computing devices in the heterogeneous computing platform cooperate with the heterogeneous computing device ranked at the front to process the sub-computing tasks to be processed in a collaborative order. The higher the efficiency of processing the sub-computing tasks to be processed, the higher the priority of cooperating with the heterogeneous computing device ranked at the front to process the sub-computing tasks to be processed, thereby further improving the processing efficiency of the heterogeneous computing platform for the computing tasks to be processed.
[0014] In a preferred example, the solution of the first aspect of the present application can be further configured as follows: The task scheduling method for heterogeneous computing platforms may further include the following steps: When the computational workload of the pending computing task is lower than a preset decomposition threshold, the pending computing task is directly allocated as a whole to the heterogeneous computing devices in the heterogeneous computing platform for processing.
[0015] In the above technical solution, the pending computing tasks whose computing amount is lower than the preset decomposition threshold are not decomposed as a whole but directly assigned to heterogeneous computing devices for processing. This can reduce the steps of decomposing the pending computing tasks without reducing the processing speed of the pending computing tasks, thereby saving the processing time of the pending computing tasks and further improving the processing efficiency of the heterogeneous computing platform in processing the pending computing tasks.
[0016] In a second aspect, an embodiment of the present application provides a task scheduling system for heterogeneous computing platforms, which may include: A pending computing task decomposition module is used to decompose the pending computing task into a number of pending sub-computing tasks, and to sort each heterogeneous computing device in the heterogeneous computing platform in order of processing efficiency of each pending sub-computing task from highest to lowest; a heterogeneous computing device sorting module, configured to sort the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the front, and sort the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the back; a pending computing task allocation module, configured to allocate each pending sub-computing task to the heterogeneous computing device ranked first for processing, and simultaneously evaluate whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing task are sufficient to process the pending sub-computing task; A scheduling module is used to schedule heterogeneous computing devices that are ranked after the frontmost heterogeneous computing device to cooperate with the frontmost heterogeneous computing device to process the sub-computing task to be processed when the resources of the frontmost heterogeneous computing device to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed.
[0017] In a preferred example, the solution of the second aspect of the present application can be further configured as follows: The task scheduling system for heterogeneous computing platforms may further include: The module for decomposing by computing data type is used to decompose the computing task to be processed into several sub-computing tasks to be processed according to the type of computing data in the computing task to be processed, and decompose the computing data with the same computing data type in the computing task to be processed into the same sub-computing task to be processed.
[0018] In a preferred example, the solution of the second aspect of the present application can be further configured as follows: The task scheduling system for heterogeneous computing platforms may further include: The heterogeneous computing device ranking adjustment module is used to detect in real time the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is adjusted to be ranked at the front.
[0019] In a preferred example, the solution of the second aspect of the present application can be further configured as follows: The task scheduling system for heterogeneous computing platforms may further include: A collaborative processing heterogeneous computing device sorting module is used to collaboratively process the heterogeneous computing device that is ranked at the front to process the sub-computing task to be processed, and to collaboratively process the sub-computing task to be processed in the order from front to back of the sorting of the sub-computing task to be processed.
[0020] Based on the above method embodiment, the present application provides a corresponding terminal embodiment; The present application provides a terminal, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements a task scheduling method for a heterogeneous computing platform as described in any embodiment of the present application.
[0021] Based on the above method embodiment, the present application provides a storage medium embodiment; The present application provides a storage medium, including a processor, a memory, and a computer program stored in the above-mentioned memory and configured to be executed by the above-mentioned processor. When the above-mentioned processor executes the above-mentioned computer program, it implements a task scheduling method for a heterogeneous computing platform described in any embodiment of the present application.
[0022] This application has at least the following beneficial effects: The present application provides a task scheduling method for heterogeneous computing platforms, which realizes that the heterogeneous computing devices in the heterogeneous computing platform can process computing tasks in parallel with high efficiency, and can well meet the high real-time computing requirements of heterogeneous data. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 This is a flow chart of a task scheduling method for heterogeneous computing platforms according to an embodiment of the present application.
[0024] Figure 2 This is a structural block diagram of a task scheduling system for heterogeneous computing platforms according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] The following will be combined with the accompanying drawings to clearly and completely describe the technical solutions in this application. Obviously, the embodiments described are only some of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0026] like Figure 1 As shown, an embodiment of the present application provides a task scheduling method for a heterogeneous computing platform, which may specifically include the following steps: Step S1: Decompose the pending computing task into a number of pending sub-computing tasks, and sort each heterogeneous computing device in the heterogeneous computing platform in descending order of processing efficiency of each pending sub-computing task; Step S2: sorting the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of pending sub-computing tasks at the front, and sorting the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of pending sub-computing tasks at the back; Step S3: assign each of the pending sub-computing tasks to the heterogeneous computing device ranked first for processing, and simultaneously evaluate whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing tasks are sufficient to process the pending sub-computing tasks; Step S4: When the resources of the heterogeneous computing device ranked at the front to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed, the heterogeneous computing devices ranked after the heterogeneous computing device ranked at the front are scheduled to cooperate with the heterogeneous computing device ranked at the front to process the sub-computing task to be processed.
[0027] The task scheduling method for heterogeneous computing platforms of this embodiment decomposes a pending computing task into several pending sub-computing tasks, allowing heterogeneous computing devices in multiple heterogeneous computing platforms to process the pending computing tasks in parallel, and allowing the heterogeneous computing device with the highest processing efficiency for processing the pending sub-computing tasks in the heterogeneous computing platform to be mainly responsible for processing the pending sub-computing tasks, thereby making the processing efficiency of the pending computing tasks in the heterogeneous computing platform very high, and can also well meet the high real-time computing requirements of heterogeneous data.
[0028] In a preferred embodiment, since computational data of the same computational data type are convenient for unified processing, the computational data of the same computational data type are decomposed into the same sub-computing task to be processed. In order to facilitate the heterogeneous computing platform to efficiently and quickly process the sub-computing task to be processed, the task scheduling method for the heterogeneous computing platform may further include the following steps: According to the type of calculation data in the calculation task to be processed, the calculation task to be processed is decomposed into several sub-computation tasks to be processed, and the calculation data with the same calculation data type in the calculation task to be processed are decomposed into the same sub-computation task to be processed.
[0029] In a preferred embodiment, when the following expression is satisfied, it indicates that the resources of the heterogeneous computing device ranked first for processing the sub-computing task to be processed are sufficient to process the sub-computing task to be processed. In order to be able to quickly evaluate whether the resources of the heterogeneous computing device ranked first for processing the sub-computing task to be processed are sufficient to process the sub-computing task to be processed, in the step of assigning each sub-computing task to be processed to the heterogeneous computing device ranked first for processing, and simultaneously evaluating whether the resources of the heterogeneous computing device ranked first for processing the sub-computing task to be processed are sufficient to process the sub-computing task to be processed, the evaluation method of whether the resources of the heterogeneous computing device ranked first for processing the sub-computing task to be processed are sufficient to process the sub-computing task to be processed includes the following expression: , Where, Indicates the minimum amount of idle resources of the heterogeneous computing device ranked first during the time period of processing the pending sub-computing tasks. Indicates the starting time of processing the pending sub-computation task, Indicates the end time of processing the pending sub-computation task. Indicates the time, , Indicates the storage space required to process the pending sub-computing tasks. Indicates the total amount of data transferred during the processing of pending sub-computing tasks.
[0030] In a preferred embodiment, when the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is not the highest, in order to promptly adjust the ranking of the heterogeneous computing device with the highest processing efficiency for processing the sub-computing task to be processed to the front, so that the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is always maintained at the highest, thereby further improving the processing efficiency of the computing task to be processed in the heterogeneous computing platform, the task scheduling method for the heterogeneous computing platform may further include the following steps: Real-time detection is performed on the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is adjusted to be ranked at the front.
[0031] In a preferred embodiment, in order to coordinate the heterogeneous computing devices in the heterogeneous computing platform with the heterogeneous computing device ranked first to process the sub-computing tasks to be processed, the higher the efficiency of processing the sub-computing tasks to be processed, the higher the priority of cooperating with the heterogeneous computing device ranked first to process the sub-computing tasks to be processed, thereby further improving the processing efficiency of the heterogeneous computing platform for the computing tasks to be processed, the task scheduling method for the heterogeneous computing platform may further include the following steps: The heterogeneous computing device that collaborates with the front-ranked heterogeneous computing device to process the sub-computing task to be processed shall collaborate with the front-ranked heterogeneous computing device to process the sub-computing task to be processed in the order from front to back of the processing of the sub-computing task to be processed.
[0032] In a preferred embodiment, in order to allocate pending computing tasks whose computational complexity is lower than a preset decomposition threshold to heterogeneous computing devices for processing without decomposing them as a whole, thereby reducing the steps of decomposing pending computing tasks without reducing the processing speed of pending computing tasks, saving processing time of pending computing tasks, and further improving the processing efficiency of heterogeneous computing platforms in processing pending computing tasks, the task scheduling method for heterogeneous computing platforms may further include the following steps: When the computational workload of the pending computing task is lower than a preset decomposition threshold, the pending computing task is directly allocated as a whole to the heterogeneous computing devices in the heterogeneous computing platform for processing.
[0033] like Figure 2 As shown, an embodiment of the application provides a task scheduling system for heterogeneous computing platforms, which may specifically include: A pending computing task decomposition module is used to decompose the pending computing task into a number of pending sub-computing tasks, and to sort each heterogeneous computing device in the heterogeneous computing platform in order of processing efficiency of each pending sub-computing task from highest to lowest; a heterogeneous computing device sorting module, configured to sort the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the front, and sort the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the back; a pending computing task allocation module, configured to allocate each pending sub-computing task to the heterogeneous computing device ranked first for processing, and simultaneously evaluate whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing task are sufficient to process the pending sub-computing task; A scheduling module is used to schedule heterogeneous computing devices that are ranked after the frontmost heterogeneous computing device to cooperate with the frontmost heterogeneous computing device to process the sub-computing task to be processed when the resources of the frontmost heterogeneous computing device to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed.
[0034] The task scheduling system for heterogeneous computing platforms may further include: The module for decomposing by computing data type is used to decompose the computing task to be processed into several sub-computing tasks to be processed according to the type of computing data in the computing task to be processed, and decompose the computing data with the same computing data type in the computing task to be processed into the same sub-computing task to be processed.
[0035] The task scheduling system for heterogeneous computing platforms may further include: The heterogeneous computing device ranking adjustment module is used to detect in real time the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is adjusted to be ranked at the front.
[0036] The task scheduling system for heterogeneous computing platforms may further include: A collaborative processing heterogeneous computing device sorting module is used to collaboratively process the heterogeneous computing device that is ranked at the front to process the sub-computing task to be processed, and to collaboratively process the sub-computing task to be processed in the order from front to back of the sorting of the sub-computing task to be processed.
[0037] It should be noted that the system embodiment described above is merely illustrative, wherein the modules described above as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the system embodiment provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art can understand and implement it without inventive work. The above schematic diagram is merely an example of a task scheduling system for heterogeneous computing platforms and does not constitute a limitation on a task scheduling system for heterogeneous computing platforms. It may include more or fewer components than shown in the figure, or combine certain components, or different components.
[0038] Based on the above method embodiment, the present application provides a corresponding terminal embodiment.
[0039] Another embodiment of the present application provides a terminal, including a processor, a memory, and a computer program stored in the above memory and configured to be executed by the above processor. When the above processor executes the above computer program, it implements a task scheduling method for a heterogeneous computing platform as described in any embodiment of the present application.
[0040] For example, in this embodiment, the computer program may be divided into one or more modules, which are stored in the memory and executed by the processor to implement the present application. The one or more module elements may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program in the device. The terminals can be computing devices such as desktop computers, notebook computers, PDAs, and cloud servers. The devices can include, but are not limited to, processors and memories.
[0041] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor. The processor is the control center of the device, connecting all parts of the device using various interfaces and circuits.
[0042] The memory can be used to store the computer programs and / or modules. The processor implements the various functions of the device by running or executing the computer programs and / or modules stored in the memory, and by calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required for a function, etc.; in addition, the memory can include high-speed random access memory and non-volatile memory, such as a hard disk, internal memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash card, at least one disk storage device, a flash memory device, or other volatile solid-state storage device.
[0043] Based on the above method embodiment, the present application provides a corresponding storage medium embodiment.
[0044] Another embodiment of the present application provides a storage medium, which includes a stored computer program, wherein when the computer program is running, the device where the storage medium is located is controlled to execute a task scheduling method for a heterogeneous computing platform as described in any embodiment of the present application.
[0045] In this embodiment, the storage medium is a computer-readable storage medium, and the computer program includes computer program code, which may be in source code form, object code form, an executable file, or some intermediate form. The computer-readable medium may include any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium.
[0046] In the above-mentioned embodiment of the present application, the enterprise's intranet and intranet are integrated, so that internal staff participating in the enterprise's intranet project can obtain external network information related to the enterprise's intranet project by simply logging into the enterprise's intranet, and can obtain relevant information about the enterprise's intranet project very conveniently; by setting up external network information access accounts for internal staff participating in the enterprise's intranet project to access the project-related external network information, and setting different external network information access permissions for different external network information access accounts, internal staff participating in the enterprise's intranet project can conveniently and accurately obtain relevant external network information of the enterprise's intranet project in which they participate.
[0047] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications are also considered to be within the scope of protection of the present application.
Claims
1. A task scheduling method for heterogeneous computing platforms, characterized in that: The following steps are involved: Decomposing the pending computing task into a number of pending sub-computing tasks, and sorting each heterogeneous computing device in the heterogeneous computing platform in descending order of processing efficiency of each pending sub-computing task; Arrange the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the front, and arrange the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the back; Allocating each of the pending sub-computing tasks to the heterogeneous computing device ranked first for processing, and simultaneously evaluating whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing tasks are sufficient to process the pending sub-computing tasks; When the resources of the heterogeneous computing device ranked at the front to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed, the heterogeneous computing devices ranked after the heterogeneous computing device ranked at the front are scheduled to cooperate with the heterogeneous computing device ranked at the front to process the sub-computing task to be processed.
2. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: The following steps are also included: According to the type of calculation data in the calculation task to be processed, the calculation task to be processed is decomposed into several sub-computation tasks to be processed, and the calculation data with the same calculation data type in the calculation task to be processed are decomposed into the same sub-computation task to be processed.
3. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: In the step of assigning each of the to-be-processed sub-computing tasks to the heterogeneous computing device ranked first for processing, and simultaneously evaluating whether the resources of the heterogeneous computing device ranked first for processing the to-be-processed sub-computing tasks are sufficient to process the to-be-processed sub-computing tasks, a method for evaluating whether the resources of the heterogeneous computing device ranked first for processing the to-be-processed sub-computing tasks are sufficient to process the to-be-processed sub-computing tasks includes the following expression: , Where, Indicates the minimum amount of idle resources of the heterogeneous computing device ranked first during the time period of processing the pending sub-computing tasks. Indicates the starting time of processing the pending sub-computation task, Indicates the end time of processing the pending sub-computation task. Indicates the time, , Indicates the storage space required to process the pending sub-computing tasks. Indicates the total amount of data transferred during the processing of pending sub-computing tasks.
4. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: The following steps are also included: Real-time detection is performed on the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the sub-computing task to be processed by the heterogeneous computing device ranked at the front is adjusted to be ranked at the front.
5. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: The following steps are also included: The heterogeneous computing device that collaborates with the front-ranked heterogeneous computing device to process the sub-computing task to be processed shall collaborate with the front-ranked heterogeneous computing device to process the sub-computing task to be processed in the order from front to back of the processing of the sub-computing task to be processed.
6. The task scheduling method for heterogeneous computing platforms according to claim 1, characterized in that: The following steps are also included: When the computational workload of the pending computing task is lower than a preset decomposition threshold, the pending computing task is directly allocated as a whole to the heterogeneous computing devices in the heterogeneous computing platform for processing.
7. A task scheduling system for heterogeneous computing platforms, characterized in that: include: A pending computing task decomposition module is used to decompose the pending computing task into a number of pending sub-computing tasks, and to sort each heterogeneous computing device in the heterogeneous computing platform in order of processing efficiency of each pending sub-computing task from highest to lowest; a heterogeneous computing device sorting module, configured to sort the heterogeneous computing device with the highest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the front, and sort the heterogeneous computing device with the lowest efficiency in processing a certain sub-computing task among the plurality of sub-computing tasks to be processed at the back; a pending computing task allocation module, configured to allocate each pending sub-computing task to the heterogeneous computing device ranked first for processing, and simultaneously evaluate whether the resources of the heterogeneous computing device ranked first for processing the pending sub-computing task are sufficient to process the pending sub-computing task; A scheduling module is used to schedule heterogeneous computing devices that are ranked after the frontmost heterogeneous computing device to cooperate with the frontmost heterogeneous computing device to process the sub-computing task to be processed when the resources of the frontmost heterogeneous computing device to process the sub-computing task to be processed are insufficient to process the sub-computing task to be processed.
8. The task scheduling system for heterogeneous computing platforms according to claim 7, characterized in that: Also includes: The module for decomposing by computing data type is used to decompose the computing task to be processed into several sub-computing tasks to be processed according to the type of computing data in the computing task to be processed, and decompose the computing data with the same computing data type in the computing task to be processed into the same sub-computing task to be processed.
9. The task scheduling system for heterogeneous computing platforms according to claim 7, characterized in that: Also includes: The heterogeneous computing device ranking adjustment module is used to detect in real time the processing efficiency of the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed, as well as the processing efficiency of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed. When the processing efficiency of a heterogeneous computing device among the heterogeneous computing devices that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is higher than the processing efficiency of the heterogeneous computing device ranked at the front, the ranking of the heterogeneous computing device that collaboratively processes the heterogeneous computing device ranked at the front in processing the sub-computing task to be processed is adjusted to be ranked at the front.
10. The task scheduling system for heterogeneous computing platforms according to claim 7, characterized in that: Also includes: A collaborative processing heterogeneous computing device sorting module is used to collaboratively process the heterogeneous computing device that is ranked at the front to process the sub-computing task to be processed, and to collaboratively process the sub-computing task to be processed in the order from front to back of the sorting of the sub-computing task to be processed.