WO2023185825A1 - 调度方法、第一计算节点、第二计算节点以及调度系统 - Google Patents

调度方法、第一计算节点、第二计算节点以及调度系统 Download PDF

Info

Publication number
WO2023185825A1
WO2023185825A1 PCT/CN2023/084359 CN2023084359W WO2023185825A1 WO 2023185825 A1 WO2023185825 A1 WO 2023185825A1 CN 2023084359 W CN2023084359 W CN 2023084359W WO 2023185825 A1 WO2023185825 A1 WO 2023185825A1
Authority
WO
WIPO (PCT)
Prior art keywords
algorithm
period
algorithms
execution
usage data
Prior art date
Application number
PCT/CN2023/084359
Other languages
English (en)
French (fr)
Inventor
代明
谢立君
康宏伟
白钰
Original Assignee
阿里巴巴(中国)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴(中国)有限公司 filed Critical 阿里巴巴(中国)有限公司
Publication of WO2023185825A1 publication Critical patent/WO2023185825A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Definitions

  • This application relates to the field of artificial intelligence, especially to the field of computer vision and algorithm resource scheduling.
  • polling is used mechanically to allow different cameras to share algorithm resources.
  • different cameras seize algorithm resources.
  • cameras often occupy algorithm resources at times when analysis is not needed. Therefore, computational demands cannot be met and algorithmic resources are not fully utilized.
  • Embodiments of the present application provide a scheduling method, a first computing node, a second computing node, and a scheduling system to solve problems existing in related technologies.
  • embodiments of the present application provide a scheduling method, including:
  • the algorithm usage data of N algorithms in the first period is obtained;
  • the algorithm uses data to input the prediction model to obtain the execution plans of N algorithms in the second period, and N is a positive integer.
  • embodiments of the present application provide a scheduling method, including:
  • embodiments of the present application provide a first computing node, including:
  • the algorithm execution module is used to obtain the algorithm usage data of the N algorithms in the first period based on the execution plans of the N algorithms in the first period;
  • the algorithm uses data to input the prediction model to obtain the execution plans of N algorithms in the second period, and N is a positive integer.
  • embodiments of the present application provide a second computing node, including:
  • the communication module is used to receive the algorithm usage data of N algorithms in the first period; where N is a positive integer;
  • the prediction module is used to input the algorithm usage data into the prediction model to obtain the execution plans of N algorithms in the second period.
  • embodiments of the present application provide a scheduling system, including:
  • the first computing node is used to obtain the algorithm usage data of N algorithms in the first period based on the execution plans of the N algorithms in the first period; where N is a positive integer;
  • the second computing node is used to input the algorithm usage data into the prediction model to obtain the execution plans of N algorithms in the second period.
  • embodiments of the present application provide a computing node, including a memory, a processor, and a computer program stored on the memory.
  • the processor implements the method provided by any embodiment of the present application when executing the computer program.
  • embodiments of the present application provide a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium.
  • the computer program is executed by a processor, the method provided by any embodiment of the present application is implemented.
  • embodiments of the present application provide a computer program product, including a computer program. When executed by a processor, the computer program implements the method provided by any embodiment of the present application.
  • the computing node obtains the algorithm usage data in the corresponding time period based on the execution plan of at least one algorithm, and uses the algorithm usage data and the prediction model to obtain execution plans in other time periods.
  • the execution plan of each algorithm is dynamically updated based on feedback from the algorithm usage data. Therefore, it can adapt to the distribution of computing requirements in real scenarios and make full use of algorithm resources, providing more high-quality algorithm services with the same hardware configuration.
  • Figure 1 is a schematic diagram of the application scenario of the scheduling method according to the embodiment of the present application.
  • Figure 2 is a schematic flowchart of a scheduling method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the execution plan in the embodiment of the present application.
  • Figure 4 is a schematic flowchart of a scheduling method according to another embodiment of the present application.
  • FIG. 5 is a schematic diagram of an application example of the scheduling method provided by this application.
  • Figure 6 is a structural block diagram of a first computing node according to an embodiment of the present application.
  • Figure 7 is a structural block diagram of a second computing node according to an embodiment of the present application.
  • Figure 8 is a structural block diagram of a scheduling system according to an embodiment of the present application.
  • Figure 9 is a structural block diagram of an electronic device according to an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an exemplary application scenario.
  • edge computing nodes 120 are deployed between multiple cameras 130 as data sources and the cloud center 110 .
  • the edge computing node 120 is a data processing node built close to the edge side of the network (the camera 130 side). It is used to provide storage, AI (Artificial Intelligence, artificial intelligence) computing and other resources, and has the characteristics of being distributed and closer to the data source.
  • Edge computing nodes 120 can be used to move some key application functions to the edge of the access network without uploading massive amounts of all data to the cloud center 110 for processing, thereby reducing bandwidth and delay losses caused by network transmission and multi-level forwarding. .
  • cameras can be connected to edge computing nodes, and computer vision algorithms such as key area occupancy detection algorithms, crowd gathering detection algorithms, and garbage detection algorithms can be used for AI analysis at the edge computing nodes.
  • computer vision algorithms such as key area occupancy detection algorithms, crowd gathering detection algorithms, and garbage detection algorithms can be used for AI analysis at the edge computing nodes.
  • Edge hardware computing resources are expensive and have relatively poor processing capabilities. Therefore, edge computing nodes are often unable to perform AI algorithm analysis on the data of every connected camera. They can only allocate algorithm analysis capabilities to the video streams of some of the connected cameras, and upload other video streams or corresponding image data to the cloud. center. In order to be able to process more camera data in edge computing nodes, the algorithm resource utilization of edge computing nodes needs to be improved.
  • Embodiments of this application provide a scheduling method that supports dynamic updating of algorithm execution plans based on algorithm usage data in specific scenarios to adapt to the distribution of computing power usage in real scenarios and fully utilize the computing power of a single device to provide more high-quality AI services.
  • Figure 2 shows a schematic flowchart of a scheduling method according to an embodiment of the present application.
  • the method can be executed by the edge computing node shown in Figure 1, but is not limited thereto.
  • the method includes:
  • the above execution plan including the execution plan in the first period and the execution plan in the second period, can be used to schedule each algorithm.
  • the execution plan can indicate the execution time of each algorithm, and the edge computing node can schedule each algorithm to run at the corresponding execution time according to the execution plan.
  • the algorithm in the embodiment of this application may be an AI algorithm.
  • the algorithm may include computer vision algorithms, such as deep learning-based image classification algorithms, target detection algorithms, semantic segmentation algorithms, instance segmentation algorithms, etc.
  • N algorithms can include computers targeting different target data in the scenario. Vision Algorithms.
  • N algorithms can include crowd gathering detection algorithms, key area detection algorithms, key area detection algorithms, target person detection algorithms, etc.
  • N algorithms can include violation detection algorithms, congestion detection algorithms, target vehicle detection algorithms, etc.
  • the execution plan of the above N algorithms in the first period may include the execution plan of the N algorithms as a whole in the first period. For example, all algorithms are executed every 5 minutes, or all algorithms are executed in certain periods. Execute at all times.
  • the execution plan of the N algorithms in the first period may also include the execution plan of each of the N algorithms. For example, algorithm A is executed every 5 minutes, algorithm B is executed every 10 minutes, etc.
  • the algorithm usage data of the N algorithms in the first period may include the algorithm usage data of the N algorithms as a whole in the first period, or may include the algorithm usage data of each of the N algorithms in the first period. data.
  • the algorithm usage data of the N algorithms can be obtained by executing the execution plans of the N algorithms in the first period.
  • each algorithm can be executed according to the execution plan in the first period to obtain the execution results of each algorithm, and the algorithm usage data of each algorithm can be obtained based on the execution results of each algorithm.
  • the computing node executing the above method can input the algorithm usage data into the prediction model on its own to obtain the execution plan of the algorithm in the second period.
  • the computing node that executes the above method can also send the algorithm usage data to other computing nodes, so that the other computing nodes use the prediction model and the algorithm usage data to obtain the execution plan of the algorithm in the second period.
  • other computing nodes include cloud centers and/or other edge computing nodes.
  • an edge computing node deployed at the edge of the cloud for executing AI algorithms is connected to a camera, and based on the video stream or images in the video stream collected by the camera and the execution plan in the first period, the execution For each AI algorithm, the algorithm usage data of each AI algorithm in the first period is obtained.
  • the edge AI computing node can send algorithm usage data to the scheduling configuration prediction device in the network, and the scheduling configuration prediction device outputs usage demand information for each AI algorithm based on the prediction model, and sends the usage demand information to the scheduler in the network.
  • Configuration management module the scheduling configuration management module outputs the execution plan of each AI algorithm in the second period based on the usage demand information, and delivers the execution plan in the second period to the edge AI computing node.
  • the edge AI computing node can also send algorithm usage data to the cloud center, and the cloud center obtains the execution plan of each AI algorithm in the second period based on the prediction model, and sends the execution plan in the second period to the edge AI computing node.
  • the execution plan of the above algorithm within a specific period of time can be expressed based on the execution time or execution frequency of the algorithm within a specific period of time.
  • the execution plan of an AI algorithm from 8:00 to 9:00 can be that the AI algorithm is executed at 8:20 and 8:30, or it can be that the AI algorithm is executed every 5 seconds from 8:00 to 9:00. minutes or every 10 minutes.
  • the algorithm usage data of each algorithm can be obtained by scheduling each algorithm to execute the corresponding execution plan.
  • the execution results of each algorithm within a specific period of time can be used as the algorithm usage data of each algorithm within a specific period of time.
  • the target detection algorithm Take the target detection algorithm as an example.
  • the execution result of the algorithm within a specific period of time can refer to whether the algorithm detects the target within a specific period of time, the number of times the target is detected, the time the target is detected, the number of times the target is detected, and The ratio between execution times, etc.
  • the prediction model can be implemented based on a reinforcement learning algorithm.
  • the input information of the prediction model is the algorithm usage data
  • the output information can be the execution plan of the algorithm, or information related to the execution plan of the algorithm, such as information on the usage requirements of the algorithm, including but not limited to execution time, frequency and other parameters, or for Instructions on how to change the execution plan (for example, instructions such as increasing the execution frequency, reducing the execution frequency, increasing the number of executions, reducing the number of executions, etc.).
  • the usage method of the prediction model can be set accordingly based on actual needs, accuracy of the prediction model, etc.
  • Example 1 Each algorithm corresponds to a prediction model. By inputting the algorithm usage data of the algorithm in the first period into the prediction model corresponding to the algorithm, the execution plan of the algorithm in the second period is obtained.
  • Example 2 Each algorithm corresponds to a prediction model. By inputting the N algorithm usage data in the first period corresponding to the N algorithms into the prediction model corresponding to the first algorithm, the execution plan of the first algorithm in the second period is obtained. Among them, different weights are set for the algorithm usage data of each algorithm. For example, when the prediction model corresponding to the first algorithm is used for prediction, the weight of the algorithm usage data of the first algorithm is greater than the weight of the algorithm usage data of other algorithms.
  • Example 3 N algorithms correspond to one prediction model. By inputting the N algorithm usage data in the first period corresponding to the N algorithms into a prediction model, the execution plan of each algorithm output by the prediction model in the second period is obtained. In other words, the prediction model performs unified execution plan scheduling for all algorithms.
  • the first period may be a period before the second period.
  • the first time period and the second time period may be adjacent time periods, and/or the length of the first time period is equal to the length of the second time period.
  • the first time period may be from 8:00 to 9:00
  • the second time period may be from 9:00 to 10:00.
  • the above method can be performed periodically. For example, multiple cycles are set within a long time range, and in each cycle, based on the execution plan of each algorithm in the current cycle, the algorithm usage data of each algorithm in the current cycle is obtained to utilize the algorithm usage data. Get the execution plan of each algorithm in the next cycle. That is to say, assuming that the above-mentioned first period is the i-th period among multiple periods, the second period may be the i+1-th period among multiple periods, where i is a positive integer.
  • the computing node obtains the algorithm usage data in the corresponding time period based on the execution plan of each algorithm, and uses the algorithm usage data and prediction model to obtain execution plans in other time periods.
  • the execution plan of each algorithm is dynamically updated, so that it can adapt to the distribution of computing requirements in real scenarios and make full use of algorithm resources, providing more high-quality algorithm services under the same hardware configuration.
  • step S210 is to obtain the algorithm usage data of the N algorithms in the first period based on the execution plans of the N algorithms in the first period, including:
  • the execution plan of the i-th algorithm among N algorithms in the first period determine the M execution moments of the i-th algorithm; where i is a positive integer less than or equal to N, and M is a positive integer;
  • the algorithm usage data of the i-th algorithm in the first period is obtained.
  • the method of obtaining the algorithm usage data of an algorithm in a specific period includes: based on the execution plan of the algorithm in the period, determining each execution moment of the algorithm in the period. Then, the algorithm is executed at each execution time, and the execution results corresponding to each execution time are obtained. Then based on the execution results corresponding to each execution moment, the algorithm usage data is obtained. In this way, the algorithm usage data carries specific and comprehensive algorithm execution results, which is conducive to the use of reinforcement learning algorithms to accurately predict better algorithm execution plans and further improve the utilization of algorithm resources.
  • the execution results within the first period may include execution results corresponding to each execution time, specifically whether the target object or target event is detected at the execution time.
  • execution results corresponding to each execution time specifically whether the target object or target event is detected at the execution time.
  • its execution result at a certain moment refers to whether the garbage detection algorithm detects garbage at that moment.
  • the data used by the algorithm within a specific period of time can be a multi-dimensional vector.
  • Each element of the vector corresponds to each execution time or each predetermined time, indicating the execution result at that time.
  • Figure 3 shows a schematic diagram of an execution plan in an exemplary manner.
  • the edge computing node is configured with a garbage detection algorithm, a key area occupancy detection algorithm, and a crowd gathering detection algorithm.
  • Each algorithm is connected to some or all of the cameras connected to the edge computing node.
  • the garbage detection algorithm is connected to camera A
  • the key area occupancy detection algorithm is connected to camera B
  • the crowd gathering detection algorithm is connected to camera C.
  • the execution plans of each algorithm received by the edge computing node from 10:00 to 10:40 are: the garbage detection algorithm is executed every 5 minutes, the key area occupancy detection algorithm is executed every 10 minutes, and the crowd gathering The detection algorithm is executed every 15 minutes. Based on this, the execution time of each algorithm between 10:00 and 10:40 can be determined as shown in Figure 3.
  • the edge computing node can execute the corresponding algorithm based on the execution time shown in Figure 3. For example, the garbage detection algorithm, key area occupancy detection algorithm and crowd gathering detection algorithm are executed at 10:00, and only the garbage detection algorithm is executed at 10:05. The analogy will not be repeated here.
  • the execution results at each execution time include: not detected at 10:00, not detected at 10:15, and detected at 10:30. If 0 represents not detected and 1 represents detection, the algorithm usage data of the crowd gathering detection algorithm can be expressed as a vector (0,0,1).
  • the computing node that executes the above method can implement the execution of each algorithm by acquiring camera images instead of video streams, so as to reduce computing consumption when capturing images.
  • the above-mentioned execution of the i-th algorithm based on M execution moments yields the execution result of the i-th algorithm within the first period, including:
  • the image is processed based on the i-th algorithm, and the execution result of the i-th algorithm at the j-th execution time is obtained.
  • each algorithm can correspond to one or more cameras.
  • each algorithm uses images for algorithm analysis, and captures images instead of video streams by sending image acquisition instructions, allowing each camera to capture images asynchronously, occupying less computing resources.
  • the above method can reduce the computing resource usage and enable the edge computing node to support all connected cameras to share computing resources.
  • the above image acquisition instructions include based on ONVIF (Open Network Video Interface Forum, Open Network Video Interface Forum) protocol instructions.
  • ONVIF Open Network Video Interface Forum, Open Network Video Interface Forum
  • the ONVIF protocol creates a standard for video surveillance and other physical security products to communicate with each other, supporting the acquisition of target images directly from cameras.
  • the computing node that executes the above method can input the algorithm usage data into the prediction model on its own to obtain the execution plan of the algorithm in the second period. That is, the prediction model can be configured in the computing node that executes the above method.
  • the above scheduling method may also include the step of updating/adjusting parameters of the prediction model.
  • the above scheduling methods also include:
  • the feedback information corresponding to the N algorithms is obtained;
  • the parameters of the prediction model are adjusted.
  • the above-mentioned steps of obtaining feedback information and adjusting prediction model parameters can be performed before obtaining the execution plan of the algorithm in the second period, or after obtaining the execution plan of the algorithm in the second period.
  • This application does not apply. This is limited.
  • the step of obtaining the execution plan of each algorithm is performed multiple times, for example, this step is performed periodically, the above steps of obtaining feedback information and adjusting the parameters of the prediction model can also be performed multiple times, such as obtaining the algorithm's execution plan each time. Before executing the plan, the feedback information will be obtained and the parameters of the prediction model will be adjusted. Or, every time the execution plan of the algorithm is obtained twice, the feedback information will be obtained and the parameters of the prediction model will be adjusted.
  • the feedback information may be difference information between the execution plan and the algorithm usage data.
  • feedback information corresponding to the N algorithms is obtained, which may include:
  • the first vector is obtained; where k is a positive integer less than or equal to N;
  • the second vector corresponding to the k-th algorithm is obtained;
  • the predetermined time may be a predetermined period node or the execution time of the algorithm.
  • the plan information for each scheduled time can be determined based on the execution plan, and the plan information can refer to whether the algorithm is executed at that time.
  • the plan information at each predetermined time can be used as each element in the first vector.
  • the element value 1 in the first vector indicates that the algorithm is executed at the corresponding time, and the element value 0 indicates that the algorithm is not executed at the corresponding time.
  • the execution result at each predetermined time may refer to whether the target object or target event is detected at that time.
  • the execution results at each predetermined moment can be determined based on the use of data by the algorithm. For example, the execution result at each moment can be used as each element in the second vector, and 1 can be used to indicate detection, and 0 can be used to indicate not detected.
  • the garbage detection algorithm only detects garbage at 10:10 and 10:20
  • the key area occupancy detection algorithm detects that key areas are occupied at all its execution times
  • the crowd gathering detection algorithm detects that the key areas are occupied at all its execution times. If no crowd gathering is detected, the first vector and the second vector have different implementation methods according to the following different situations.
  • Case 1 The scheduled time is a scheduled period node.
  • the scheduled time between 10:00-10:40 can include 8 times: 10:00, 10:05, 10:10, 10:15, 10:20, 10:25, 10:30, 10:35, then according to Figure 3 and the above assumptions, the first vector corresponding to the garbage detection algorithm is (1,1,1,1,1,1,1) , the second vector is (0,0,1,0,1,0,0,0); the first vector corresponding to the key area occupancy detection algorithm is (1,0,1,0,1,0,1,0 ), the second vector is (1,0,1,0,1,0,1,0); the first vector corresponding to the crowd gathering detection algorithm is (1,0,0,1,0,0,1,0 ), the second vector is (0,0,0,0,0,0,0,0).
  • Case 2 The scheduled time is the execution time of the algorithm.
  • the scheduled time between 10:00-10:40 may include each execution time of the k-th algorithm.
  • each element of the first vector corresponding to the k-th algorithm is 1, and the number of execution times of the algorithm determines the number of elements of the first vector and the second vector.
  • the first vector corresponding to the garbage detection algorithm is (1,1,1,1,1,1,1)
  • the second vector is (0,0,1,0,1,0 ,0,0)
  • the first vector corresponding to the key area occupancy detection algorithm is (1,1,1,1)
  • the second vector is (1,1,1,1)
  • the first vector corresponding to the crowd gathering detection algorithm is (1,1,1)
  • the second vector is (0,0,0).
  • using vectors to represent execution plans and algorithm usage data can accurately represent the differences between execution plans and algorithm usage data based on distances between vectors such as Euclidean distance, cosine distance, etc., thus facilitating the actual Use feedback to accurately adjust predictive models to real-world scenarios.
  • Figure 4 shows a schematic flowchart of a scheduling method provided by another embodiment of the present application.
  • the method may optionally be performed by an edge computing node or a cloud center, but is not limited thereto.
  • the method includes:
  • edge AI computing nodes refer to computing nodes deployed at the edge of the cloud for executing AI algorithms.
  • the edge AI computing node connects to the camera, executes the execution plan of each AI algorithm in the first period based on the video stream or images in the video stream collected by the camera, and obtains and sends the algorithm usage data of each AI algorithm in the first period. .
  • the scheduling method provided in the above embodiment is jointly completed by the scheduling configuration prediction device and the scheduling configuration management module in the network.
  • the scheduling configuration prediction device and the scheduling configuration management module can also be deployed at the cloud edge.
  • the prediction model is configured in the scheduling configuration prediction device.
  • the scheduling configuration prediction device receives the algorithm usage data, inputs the algorithm usage data into the prediction model, obtains usage demand information for each algorithm based on the prediction model, and sends the usage demand information to the scheduling configuration management module in the network.
  • the scheduling configuration management module outputs the execution plan of each algorithm in the second period based on the usage demand information, and delivers the execution plan in the second period to the edge AI computing node.
  • the scheduling method provided in the above embodiment is executed by the cloud center.
  • the cloud center receives the algorithm usage data, obtains the execution plan of each algorithm in the second period based on the prediction model, and sends the execution plan in the second period to the edge AI computing node.
  • the above scheduling method may also include:
  • the feedback information corresponding to the N algorithms is obtained;
  • the parameters of the prediction model are adjusted.
  • the scheduling method can be implemented on the cloud edge.
  • the cloud edge is deployed with a scheduling configuration management module, a scheduling configuration prediction device, and edge AI computing nodes.
  • the edge AI computing node is equipped with a computing resource scheduling device, a scheduling data collection and processing device, and multiple AI algorithms. The specific technical details are as follows:
  • the scheduled target computing resource is located at the edge AI computing node connected to the camera.
  • the edge AI computing node deploys multi-channel AI algorithms, and the captured photos from each connected camera will flow to the edge AI computing node for algorithm calculation. All cameras share these AI algorithms and computing resources.
  • the computing resource scheduling device in the edge AI computing performance schedules task execution according to the execution plan initially configured by the user. Each time a task is executed, the computing resource scheduling device controls the camera configured in the execution plan to use the ONVIF protocol to capture images asynchronously. The images are streamed to the specific algorithm of the edge AI computing node for algorithm analysis, and the algorithm execution results are sent to the edge AI computing node. Scheduling data collection and processing device.
  • the scheduling data collection and processing device collects the logs of each algorithm call, processes the log details, and reports them to the scheduling configuration prediction device.
  • the scheduling configuration prediction device analyzes the usage distribution of different algorithms based on the algorithm usage data, predicts the edge device's algorithm usage requirements in the current specific scenario in the future, and synchronizes the prediction results to the scheduling configuration management module.
  • the scheduling configuration prediction device uses a prediction model (reinforcement learning model) to predict the future algorithm usage requirements of the edge device in the current scenario.
  • a prediction model reinforcement learning model
  • the algorithm of the prediction model is described as follows:
  • the initial configuration camera runs the algorithm periodically (for example, once every 2 minutes);
  • a reinforcement learning algorithm is used to use the results of each algorithm event as real-time feedback and as input to the reinforcement learning model to predict the algorithm execution time point in the future;
  • step c) Calculate the distance between the predicted algorithm execution time point in step b and the actual detection time point of the target, and use this distance as a negative feedback to adjust the parameters of the reinforcement learning algorithm in step b;
  • the scheduling configuration management module dynamically adjusts the algorithm execution frequency configuration of each camera, optimizes the use of computing power, and dynamically delivers the optimized scheduling configuration plan to the edge AI. Compute the node, update the algorithm scheduling configuration, and complete the entire link closed loop.
  • edge AI computing nodes that originally supported up to 12 AI analysis tasks can be upgraded to support 256 AI analysis tasks. It can be seen that according to the method of the embodiment of the present application, the execution plan of each algorithm can be dynamically updated based on the feedback of the algorithm usage data, so that it can adapt to the distribution of computing requirements in real scenarios and make full use of algorithm resources, providing the same hardware configuration. More high-quality algorithm services.
  • the embodiments of the present application also provide a first computing node.
  • the first computing node 600 may include:
  • the algorithm execution module 610 is used to obtain the execution plan of the N algorithms in the first period based on the execution plan of the N algorithms in the first period. Algorithm usage data over a period of time;
  • the algorithm uses data to input the prediction model to obtain the execution plans of N algorithms in the second period, and N is a positive integer.
  • the algorithm execution module 610 includes:
  • the execution time determination unit is used to determine M execution times of the i-th algorithm based on the execution plan of the i-th algorithm in the first period among N algorithms; where i is a positive integer less than or equal to N, M is a positive integer;
  • the execution result acquisition unit is used to execute the i-th algorithm based on M execution moments and obtain the execution result of the i-th algorithm within the first period;
  • the data acquisition unit is used to obtain the algorithm usage data of the i-th algorithm in the first period based on the execution result of the i-th algorithm in the first period.
  • execution result acquisition unit is specifically used to:
  • the image is processed based on the i-th algorithm, and the execution result of the i-th algorithm at the j-th execution time is obtained.
  • the image acquisition instructions include instructions based on the Open Network Video Interface Forum protocol.
  • the first computing node 600 also includes:
  • the feedback acquisition module 620 is used to obtain feedback information corresponding to the N algorithms based on the execution plans and algorithm usage data of the N algorithms in the first period;
  • the parameter adjustment module 630 is used to adjust the parameters of the prediction model based on the feedback information.
  • the feedback information acquisition module 620 includes:
  • the first vector acquisition unit is used to obtain the first vector based on the planning information at each scheduled moment in the first period in the N algorithms; where k is a positive integer less than or equal to N;
  • the second vector acquisition unit is used to obtain the second vector corresponding to the k-th algorithm based on the execution result of the k-th algorithm at each predetermined time;
  • a feedback information calculation unit is used to obtain feedback information corresponding to the k-th algorithm based on the distance between the first vector and the second vector.
  • the second computing node 700 may include:
  • the communication module 710 is used to receive algorithm usage data of N algorithms in the first period; where N is a positive integer;
  • the prediction module 720 is used to input the algorithm usage data into the prediction model to obtain the execution plans of the N algorithms in the second period.
  • the second computing node 700 may also include:
  • the feedback acquisition module is used to obtain feedback information corresponding to the N algorithms based on the execution plans of the N algorithms in the first period and the algorithm usage data;
  • the parameter adjustment module is used to adjust the parameters of the prediction model based on feedback information.
  • FIG. 8 shows a structural block diagram of the scheduling system 800.
  • the system 800 includes:
  • the first computing node 810 is used to obtain algorithm usage data of N algorithms in the first period based on the execution plans of the N algorithms in the first period; where N is a positive integer;
  • the second computing node 820 is used to input the algorithm usage data into the prediction model to obtain the execution plans of the N algorithms in the second period.
  • FIG. 9 shows a structural block diagram of an electronic device according to an embodiment of the present application.
  • the electronic device includes a first computing node and/or a second computing node for implementing the above method.
  • the electronic device includes: a memory 910 and a processor 920 .
  • the memory 910 stores a computer program that can run on the processor 920 .
  • the processor 920 executes the computer program, the scheduling method in the above embodiment is implemented.
  • the number of memory 910 and processor 920 may be one or more.
  • the electronic device also includes:
  • the communication interface 930 is used to communicate with external devices and perform data interactive transmission.
  • the bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 9, but it does not mean that there is only one bus or one type of bus.
  • the memory 910, the processor 920 and the communication interface 930 are integrated on one chip, the memory 910, the processor 920 and the communication interface 930 can communicate with each other through the internal interface.
  • Embodiments of the present application also provide a computer-readable storage medium, which stores a computer program. When the program is executed by a processor, the method provided in any embodiment of the present application is implemented.
  • An embodiment of the present application also provides a computer program product, which includes a computer program that implements the method provided in any embodiment of the present application when executed by a processor.
  • An embodiment of the present application also provides a chip, which includes a processor for calling and running instructions stored in the memory, so that the communication device installed with the chip executes the method provided by the embodiment of the present application.
  • Embodiments of the present application also provide a chip, including: an input interface, an output interface, a processor and a memory.
  • the input interface, the output interface, the processor and the memory are connected through an internal connection path, and the processor is used to execute the code in the memory. , when the code is executed, the processor is used to execute the method provided by the application embodiment.
  • processor may be a central processing unit (CPU), or other general-purpose processor, a digital signal processor (Digital Signal Processing, DSP), or an application-specific integrated circuit. (Application Specific Integrated Circuit, ASIC), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports Advanced RISC Machines (ARM) architecture.
  • ARM Advanced RISC Machines
  • the above-mentioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory.
  • the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically removable memory. Erase electrically programmable read-only memory (EPROM, EEPROM) or flash memory.
  • Volatile memory may include random access memory (RAM), which acts as an external cache. By way of illustration, but not limitation, many forms of RAM are available.
  • static random access memory static random access memory
  • dynamic random access memory dynamic random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double data rate synchronous dynamic random access Memory double data date SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • Sync Link DRAM SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • a computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • references to the terms “one embodiment,” “some embodiments,” “an example,” “specific examples,” or “some examples” or the like means that specific features are described in connection with the embodiment or example.
  • structures, materials or features are included in at least one embodiment or example of the present application.
  • the specific features, structures, materials or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
  • those skilled in the art may combine and combine different embodiments or examples and features of different embodiments or examples described in this specification unless they are inconsistent with each other.
  • first and second are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of indicated technical features. Thus, features defined as “first” and “second” may explicitly or implicitly include at least one of these features. In the description of this application, “plurality” means two or more than two, unless otherwise explicitly and specifically limited.
  • logic and/or steps represented in the flowcharts or otherwise described herein, for example, may be considered a sequenced list of executable instructions for implementing the logical functions, and may be embodied in any computer-readable medium, For use by, or in combination with, instruction execution systems, devices or devices (such as computer-based systems, systems including processors or other systems that can fetch instructions from and execute instructions from the instruction execution system, device or device) or equipment.
  • various parts of the present application may be implemented in hardware, software, firmware, or a combination thereof.
  • various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the method in the above embodiment can be completed by instructing relevant hardware through a program.
  • the program can be stored in a computer-readable storage medium. When executed, the program includes one of the steps of the method embodiment or other steps. combination.
  • each functional unit in various embodiments of the present application can be integrated into a processing module, or each unit can exist physically alone, or two or more units can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software function modules. If the above integrated modules are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium.
  • the storage medium can be a read-only memory, a magnetic disk or an optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提出一种调度方法、第一计算节点、第二计算节点以及调度系统。该方法包括:接收N个算法在第一时段内的算法使用数据;将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。利用本申请实施例可以适应真实场景下的计算需求分布并充分利用算法资源。

