Adaptive scheduling method, device and computer readable storage medium
By dynamically adjusting the computing resources of algorithm nodes on a heterogeneous computing platform, the problem of static configuration being unable to cope with data changes is solved, processing speed and resource utilization are improved, and the efficient operation of the equipment in dynamic scenarios is ensured.
Patent Information
- Application Number
- CN202010561462.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-18
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2040-06-18
AI Technical Summary
In security application scenarios, the algorithm nodes of heterogeneous computing platforms cannot adapt to the dynamic changes in data processing volume due to the static configuration of computing resources, resulting in a decline in equipment processing capacity and low resource utilization.
Adaptive scheduling method is adopted to initialize the computing resources of each algorithm node and count the task volume within a specific time interval, dynamically adjust the computing resources of each algorithm node according to the task volume, computing resources and calculation amount, so as to achieve reasonable computing resources. distribute.
It improves the processing speed of algorithm programs, achieves optimal throughput, makes full use of the computing resources of programmable hardware, and ensures that the device can achieve the best performance and utilization in any scenario.
Smart Images

Figure CN111813543B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to an adaptive scheduling method, device and computer-readable storage medium. Background Art
[0002] With the development of deep learning related intelligent algorithms, the application of intelligent services is becoming more and more extensive, and intelligent algorithms can complete more and more functions. Usually, a complex intelligent service function is completed by multiple different intelligent algorithms in sequence. In security application scenarios, the intelligent services that need to be carried by front-end and back-end devices are becoming more and more complex. Correspondingly, the hardware units used for algorithm processing in a device also have different computing performances. Processing performance usually pursues throughput (the number of images processed per unit time). Under the premise of pursuing throughput, different algorithm nodes process different frames in the same video channel or image stream at the same time. The hardware computing resources required by different algorithm nodes are usually statically configured according to empirical values, but this cannot cope with the dynamic changes in data processing volume of different algorithm nodes in actual scenarios. Summary of the invention
[0003] The present application provides an adaptive scheduling method, device and computer-readable storage medium, which can adaptively adjust the allocation of computing resources and improve the processing speed of algorithm programs.
[0004] To solve the above technical problems, the technical solution adopted in the present application is: to provide an adaptive scheduling method applied to a heterogeneous computing platform, the heterogeneous computing platform includes multiple programmable hardware, each programmable hardware is bound to at least one algorithm node, and the programmable hardware is used to execute at least one algorithm program, the method includes: initializing the computing resources of each algorithm node and setting an adaptive adjustment time interval; counting the task volume of each algorithm node within the time interval; allocating new computing resources to each algorithm node according to the task volume, the computing resources of each programmable hardware and the computing volume required to execute the algorithm program, and controlling each programmable hardware to execute the algorithm program corresponding to each algorithm node according to the new computing resources.
[0005] To solve the above technical problems, another technical solution adopted in the present application is: to provide an adaptive scheduling device, which includes a memory and a processor connected to each other, the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the above-mentioned adaptive scheduling method applied to heterogeneous computing platforms.
[0006] In order to solve the above technical problems, the technical solution adopted in this application is: to provide a computer-readable storage medium, which is used to store a computer program. When the computer program is executed by a processor, it is used to implement the above-mentioned adaptive scheduling method applied to heterogeneous computing platforms.
[0007] Through the above scheme, the beneficial effect of the present application is: first, an initial computing resource is allocated to each algorithm node by static configuration, and then during the operation of the algorithm program, the task volume of each algorithm node is counted, and then the computing resources of each algorithm node are dynamically adjusted according to the task volume, the computing resources of the programmable hardware, and the computing volume required to execute the algorithm program. By combining static configuration with dynamic adjustment, the computing resources can be adaptively adjusted to achieve a reasonable allocation of computing resources, fully utilize the computing resources of each programmable hardware, improve the processing speed of the algorithm program, and achieve optimal throughput. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them:
[0009] Figure 1 It is a schematic diagram of the structure of intelligent business;
[0010] Figure 2 It is a flowchart of an embodiment of an adaptive scheduling method applied to a heterogeneous computing platform provided by the present application;
[0011] Figure 3 It is a flowchart of another embodiment of the adaptive scheduling method applied to a heterogeneous computing platform provided by the present application;
[0012] Figure 4 It is a flowchart of another embodiment of the adaptive scheduling method applied to a heterogeneous computing platform provided by the present application;
[0013] Figure 5 yes Figure 4 A schematic diagram of the flow chart of step 44 in the embodiment shown;
[0014] Figure 6 It is a structural diagram of an embodiment of an adaptive scheduling device provided by the present application;
[0015] Figure 7 It is a structural schematic diagram of an embodiment of a computer-readable storage medium provided by the present application. DETAILED DESCRIPTION
[0016] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0017] Heterogeneous computing allows multiple intelligent algorithms required for a complex intelligent business to run reasonably on different hardware units of the device. How to reasonably allocate hardware resources to each algorithm node and maximize the image / video processing performance (real-time, throughput, etc.) of the business is the main goal of the heterogeneous computing platform.
[0018] In current edge smart devices, multiple smart algorithms are usually combined in sequence to form a complete smart service, such as data structured services. Figure 1 shown.
[0019] In security scenarios, there are two characteristics of front-end or back-end smart devices implementing similar smart functions:
[0020] First, the business data flow is designed to obtain the maximum video / image processing bandwidth. Therefore, multiple algorithms need to be processed in parallel in each algorithm node in order, and only a small amount of structured data is exchanged between different algorithm nodes. Before the target optimization node, the number of images that each algorithm node needs to process per unit time depends on the frame rate of video acquisition, which is generally fixed. After the target optimization node, the number of images processed by the algorithm node depends on the number of targets detected and tracked, which changes dynamically according to the actual scene. For example, the traffic at the intersection is more dense during rush hour, while the working hours are less. The time or computing resource requirements of a certain algorithm to process each original image or target image are basically stable. Assuming that the speed of the original input image is 25 frames per second, the number of targets processed per second in the subsequent algorithm nodes may change dynamically between 0-200. That is to say, the computing time of each algorithm node changes dynamically, which determines that the bottleneck node and the overall image processing throughput of the system are changing dynamically, but this dynamic change has a certain local time persistence and regularity.
[0021] Secondly, the front-end or back-end intelligent devices in video surveillance are usually complex heterogeneous computing devices. The hardware resources for implementing intelligent algorithm calculations include multiple types and multiple independent units, such as CPU (Central Processing Unit), DSP (Digital Signal Processor), GPU (Graphics Processing Unit) or NPU (Neural-network Processing Unit), etc. Usually, an algorithm needs to be completed on a hardware unit from input to output. Each algorithm running instance needs to be bound to a hardware unit. The switching cost of algorithm running instances between different hardware units is relatively high. In other words, the calculation process is heterogeneous parallel computing. Usually, these hardware units do not have dedicated resource scheduling functions for multi-tasking, and different hardware units cannot be uniformly scheduled.
[0022] In summary, since there is currently no dedicated unified scheduling design for this type of parallel heterogeneous computing scenario, if hardware computing resources are statically allocated to each algorithm node in actual use, it will be difficult to cope with the dynamic changes in computing requirements in actual scenarios. When the scenario changes, the device processing power may decrease, and the hardware computing resources on the device may not be fully utilized.
[0023] The problem that this application aims to solve is the situation where the heterogeneous computing throughput of edge devices decreases when the scene data changes. A new resource scheduling and allocation method is designed to ensure that the device can achieve the best performance and utilization in any changing scenario.
[0024] See also Figure 2 , Figure 2 The present invention is a flowchart of an embodiment of an adaptive scheduling method for a heterogeneous computing platform provided by the present application. The heterogeneous computing platform includes a plurality of programmable hardware, each of which is bound to at least one algorithm node. The programmable hardware is used to execute at least one algorithm program. The method includes:
[0025] Step 21: Initialize the computing resources of each algorithm node and set the time interval for adaptive adjustment.
[0026] An initial computing resource may be set for each algorithm node based on experience, and a time interval for statistical data, ie, a time interval for adaptive adjustment, may be set, and the computing resource of each algorithm node may be adjusted according to the time interval.
[0027] Step 22: Count the amount of tasks of each algorithm node within the time interval.
[0028] The task volume is the number of images or targets that need to be processed. Each programmable hardware can be bound and used with multiple algorithm nodes. The programmable hardware includes CPU, DSP, GPU or NPU. After the programmable hardware runs for a time interval, the task volume executed by each algorithm node in this time interval can be counted to obtain the task volume that the algorithm node needs to process in this time interval, which is recorded as P1, P2, ..., P M (per second), M is the total number of algorithm nodes, and each algorithm node corresponds to an algorithm program.
[0029] Step 23: Allocate new computing resources to each algorithm node according to the task amount, the computing resources of each programmable hardware, and the computing amount required to execute the algorithm program, and control each programmable hardware to execute the algorithm program corresponding to each algorithm node according to the new computing resources.
[0030] Assume that there are N programmable hardware H1, H2, ...H available for algorithm execution on the hardware device. N , standardize the computing resources of each programmable hardware into C1, C2, ..., C N (per second), there are a total of M algorithms that need to be deployed on N programmable hardware (usually M>N), each algorithm can only be deployed on one programmable hardware at a time, and the computational effort of each algorithm to process each image or target is RC1, RC2, RC M .
[0031] The computing resources of each programmable hardware and the computing amount required to execute the algorithm program are fixed values. After obtaining the task amount of each algorithm node, for each algorithm node, new computing resources can be allocated to the algorithm node based on the current task amount, the computing resources of the programmable hardware and the computing amount required to execute the algorithm program. The new computing resources are positively correlated with the task amount. When the task amount increases, the new computing resources also increase. The programmable hardware corresponding to the algorithm node executes the corresponding algorithm program, thereby achieving that after allocating initial computing resources to each algorithm node according to experience, the computing resources are adjusted according to changes in actual output throughput / processing bandwidth during dynamic operation.
[0032] In a specific embodiment, since the dynamic change of the number of images or targets has the law of local time persistence, it can be assumed that the computing resources required per second by a certain algorithm node x in the next time interval are the same as RC x *P x (0≤x≤M).
[0033] In other embodiments, the CPU can be used as a programmable hardware that can be quantifiably allocated. In addition to the CPU that can specify multi-core resource binding, other programmable hardware (such as DSP, GPU or NPU, etc.) may not have a mechanism for directly quantifiably allocating computing resources, and can only be allocated as a whole or additionally scheduled. Therefore, a scheduling queue for performing algorithm calculations according to priority can be established for each programmable hardware. Based on the scheduling queue, the required computing resources can be converted into corresponding scheduling priorities. For example, the programmable hardware is a DSP, which is bound to algorithm node A and algorithm node B. If the new computing resources corresponding to algorithm node A are 72% and the new computing resources corresponding to algorithm node B are 28%, the DSP first executes the algorithm program corresponding to algorithm node A, and then executes the algorithm program corresponding to algorithm node B.
[0034] This embodiment adopts a method that combines static configuration of computing resources with dynamic adjustment of computing resources, and adaptively adjusts the configuration of computing resources from the perspective of global resource configuration to achieve optimal throughput.
[0035] When the computing resource adjustment of an algorithm node exceeds the computing resource upper limit or idle upper limit of the currently bound programmable hardware, resources need to be allocated across hardware. This situation may cause the unbinding and rebinding of the algorithm node and the underlying programmable hardware, resulting in additional resource consumption. Therefore, adjustments in this situation should be kept as small as possible, and frequent adjustments can be made if cross-hardware is not required. Therefore, the adaptive adjustment time interval can be divided into: a first preset time interval and a second preset time interval. The first preset time interval is smaller than the second preset time interval. The specific value can be determined based on actual business. The specific computing resource allocation method will be described below.
[0036] See also Figure 3 , Figure 3 1 is a flow chart of another embodiment of an adaptive scheduling method for a heterogeneous computing platform provided by the present application, the method comprising:
[0037] Step 31: Initialize the computing resources of each algorithm node and set a first preset time interval.
[0038] Step 32: Count the amount of tasks of each algorithm node within the first preset time interval.
[0039] Step 33: Determine whether the computing resource difference of each algorithm node is greater than a preset computing difference within the first preset time interval.
[0040] After counting the task amount of each algorithm node within the first preset time interval, the following formula can be used to process the task amount, the computing resources of each programmable hardware, and the computing amount required to execute the algorithm program to obtain the new computing resources required for each algorithm node:
[0041]
[0042] Among them, A x is the new computing resources required by the xth algorithm node, P x is the task volume of the xth algorithm node, C j is the computing resource of the jth programmable hardware, RC x The amount of computation required to execute the xth algorithm program.
[0043] According to the calculation method of formula (1), it can be theoretically guaranteed that the average processing time of each algorithm based on the original input image is equal, that is, there is no absolute bottleneck node in the entire system, and the average processing bandwidth of the entire intelligent business can reach the highest. According to formula (1), it can be seen that new computing resources can be adjusted according to the task volume of each algorithm node. When the task volume of an algorithm node decreases significantly while the others remain unchanged, the computing resources required can be reduced accordingly, while the computing resources of other algorithm nodes can be dynamically increased.
[0044] The preset calculation difference is a value set according to experience, the calculation resource difference is the difference between the calculation resources of the algorithm node at the first moment and the calculation resources of the algorithm node at the second moment, and the difference between the first moment and the second moment is the first preset time interval; for example, the first preset time interval is 5s, the first moment is the 1st second, the calculation resource of the 1st second is A, the second moment is the 6th second, the calculation resource of the 6th second is B, then the current calculation resource difference is BA.
[0045] Step 34: If the computing resource difference is greater than the preset computing resource difference, the computing resources of the programmable hardware corresponding to the algorithm node are adjusted.
[0046] When the computing resource difference of an algorithm node is greater than a preset computing difference, it indicates that the computing resources required by the algorithm node have changed significantly. In order to improve the processing speed, it is possible to further determine whether the new computing resources required by the algorithm node exceed the remaining computing resources of the programmable hardware corresponding to the algorithm node. If the new computing resources required by the algorithm node exceed the remaining computing resources of the programmable hardware corresponding to the algorithm node, adjustments are made according to the maximum adjustment space of the programmable hardware, that is, the remaining computing resources are allocated to the algorithm node. For example, if two algorithms are executed on a certain programmable hardware, and 30% and 70% of the computing resources are allocated respectively, and it is found through calculation that the computing resources need to be adjusted, and 30% is adjusted to 40%, then the computing resources corresponding to the other algorithm node can only be adjusted to 60% at most, and the computing resources of the algorithm node are not adjusted across hardware. If the new computing resources required by the algorithm node do not exceed the remaining computing resources of the programmable hardware corresponding to the algorithm node, it indicates that the programmable hardware has sufficient resources to execute the algorithm program corresponding to the algorithm node, and the required computing resources can be directly allocated to the algorithm node.
[0047] When the computing resource difference of the algorithm node is less than or equal to the preset computing difference, it indicates that the computing resources required by the algorithm node have not changed much and are still within the allowable range. At this time, the computing resources do not need to be adjusted.
[0048] In a specific embodiment, the preset calculation difference can be a numerical value, such as 0. At this time, it can be determined whether the computing resources of each algorithm node have changed within the first preset time interval. If changed, adjustments are made; or the preset calculation difference can be a range including 0, such as -Z~Z, where Z is greater than 0.
[0049] Step 35: Control each programmable hardware to execute the algorithm program corresponding to each algorithm node according to the new computing resources.
[0050] After executing step 35, the process returns to step 32 to count the amount of tasks that the algorithm node needs to process within the next first preset time interval until all input tasks are completed.
[0051] This embodiment can adjust the computing resources in a timely manner when the computing resources change within a short time interval, but only makes adjustments on the programmable hardware bound to each algorithm node. When the capacity limit of the current programmable hardware is exceeded, the maximum adjustment space of the current programmable hardware is used for adjustment, and cross-hardware adjustment is not performed to avoid resource consumption caused by cross-hardware adjustment.
[0052] See also Figure 4 , Figure 4 : is a flow chart of another embodiment of an adaptive scheduling method applied to a heterogeneous computing platform provided by the present application, the method comprising:
[0053] Step 41: Initialize the computing resources of each algorithm node and set a second preset time interval.
[0054] Step 42: Count the task amount of each algorithm node within the current second preset time interval.
[0055] Step 43: Calculate the computing resources required for each algorithm node according to the task amount of the algorithm node within the current second preset time interval, the computing resources of each programmable hardware, and the computing amount required to execute the algorithm program.
[0056] After the programmable hardware has worked for a second preset time interval, the task amount of each algorithm node within the second preset time interval is counted, and then the computing resources corresponding to each algorithm node are recalculated according to formula (1).
[0057] Step 44: Allocate new computing resources to each algorithm node according to the throughput of the algorithm node in the current second preset time interval and the throughput of the algorithm node in the previous second preset time interval.
[0058] Count the data processing throughput within the second preset time interval, obtain the throughput of the previous second preset time interval, and then use Figure 5 The steps shown are to adjust the computing resources:
[0059] Step 441: The throughput of the algorithm node in the current second preset time interval and the throughput of the algorithm node in the previous second preset time interval are recorded as the current throughput and the previous throughput respectively.
[0060] Step 442: Determine whether the current throughput is greater than the previous throughput.
[0061] Step 443: If the current throughput is greater than the previous throughput, the algorithm node is bound to new programmable hardware that meets the new computing resource conditions in the order of the new computing resources required by each algorithm node.
[0062] A comparison threshold of the decrease ratio, i.e., a preset threshold, may be set first, and then it may be determined whether the decrease ratio of the current throughput exceeds the preset threshold, i.e., it may be determined whether the decrease value of the throughput of the current second preset time interval relative to the throughput of the previous second preset time interval is greater than the preset threshold; for example, the second preset time interval is 10s, the 1st to 11th seconds are the previous second preset time interval, the 12th to 22nd seconds are the current second preset time interval, the current throughput is D1, the previous throughput is D2, and the preset threshold is D, then the size relationship between (D2-D1) / D2 and D is determined.
[0063] If the current throughput decrease ratio exceeds the preset threshold, it indicates that the execution speed of the algorithm program corresponding to the algorithm node has dropped significantly. At this time, it is possible to judge whether the programmable hardware corresponding to the current algorithm node meets the conditions for allocating new computing resources to the algorithm node according to the order of the new computing resources required by each algorithm node, that is, to judge whether the remaining computing resources of the programmable hardware corresponding to the algorithm node are greater than the new computing resources.
[0064] If the programmable hardware corresponding to the current algorithm node does not meet the conditions for allocating new computing resources to the algorithm node, the algorithm node is unbound from the programmable hardware corresponding to the current algorithm node, and the algorithm node is bound to new programmable hardware that meets the conditions, so that the new programmable hardware executes the algorithm program corresponding to the algorithm node, thereby realizing cross-hardware resource allocation; if the programmable hardware corresponding to the current algorithm node meets the conditions, the new computing resources are directly allocated to the algorithm node, and the corresponding algorithm program continues to be executed by the programmable hardware bound to the algorithm node, and then returns to step 42 to determine the task volume for the next time period until all tasks are processed.
[0065] If the current decrease ratio of the throughput does not exceed the preset threshold, it indicates that the throughput decreases less than that in the previous time period. In this case, the computing resources do not need to be adjusted, and the process returns to step 42 .
[0066] In this embodiment, when computing resources change within a long time interval and the actual processing throughput / processing bandwidth decreases by a ratio exceeding a preset threshold relative to the previous long time interval, the algorithm nodes can be allocated and adjusted across hardware computing resources to achieve a rational allocation of computing resources, thereby making full use of the computing resources of each programmable hardware and improving the processing speed.
[0067] See also Figure 6 , Figure 6 It is a structural diagram of an embodiment of an adaptive scheduling device provided in the present application. The adaptive scheduling device 60 includes a memory 61 and a processor 62 connected to each other. The memory 61 is used to store a computer program. When the computer program is executed by the processor 62, it is used to implement the adaptive scheduling method applied to a heterogeneous computing platform in the above-mentioned embodiment.
[0068] See also Figure 7 , Figure 7 It is a structural diagram of an embodiment of a computer-readable storage medium provided in the present application. The computer-readable storage medium 70 is used to store a computer program 71. When the computer program 71 is executed by a processor, it is used to implement the adaptive scheduling method applied to a heterogeneous computing platform in the above-mentioned embodiment.
[0069] The computer-readable storage medium 70 may be a server, a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or other media that can store program codes.
[0070] In the several embodiments provided in this application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only illustrative, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
[0071] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0072] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0073] The above are merely 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 protection scope of the present application.
Claims
1. An adaptive scheduling method applied to a heterogeneous computing platform, characterized in that: The heterogeneous computing platform includes a plurality of programmable hardware, each of the programmable hardware is bound to at least one algorithm node for executing at least one algorithm program, and the method includes: Initializing the computing resources of each algorithm node and setting a time interval for adaptive adjustment; Counting the amount of tasks of each algorithm node within the time interval; Allocate new computing resources to each algorithm node according to the task amount, the computing resources of each programmable hardware and the computing amount required to execute the algorithm program, and control each programmable hardware to execute the algorithm program corresponding to each algorithm node according to the new computing resources; The allocating new computing resources to each algorithm node according to the task amount, the computing resources of each programmable hardware, and the computing amount required to execute the algorithm program, and controlling each programmable hardware to execute the algorithm program corresponding to each algorithm node according to the new computing resources, includes: Based on the computing resources required by each algorithm node, new computing resources are allocated to each algorithm node, and each programmable hardware is controlled to execute the algorithm program corresponding to each algorithm node according to the new computing resources; the computing resources required by each algorithm node are proportional to RCx*Px, and the computing resources required by each algorithm node are positively correlated with the computing resources of the programmable hardware, wherein Px is the task amount of the x-th algorithm node, and RCx is the computing amount required to execute the x-th algorithm program.
2. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 1, characterized in that: The time interval includes a first preset time interval and a second preset time interval, and the first preset time interval is smaller than the second preset time interval.
3. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 2, characterized in that: The step of allocating new computing resources to each algorithm node comprises: Determine whether the computing resource difference of each of the algorithm nodes is greater than a preset computing difference within the first preset time interval, wherein the computing resource difference is the difference between the computing resources of the algorithm node at the first moment and the computing resources of the algorithm node at the second moment, and the difference between the first moment and the second moment is the first preset time interval; If so, the computing resources of the programmable hardware corresponding to the algorithm node are adjusted.
4. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 3, characterized in that: The method further comprises: When the computing resource difference of each algorithm node is greater than the preset computing difference, determining whether the new computing resources required by the algorithm node exceed the remaining computing resources of the programmable hardware corresponding to the algorithm node; If so, the remaining computing resources are allocated to the algorithm node.
5. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 2, characterized in that: The method comprises: Counting the task amount of each algorithm node within the current second preset time interval; Calculate the computing resources required for each of the algorithm nodes according to the task amount of the algorithm node within the current second preset time interval, the computing resources of each of the programmable hardware, and the computing amount required to execute the algorithm program; New computing resources are allocated to each of the algorithm nodes according to the throughput of the algorithm node in the current second preset time interval and the throughput of the algorithm node in the previous second preset time interval.
6. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 5, characterized in that: The step of allocating new computing resources to each algorithm node according to the throughput of the algorithm node in the current second preset time interval and the throughput of the algorithm node in the previous second preset time interval includes: Record the throughput of the algorithm node in the current second preset time interval and the throughput of the algorithm node in the previous second preset time interval as the current throughput and the previous throughput respectively; Determining whether the current throughput is greater than the previous throughput; If so, the algorithm nodes are bound to new programmable hardware that meets the new computing resource conditions in the order of the new computing resources required by each of the algorithm nodes.
7. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 6, characterized in that: The step of binding the algorithm node to the new programmable hardware that meets the new computing resource conditions according to the order of the new computing resources required by each algorithm node comprises: Determining whether the decrease ratio of the current throughput exceeds a preset threshold; If the preset threshold is exceeded, judging whether the programmable hardware corresponding to the current algorithm node meets the conditions for allocating the new computing resources to the algorithm node according to the order of the new computing resources required by each algorithm node; If not, the algorithm node is unbound from the programmable hardware corresponding to the current algorithm node, and the algorithm node is bound to new programmable hardware that meets the condition, so that the new programmable hardware executes the algorithm program corresponding to the algorithm node.
8. The adaptive scheduling method applied to a heterogeneous computing platform according to claim 1, characterized in that: The task amount, the computing resources of each programmable hardware, and the computing amount required to execute the algorithm program are processed using the following formula to obtain the new computing resources required for each algorithm node: Among them, A x is the new computing resources required by the xth algorithm node, P x is the task volume of the xth algorithm node, C j is the computing resource of the jth programmable hardware, RC x is the amount of computation required to execute the xth algorithm program, N is the number of programmable hardware, M is the number of algorithm nodes, RC i The amount of computation required to execute the i-th algorithm program, P i is the task amount of the i-th algorithm node.
9. An adaptive scheduling device, characterized in that: It comprises a memory and a processor connected to each other, wherein the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the adaptive scheduling method applied to a heterogeneous computing platform as described in any one of claims 1 to 8.
10. A computer-readable storage medium for storing a computer program, characterized in that: When the computer program is executed by a processor, it is used to implement the adaptive scheduling method applied to a heterogeneous computing platform according to any one of claims 1 to 8.
Citation Information
Patent Citations
Load balancing realization method in cloud computing environment
CN102622275A
Task scheduling method and device based on multi-core system
CN102831011A