Description

调度方法、第一计算节点、第二计算节点以及调度系统
本申请要求于2022年03月30日提交中国专利局、申请号为202210333511.X、申请名称为“调度方法、第一计算节点、第二计算节点以及调度系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能领域,尤其涉及计算机视觉领域以及算法资源调度领域。
背景技术
在一些应用场景中,需要使用算法实时处理视频流中的图像数据,并且往往存在多个算法分别需要接入多个摄像头进行实时处理的情况。然而,计算节点的计算能力有限。为了支持每个算法处理更多摄像头传送的数据,需要对算法资源进行调度。
相关技术中,机械地采用轮询的方式让不同的摄像头共享算法资源,一方面造成不同的摄像头之间抢占算法资源,另一方面,摄像头常常在本不需要进行分析的时刻占用算法资源。因此,无法满足计算需求且没有充分利用算法资源。
发明内容
本申请实施例提供一种调度方法、第一计算节点、第二计算节点以及调度系统,以解决相关技术存在的问题。
第一方面,本申请实施例提供了一种调度方法,包括:
基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据;
其中,算法使用数据用于输入预测模型,以得到N个算法在第二时段内的执行计划,N为正整数。
第二方面,本申请实施例提供了一种调度方法,包括:
接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
第三方面,本申请实施例提供了一种第一计算节点,包括:
算法执行模块,用于基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据;
其中,算法使用数据用于输入预测模型,以得到N个算法在第二时段内的执行计划,N为正整数。
第四方面,本申请实施例提供了一种第二计算节点,包括:
通信模块,用于接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
预测模块,用于将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
第五方面,本申请实施例提供了一种调度系统,包括:
第一计算节点,用于基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据;其中,N为正整数;
第二计算节点,用于将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
第六方面,本申请实施例提供一种计算节点,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本申请任一实施例提供的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请任一实施例提供的方法。
第八方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请任一实施例提供的方法。
与现有技术相比,本申请具有如下优点:
根据本申请的技术方案,计算节点基于至少一个算法的执行计划,获得对应时段内的算法使用数据,利用该算法使用数据以及预测模型,得到其他时段内的执行计划。也就是说,基于算法使用数据的反馈,动态更新各算法的执行计划。因此,可以适应真实场景下的计算需求分布并充分利用算法资源,在同等硬件配置下提供更多高质量的算法服务。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1是本申请实施例的调度方法的应用场景的示意图;
图2是根据本申请一实施例的调度方法的流程示意图;
图3是本申请实施例中执行计划的示意图;
图4是根据本申请另一实施例的调度方法的流程示意图;
图5是本申请提供的调度方法的一个应用示例的示意图;
图6是本申请一实施例的第一计算节点的结构框图;
图7是本申请一实施例的第二计算节点的结构框图;
图8是本申请一实施例的调度系统的结构框图;
图9是根据本申请实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
为便于理解本申请实施例的技术方案,以下对可用于实现本申请实施例的应用场景进行说明。
图1为一个示例性的应用场景的示意图。在该应用场景中,作为数据源的多个摄像头130与云中心110之间部署有边缘计算节点120。这里,边缘计算节点120为靠近网络边缘侧(摄像头130侧)构建的数据处理节点,用于提供存储、AI(Artificial Intelligence,人工智能)计算等资源,具有分布式和更靠近数据源的特性。利用边缘计算节点120可以将部分关键应用功能下沉到接入网络边缘,无需将海量的所有数据上传至云中心110进行处理,从而可以减少网络传输和多级转发带来的带宽和时延损耗。
例如,在安防场景中,可以将摄像头接入边缘计算节点,在边缘计算节点采用计算机视觉算法例如重点区域占用检测算法、人群聚集检测算法、垃圾检测算法等进行AI分析。
边缘硬件计算资源价格高,处理能力相对较差。因此,往往边缘计算节点无法对接入的每一路摄像头的数据都进行AI算法分析,只能将算法分析能力分配给接入的部分摄像头的视频流,将其他视频流或相应的图像数据上传云中心。为了能够在边缘计算节点中处理更多的摄像头数据,需要提升边缘计算节点的算法资源使用率。
面向不同场景,算法的使用频率和使用的算力分布会和场景特性有很强的相关性。本申请实施例提供一种调度方法,支持根据特定场景的算法使用数据来动态进行算法执行计划的更新,以适应真实场景下的算力使用分布,充分利用单个设备算力来提供更多高质量的AI服务。
图2示出了根据本申请一实施例的调度方法的流程示意图,该方法可以由图1所示的边缘计算节点执行,但不仅限于此。该方法包括:
S210、基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据;其中,算法使用数据用于输入预测模型,以得到N个算法在第二时段内的执行计划。其中,N为正整数。
可选地,上述执行计划,包括第一时段内的执行计划以及第二时段内的执行计划,可以用于调度各算法。例如,执行计划可以指示各算法的执行时间,边缘计算节点可以按照该执行计划,调度各算法在对应的执行时间运行。
示例性地,本申请实施例中的算法,可以是AI算法。具体地,该算法可以包括计算机视觉算法,例如基于深度学习的图像分类算法、目标检测算法、语义分割算法、实例分割算法等。针对特定的应用场景,N个算法可以包括针对该场景下不同目标数据的计算机 视觉算法。例如,在安防场景,N个算法可以包括人群聚集检测算法、重点区域检测算法、重点区域检测算法、目标人物检测算法等。在智能交通场景,N个算法可以包括违章检测算法、拥堵检测算法、目标车辆检测算法等。
可选地,上述N个算法在第一时段内的执行计划,可以包括N个算法整体在第一时段内的执行计划,例如全部算法均每5分钟执行一次,或全部算法均在某几个时刻执行。或者,N个算法在第一时段内的执行计划,也可以包括N个算法中每个算法的执行计划,例如算法A每5分钟执行一次,算法B每10分钟执行一次等。相应地,N个算法在第一时段内的算法使用数据,可以包括N个算法整体在第一时段内的算法使用数据,也可以包括N个算法中每个算法在第一时段内的算法使用数据。
可选地,在上述步骤S210中,可以通过执行N个算法在第一时段内的执行计划,得到N个算法的算法使用数据。例如,可以按照第一时段内的执行计划执行各算法,得到各算法的执行结果,基于各算法的执行结果得到各算法的算法使用数据。
可选地,执行上述方法的计算节点在得到第一时段内的算法使用数据后,可以自行将算法使用数据输入预测模型,以得到算法在第二时段内的执行计划。
可选地,执行上述方法的计算节点也可以向其他计算节点发送算法使用数据,以使其他计算节点利用预测模型和算法使用数据得到算法在第二时段内的执行计划。示例性地,其他计算节点包括云中心和/或其他边缘计算节点。
例如,部署于云边缘的用于执行AI算法的边缘计算节点(以下称边缘AI计算节点)连接摄像头,基于摄像头采集的视频流或视频流中的图像以及在第一时段内的执行计划,执行各AI算法,得到各AI算法在第一时段内的算法使用数据。
然后,边缘AI计算节点可以向网络中的调度配置预测装置发送算法使用数据,由调度配置预测装置基于预测模型输出对各AI算法的使用需求信息,并将该使用需求信息发送至网络中的调度配置管理模块,由调度配置管理模块基于使用需求信息输出各AI算法在第二时段内的执行计划,并将第二时段内的执行计划下发至边缘AI计算节点。
边缘AI计算节点也可以向云中心发送算法使用数据,由云中心基于预测模型得到各AI算法在第二时段内的执行计划,并将第二时段内的执行计划下发至边缘AI计算节点。
示例性地,上述算法在特定时段内的执行计划,可以基于该算法在特定时段内的执行时间或执行频率表示。例如,某个AI算法在8:00至9:00的执行计划,可以是该AI算法在8:20以及8:30执行,也可以是该AI算法在8:00至9:00内每5分钟或每10分钟检测一次。
在上述步骤S210中,可以通过调度各算法执行对应的执行计划,得到各算法的算法使用数据。示例性地,可以将各算法在特定时段内的执行结果,作为各算法在特定时段内的算法使用数据。以目标检测算法为例,具体而言,算法在特定时段内的执行结果可以指该算法在特定时段内是否检测到目标、检测到目标的次数、检测到目标的时间、检测到目标的次数与执行次数之间的比值等。
示例性地,在本申请实施例中,预测模型可以基于强化学习算法实现。预测模型的输入信息为算法使用数据,输出信息可以是算法的执行计划,或者与算法的执行计划相关的信息,例如对算法的使用需求信息,包括但不限于执行时间、频率等参数,或者针对如何变更执行计划的指示信息(例如,提高执行频率、降低执行频率、增加执行次数、减少执行次数等指示信息)。
可选地,可以根据实际需求、预测模型的精度等,相应地设置预测模型的使用方式。以下提供几种示例:
示例1:每个算法对应一个预测模型。通过将该算法在第一时段的算法使用数据输入该算法对应的预测模型,得到该算法在第二时段的执行计划。
示例2:每个算法对应一个预测模型。通过将N个算法对应的第一时段内的N个算法使用数据输入第一算法对应的预测模型,得到第一算法在第二时段的执行计划。其中,针对各算法的算法使用数据设置不同的权重。例如,在利用第一算法对应的预测模型进行预测时,第一算法的算法使用数据的权重大于其他算法的算法使用数据的权重。
示例3:N个算法对应一个预测模型。通过将N个算法对应的第一时段内的N个算法使用数据输入一个预测模型,得到该预测模型输出的每个算法在第二时段内的执行计划。也就是说,该预测模型针对全部算法进行统一的执行计划调度。
在本申请实施例中,第一时段可以是第二时段之前的时段。可选地,第一时段和第二时段可以是相邻的时段,且/或,第一时段的时长与第二时段的时长相等。例如,第一时段可以是8:00至9:00,第二时段可以是9:00至10:00。
可选地,上述方法可以周期性地执行。例如,在一段较长的时间范围内设置多个周期,在每个周期内基于每个算法在当前周期的执行计划,得到每个算法在当前周期内的算法使用数据,以利用该算法使用数据得到每个算法在下一周期的执行计划。也就是说,假设上述第一时段是多个周期中的第i个周期,则第二时段可以是多个周期中的第i+1个周期,其中,i为正整数。
根据上述调度方法,计算节点基于各算法的执行计划,获得对应时段内的算法使用数据,利用该算法使用数据以及预测模型,得到其他时段内的执行计划。也就是说,基于算法使用数据的反馈,动态更新各算法的执行计划,从而可以适应真实场景下的计算需求分布并充分利用算法资源,在同等硬件配置下提供更多高质量的算法服务。
在一种示例性的实施方式中,上述步骤S210,基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据,包括:
根据N个算法中的第i个算法在第一时段内的执行计划,确定第i个算法的M个执行时刻;其中,i为小于或等于N的正整数,M为正整数;
基于M个执行时刻执行第i个算法,得到第i个算法在第一时段内的执行结果;
基于第i个算法在第一时段内的执行结果,得到第i个算法在第一时段内的算法使用数据。
也就是说,针对每个算法,分别执行其执行计划并获取算法使用数据。获取某个算法在特定时段内的算法使用数据的方式包括:基于该算法在该时段内的执行计划,确定该算法在该时段内的各个执行时刻。然后,在各个执行时刻执行该算法,得到各个执行时刻对应的执行结果。再基于各个执行时刻对应的执行结果,得到算法使用数据。如此,算法使用数据中承载具体、全面的算法执行结果,有利于采用强化学习算法准确预测更优的算法执行计划,进一步提升算法资源的利用率。
示例性地,第一时段内的执行结果,可以包括每个执行时刻对应的执行结果,具体可以为该执行时刻是否检测到目标物体或目标事件。例如,对于垃圾检测算法,其在某个时刻的执行结果,指垃圾检测算法在该时刻是否检测到垃圾。
示例性地,特定时段内的算法使用数据,可以为多维的向量。其中,向量的各个元素与各个执行时刻或各个预定的时刻对应,表示该时刻的执行结果。
图3示出了一个示例性方式中的执行计划的示意图。在该示例性方式中,边缘计算节点中配置有垃圾检测算法、重点区域占用检测算法和人群聚集检测算法。其中,每个算法均与边缘计算节点所连接的部分或全部摄像头对接,例如垃圾检测算法对接摄像头A,重点区域占用检测算法对接摄像头B,人群聚集检测算法对接摄像头C。
如图3所示,边缘计算节点接收到的各算法在10:00至10:40的执行计划分别是:垃圾检测算法每5分钟执行一次,重点区域占用检测算法每10分钟执行一次,人群聚集检测算法每15分钟执行一次。基于此,可以确定如图3所示的在10:00至10:40之间各算法的执行时刻。边缘计算节点可基于图3所示的执行时刻执行对应的算法,例如在10:00执行垃圾检测算法、重点区域占用检测算法和人群聚集检测算法,在10:05仅执行垃圾检测算法,以此类推,在此不进行赘述。以人群聚集检测算法为例,若仅在10:30检测到有人群聚集,则各执行时刻的执行结果包括:10:00未检测到,10:15未检测到,10:30检测到。若以0表示未检测到,以1表示检测到,则人群聚集检测算法的算法使用数据可以表示为向量(0,0,1)。
在一种示例性的实施方式中,执行上述方法的计算节点可以通过获取摄像头的图像而非视频流,来实现各算法的执行,以减少抓图时的计算消耗。具体地,上述基于M个执行时刻执行第i个算法,得到第i个算法在第一时段内的执行结果,包括:
在M个执行时刻中的第j个执行时刻,向第i个算法对应的摄像头发送图像获取指令,并接收来自摄像头的图像;其中,j为小于或等于M的整数;
基于第i个算法对图像进行处理,得到第i个算法在第j个执行时刻的执行结果。
可选地,每个算法可以对应于一个或多个摄像头。根据上述示例性的实施方式,各算法采用图像进行算法分析,通过发送图像获取指令抓取图像而非视频流,让每个摄像头异步抓图,占用的计算资源较少。相比抓取视频流并抽帧获得图像,上述方法可以降低计算资源占用,使得边缘计算节点能够支持连接的所有摄像头共享计算资源。
示例性地,上述图像获取指令包括基于ONVIF(Open Network Video Interface Forum, 开放式网络视频接口论坛)协议的指令。ONVIF协议创建了一个视频监测和其他物理安全领域的产品进行相互通信的标准,支持直接从摄像头获取目标图像。
如前述说明,执行上述方法的计算节点可以自行将算法使用数据输入预测模型,以得到算法在第二时段内的执行计划。也就是说,预测模型可以配置在执行上述方法的计算节点中。可选地,上述调度方法还可以包括更新/调整预测模型的参数的步骤。
具体而言,上述调度方法还包括:
基于N个算法在第一时段内的执行计划以及算法使用数据,得到N个算法对应的反馈信息;
基于该反馈信息,调整预测模型的参数。
可选地,上述获取反馈信息并调整预测模型参数的步骤,可以在获取算法在第二时段内的执行计划之前执行,也可以在获取算法在第二时段内的执行计划之后执行,本申请不对此进行限定。
可选地,若多次执行获取每个算法的执行计划的步骤,例如周期性地执行该步骤,则上述获取反馈信息并调整预测模型参数的步骤也可以多次执行,例如每次获取算法的执行计划之前,都会先获取反馈信息并调整预测模型的参数,或者,每获取两次算法的执行计划,则获取一次反馈信息并调整预测模型的参数。
示例性地,该反馈信息可以是执行计划和算法使用数据之间的差异信息。
示例性地,基于N个算法在第一时段内的执行计划以及算法使用数据,得到N个算法对应的反馈信息,可以包括:
基于N个算法中的第k个算法在第一时段内的每个预定时刻的计划信息,得到第一向量;其中,k为小于或等于N的正整数;
基于第k个算法在每个预定时刻的执行结果,得到第k个算法对应的第二向量;
基于第一向量与第二向量之间的距离,得到第k个算法对应的反馈信息。
示例性地,预定时刻可以是预定的周期节点,也可以是算法的执行时刻。基于执行计划可以确定每个预定时刻的计划信息,该计划信息可以指该时刻是否执行算法。示例性地,各预定时刻的计划信息可以作为第一向量中的各元素,第一向量中的元素取值1表示对应的时刻上执行算法,元素取值0表示对应的时刻上不执行算法。
相应地,每个预定时刻的执行结果,可以指该时刻是否检测到目标物或目标事件。基于算法使用数据可以确定每个预定时刻的执行结果。示例性地,各时刻的执行结果可以作为第二向量中的各元素,可以用1表示检测到,用0表示未检测到。
以图3为例,假设垃圾检测算法仅在10:10和10:20检测到垃圾,重点区域占用检测算法在其全部执行时刻均检测到重点区域被占用,人群聚集检测算法在其全部执行时刻均未检测到人群聚集,则根据以下不同情况,第一向量和第二向量有不同的实现方式。
情况1:预定时刻为预定的周期节点。
例如,10:00-10:40之间的预定时刻可以包括8个时刻:10:00、10:05、10:10、10:15、 10:20、10:25、10:30、10:35,则根据图3以及上述假设,垃圾检测算法对应的第一向量为(1,1,1,1,1,1,1,1),第二向量为(0,0,1,0,1,0,0,0);重点区域占用检测算法对应的第一向量为(1,0,1,0,1,0,1,0),第二向量为(1,0,1,0,1,0,1,0);人群聚集检测算法对应的第一向量为(1,0,0,1,0,0,1,0),第二向量为(0,0,0,0,0,0,0,0)。
情况2:预定时刻为算法的执行时刻。
针对第k个算法,10:00-10:40之间的预定时刻可以包括第k个算法的各个执行时刻。则第k个算法对应的第一向量的各个元素均为1,算法的执行次数决定第一向量和第二向量的元素数量。根据图3以及上述假设,垃圾检测算法对应的第一向量为(1,1,1,1,1,1,1,1),第二向量为(0,0,1,0,1,0,0,0);重点区域占用检测算法对应的第一向量为(1,1,1,1),第二向量为(1,1,1,1);人群聚集检测算法对应的第一向量为(1,1,1),第二向量为(0,0,0)。
根据上述实施方式,采用向量表示执行计划和算法使用数据,可以基于向量之间的距离例如欧氏距离、余弦距离等,准确地表示执行计划和算法使用数据之间的差异,从而有利于根据实际使用反馈将预测模型准确调整至适应实际场景。
图4示出了本申请另一实施例提供的调度方法的流程示意图。该方法可选地可以由边缘计算节点或云中心执行,但不仅限于此。如图4所示,该方法包括:
S410、接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
S420、将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
示例性地,上述算法使用数据来自于边缘AI计算节点,或者说由边缘AI计算节点采集并发送。这里,边缘AI计算节点指部署在云边端的用于执行AI算法的计算节点。例如,边缘AI计算节点连接摄像头,基于摄像头采集的视频流或视频流中的图像,执行各AI算法在第一时段内的执行计划,得到并发送各AI算法在第一时段内的算法使用数据。
可选地,上述实施例提供的调度方法由网络中的调度配置预测装置和调度配置管理模块共同完成。可选地,该调度配置预测装置和调度配置管理模块也可以部署于云边端。其中,预测模型配置于调度配置预测装置。调度配置预测装置接收算法使用数据,将算法使用数据输入预测模型,基于预测模型得到对各算法的使用需求信息,并将该使用需求信息发送至网络中的调度配置管理模块。调度配置管理模块基于使用需求信息输出各算法在第二时段内的执行计划,并将第二时段内的执行计划下发至边缘AI计算节点。
可选地,上述实施例提供的调度方法由云中心执行。云中心接收算法使用数据,基于预测模型得到各算法在第二时段内的执行计划,并将第二时段内的执行计划下发至边缘AI计算节点。
示例性地,上述调度方法还可以包括:
基于N个算法在第一时段内的执行计划以及算法使用数据,得到N个算法对应的反馈信息;
基于该反馈信息,调整预测模型的参数。
在上述调度方法中的各技术细节可以参考前述实施例实现,在此不再进行赘述。
为了更清楚地呈现本申请的技术思路,下面提供一个具体的应用示例。
如图5所示,在本应用示例中,调度方法可以在云边端实现。云边端部署有调度配置管理模块、调度配置预测装置以及边缘AI计算节点。其中,边缘AI计算节点中配置计算资源调度装置、调度数据收集与处理装置以及多个AI算法。具体技术细节如下:
1、调度的目标计算资源位于连接摄像头的边缘AI计算节点。边缘AI计算节点部署多路AI算法,其连接的每个摄像头的抓图照片会流转到边缘AI计算节点进行算法计算,所有的摄像头共享这些AI算法和计算资源。
2、边缘AI计算绩点中的计算资源调度装置按照用户初始配置的执行计划调度任务执行。每次任务执行时,计算资源调度装置控制该执行计划配置的摄像头采用ONVIF协议进行异步抓图,图像流转到边缘AI计算节点具体的算法处进行算法分析,算法执行结果发送到边缘AI计算节点中的调度数据收集与处理装置。
3、调度数据收集与处理装置收集每路算法调用的日志,将日志明细加工处理后,上报至调度配置预测装置。调度配置预测装置根据算法使用数据分析不同算法的使用情况分布,预测出未来一段时间该边缘设备在当前特定场景下对算法的使用需求,并将预测结果同步到调度配置管理模块。
4、调度配置预测装置利用预测模型(强化学习模型)预测未来该边缘设备在当前场景的算法使用需求。其中,预测模型的算法描述如下:
a)初始配置摄像头周期性地运行算法(比如2分钟一次);
b)经过一段时间的试运行后,采用强化学习算法,将每次算法事件的结果作为实时反馈,作为强化学习模型的输入,预测未来一段时间的算法执行时间点;
c)计算步骤b中预测的算法执行时间点和实际检测到目标的时间点之间的距离,将这个距离做为负反馈调整步骤b中的强化学习算法的参数;
d)不断重复步骤b和c;
e)最终步骤b的强化学习算法的参数将趋于一组相对稳定的值,从而最少的算法执行代价检测到尽可能多的算法事件。
5、调度配置管理模块收到未来一段时间的当前特定场景下算法使用需求后,动态调整各摄像头的算法执行频率配置,优化算力的使用,并将优化的调度配置计划动态下发到边缘AI计算节点,更新算法调度配置,完成整个链路闭环。
在一些示例性的实际场景中采用上述方案,原本最多支持12路AI分析任务的边缘AI计算节点,可以提升至支持256路AI分析任务。可以看到,根据本申请实施例的方法,可以基于算法使用数据的反馈,动态更新各算法的执行计划,从而可以适应真实场景下的计算需求分布并充分利用算法资源,在同等硬件配置下提供更多高质量的算法服务。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种第一计算节点。参考图6,该第一计算节点600可以包括:
算法执行模块610,用于基于N个算法在第一时段内的执行计划,得到N个算法在第 一时段内的算法使用数据;
其中,算法使用数据用于输入预测模型,以得到N个算法在第二时段内的执行计划,N为正整数。
示例性地,算法执行模块610包括:
执行时刻确定单元,用于根据N个算法中的第i个算法在第一时段内的执行计划,确定第i个算法的M个执行时刻;其中,i为小于或等于N的正整数,M为正整数;
执行结果获取单元,用于基于M个执行时刻执行第i个算法,得到第i个算法在第一时段内的执行结果;
使用数据获取单元,用于基于第i个算法在第一时段内的执行结果,得到第i个算法在第一时段内的算法使用数据。
示例性地,执行结果获取单元具体用于:
在M个执行时刻中的第j个执行时刻,向第i个算法对应的摄像头发送图像获取指令,并接收来自摄像头的图像;其中,j为小于或等于M的整数;
基于第i个算法对图像进行处理,得到第i个算法在第j个执行时刻的执行结果。
示例性地,图像获取指令包括基于开放式网络视频接口论坛协议的指令。
可选地,如图6所示,第一计算节点600还包括:
反馈获取模块620,用于基于N个算法在第一时段内的执行计划以及算法使用数据,得到N个算法对应的反馈信息;
参数调整模块630,用于基于反馈信息,调整预测模型的参数。
示例性地,反馈信息获取模块620包括:
第一向量获取单元,用于基于N个算法中在第一时段内的每个预定时刻的计划信息,得到第一向量;其中,k为小于或等于N的正整数;
第二向量获取单元,用于基于第k个算法在每个预定时刻的执行结果,得到第k个算法对应的第二向量;
反馈信息计算单元,用于基于第一向量与第二向量之间的距离,得到第k个算法对应的反馈信息。
本申请实施例还提供一种第二计算节点。参考图7,该第二计算节点700可以包括:
通信模块710,用于接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
预测模块720,用于将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
可选地,第二计算节点700还可以包括:
反馈获取模块,用于基于N个算法在第一时段内的执行计划以及算法使用数据,得到N个算法对应的反馈信息;
参数调整模块,用于基于反馈信息,调整预测模型的参数。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应 的有益效果,在此不再赘述。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种调度系统。图8示出了调度系统800的结构框图,系统800包括:
第一计算节点810,用于基于N个算法在第一时段内的执行计划,得到N个算法在第一时段内的算法使用数据;其中,N为正整数;
第二计算节点820,用于将算法使用数据输入预测模型,得到N个算法在第二时段内的执行计划。
该系统用于实现上述各实施例的方法,具体技术细节可参考方法实施例中相应的内容实现,并具备相应的有益效果,在此不再赘述。
本申请实施例还提供了一种用于实现上述方法的电子设备。图9示出根据本申请实施例的电子设备的结构框图。该电子设备包括用于实现上述方法的第一计算节点和/或第二计算节点。如图9所示,该电子设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。处理器920执行该计算机程序时实现上述实施例中的调度方法。存储器910和处理器920的数量可以为一个或多个。
该电子设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本申请实施例还提供一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请任一实施例中提供的方法。
本申请实施例还提供一种计算机程序产品,其包括计算机程序,该计算机程序在被处理器执行时实现本申请任一实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Sync Link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序, 包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (14)

  1. 一种调度方法,包括:
    基于N个算法在第一时段内的执行计划,得到所述N个算法在所述第一时段内的算法使用数据;
    其中,所述算法使用数据用于输入预测模型,以得到所述N个算法在第二时段内的执行计划,N为正整数。
  2. 根据权利要求1所述的方法,其中,所述基于N个算法在第一时段内的执行计划,得到所述N个算法在所述第一时段内的算法使用数据,包括:
    根据所述N个算法中的第i个算法在第一时段内的执行计划,确定所述第i个算法的M个执行时刻;其中,i为小于或等于N的正整数,M为正整数;
    基于所述M个执行时刻执行所述第i个算法,得到所述第i个算法在所述第一时段内的执行结果;
    基于所述第i个算法在所述第一时段内的执行结果,得到所述第i个算法在所述第一时段内的算法使用数据。
  3. 根据权利要求2所述的方法,其中,所述基于所述M个执行时刻执行所述第i个算法,得到所述第i个算法在所述第一时段内的执行结果,包括:
    在所述M个执行时刻中的第j个执行时刻,向所述第i个算法对应的摄像头发送图像获取指令,并接收所述摄像头发送的图像;其中,j为小于或等于M的整数;
    基于所述第i个算法对所述图像进行处理,得到所述第i个算法在所述第j个执行时刻的执行结果。
  4. 根据权利要求3所述的方法,其中,所述图像获取指令包括基于开放式网络视频接口论坛协议的指令。
  5. 根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
    基于所述N个算法在所述第一时段内的执行计划以及所述算法使用数据,得到所述N个算法对应的反馈信息;
    基于所述反馈信息,调整所述预测模型的参数。
  6. 根据权利要求5所述的方法,其中,所述基于所述N个算法在所述第一时段内的执行计划以及所述算法使用数据,得到所述N个算法对应的反馈信息,包括:
    基于所述N个算法中的第k个算法在第一时段内的每个预定时刻的计划信息,得到第一向量;其中,k为小于或等于N的正整数;
    基于所述第k个算法在所述每个预定时刻的执行结果,得到所述第k个算法对应的第二向量;
    基于所述第一向量与所述第二向量之间的距离,得到所述第k个算法对应的反馈信息。
  7. 一种调度方法,包括:
    接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
    将所述算法使用数据输入预测模型,得到所述N个算法在第二时段内的执行计划。
  8. 根据权利要求7所述的方法,其中,所述方法还包括:
    基于所述N个算法在所述第一时段内的执行计划以及所述算法使用数据,得到所述N个算法对应的反馈信息;
    基于所述反馈信息,调整所述预测模型的参数。
  9. 一种第一计算节点,包括:
    算法执行模块,用于基于N个算法在第一时段内的执行计划,得到所述N个算法在第一时段内的算法使用数据;
    其中,所述算法使用数据用于输入预测模型,以得到所述N个算法在第二时段内的执行计划,N为正整数。
  10. 一种第二计算节点,包括:
    通信模块,用于接收N个算法在第一时段内的算法使用数据;其中,N为正整数;
    预测模块,用于将所述算法使用数据输入预测模型,得到所述N个算法在第二时段内的执行计划。
  11. 一种调度系统,包括:
    第一计算节点,用于基于N个算法在第一时段内的执行计划,得到所述N个算法在第一时段内的算法使用数据;其中,N为正整数;
    第二计算节点,用于将所述算法使用数据输入预测模型,得到所述N个算法在第二时段内的执行计划。
  12. 一种第一计算节点,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-6中任一项所述的方法。
  13. 一种第二计算节点,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求7或8所述的方法。
  14. 一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
PCT/CN2023/084359 2022-03-30 2023-03-28 调度方法、第一计算节点、第二计算节点以及调度系统 WO2023185825A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210333511.XA CN114661444A (zh) 2022-03-30 2022-03-30 调度方法、第一计算节点、第二计算节点以及调度系统
CN202210333511.X 2022-03-30

Publications (1)

Publication Number Publication Date
WO2023185825A1 true WO2023185825A1 (zh) 2023-10-05

Family

ID=82033596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/084359 WO2023185825A1 (zh) 2022-03-30 2023-03-28 调度方法、第一计算节点、第二计算节点以及调度系统

Country Status (2)

Country Link
CN (1) CN114661444A (zh)
WO (1) WO2023185825A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661444A (zh) * 2022-03-30 2022-06-24 阿里巴巴(中国)有限公司 调度方法、第一计算节点、第二计算节点以及调度系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140281795A1 (en) * 2013-03-14 2014-09-18 Electronics And Telecommunications Research Institute Method and apparatus for decoding ldpc code
CN111680850A (zh) * 2020-08-12 2020-09-18 中兴软件技术(南昌)有限公司 基于迭代算法的负荷预测方法和系统
CN113850428A (zh) * 2021-09-24 2021-12-28 联想(北京)有限公司 作业调度的预测处理方法、装置和电子设备
CN114661444A (zh) * 2022-03-30 2022-06-24 阿里巴巴(中国)有限公司 调度方法、第一计算节点、第二计算节点以及调度系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140281795A1 (en) * 2013-03-14 2014-09-18 Electronics And Telecommunications Research Institute Method and apparatus for decoding ldpc code
CN111680850A (zh) * 2020-08-12 2020-09-18 中兴软件技术(南昌)有限公司 基于迭代算法的负荷预测方法和系统
CN113850428A (zh) * 2021-09-24 2021-12-28 联想(北京)有限公司 作业调度的预测处理方法、装置和电子设备
CN114661444A (zh) * 2022-03-30 2022-06-24 阿里巴巴(中国)有限公司 调度方法、第一计算节点、第二计算节点以及调度系统

Also Published As

Publication number Publication date
CN114661444A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
Wang et al. Convergence of edge computing and deep learning: A comprehensive survey
US9779316B2 (en) Scalable and distributed biometric processing
Tuli et al. Edgelens: Deep learning based object detection in integrated iot, fog and cloud computing environments
US11108575B2 (en) Training models for IOT devices
CN107871164B (zh) 一种雾计算环境个性化深度学习方法
EP3924845A1 (en) Responding to machine learning requests from multiple clients
Zhang et al. Blockchain-based collaborative edge intelligence for trustworthy and real-time video surveillance
US11412574B2 (en) Split predictions for IoT devices
WO2023185825A1 (zh) 调度方法、第一计算节点、第二计算节点以及调度系统
Fang et al. Serving deep neural networks at the cloud edge for vision applications on mobile platforms
JP2023511327A (ja) モデル訓練方法および装置
Abdelzaher et al. Five challenges in cloud-enabled intelligence and control
US20190037040A1 (en) Model tiering for iot device clusters
CN115914392A (zh) 算力网络资源调度方法及系统
Zhang et al. A serverless cloud-fog platform for dnn-based video analytics with incremental learning
Fang et al. Multi-tenant mobile offloading systems for real-time computer vision applications
CN113434303A (zh) 批处理的遥感影像智能处理模型预测性能优化系统及方法
CN116996941A (zh) 基于配网云边端协同的算力卸载方法、装置及系统
Makaya et al. Cost-effective machine learning inference offload for edge computing
CN114978913B (zh) 一种基于切链的服务功能链跨域部署方法及系统
CN116436980A (zh) 一种实时视频任务端网边协同调度方法及装置
Lee et al. Towards dynamically reconfigurable IoT camera virtualization for video analytics edge cloud services
CN113259472A (zh) 一种面向视频分析任务的边缘节点资源分配方法
Hou et al. Dystri: A Dynamic Inference based Distributed DNN Service Framework on Edge
da Silva et al. Online Machine Learning for Auto-Scaling Processing Services in the Edge Computing Environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23778190

Country of ref document: EP

Kind code of ref document: A1