A method and system for controlling algorithmic applications to edge computing devices

By configuring a status monitoring module and an artificial intelligence engine toolkit in the container of the edge computing device, the problem of not being able to monitor the running status of algorithm applications in the existing technology is solved, realizing dynamic allocation and load balancing of computing resources and improving the operating efficiency of the device.

CN115344347BActive Publication Date: 2026-03-27CHENGDU THUNDER SOFTWARE TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing technologies cannot effectively monitor the running status of algorithm applications inside edge computing device containers, resulting in the inability to dynamically allocate computing resources according to the device's hardware characteristics, leading to unbalanced device load and latency issues.

Method used

Container status monitoring modules and artificial intelligence engine development kits are configured in the containers of edge computing devices. These modules determine suitable hardware resources for algorithm applications from the hardware devices and dynamically allocate computing resources.

Benefits of technology

It enables effective monitoring and load balancing of algorithm applications on edge computing devices, allowing for real-time monitoring of device load and improving device utilization efficiency and balanced use of computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115344347B_ABST
    Figure CN115344347B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a control method and system for algorithm application of an edge computing device, a container state monitoring module and an artificial intelligence engine development kit are configured for the container in the container; the container state monitoring module is used to determine a first hardware device matched with the algorithm application from a plurality of hardware devices; the container state monitoring module is used to call the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device; the container state monitoring module is used to determine a second hardware device meeting an algorithm application running condition from the first hardware device based on the resource occupation data; the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device, so that the algorithm application is remotely deployed on the edge device in the cloud, and meanwhile, the hardware resources available for the application can be dynamically allocated according to the load of the device, and the load condition of the edge device can be mastered in real time.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of edge computing device, in particular to a control method for algorithm application of edge computing device, a control device for algorithm application of edge computing device, an electronic device and a computer readable medium. BACKGROUND

[0002] At present, the industrialization process of China's Internet of Vehicles is gradually accelerating, and the upstream and downstream enterprises in China's industry chain have formed a complete industry chain ecology led by communication chips, communication modules, terminal devices, whole vehicle manufacturing, operation services, testing and certification, high-precision positioning and map services, etc. around C-V2X (Cellular-Vehicle to Everything). Under the business flow of data providers such as communication, transportation, automobile, automatic driving platform and application software enterprises, the automobile moves from single vehicle intelligence to vehicle-road cooperation.

[0003] In the field of vehicle-road cooperation, the roadside device provides the information of other vehicle states and pedestrian motion states, i.e. the vehicle speed, brake, lane change and other traffic participants. At present, the vehicle state, pedestrian motion state and non-motor vehicle motion state on the road can be accessed by AI (Artificial Intelligence) algorithm after reasoning the structured data formed by the road camera. These AI algorithms will be adapted to road sensors, roadside edge computing devices or cloud, and with the development of C-V2X, intelligent networked vehicles have higher and higher real-time requirements for these structured data, therefore, these reasoning data will gradually be transferred from the cloud to the sensor device or roadside edge computing device, and the demand for algorithm deployment and management of roadside devices will gradually arise in the cloud.

[0004] However, at present, the management of algorithms on edge devices and the flexible allocation of computing power lack systematic support, or the frameworks on the market will have problems such as lack of evaluation of computing power resources and insufficient grasp of algorithm running state in actual use.

[0005] For example, in the prior art, the IoT Hub (Internet of Things Hub) of Azure (an operating system based on cloud computing developed by Microsoft) is usually used to register the edge computing device EdgeBox on the IoT Edge (Internet of Things Edge) of the IoT (Internet of Things) edge computing platform of Azure, and the application is packaged in the form of a container through the Azure platform to deploy and unload the algorithm application on the edge computing device EdgeBox in the cloud, and the running state of the current container application can be viewed in real time.

[0006] However, using the above application containerization deployment based manner can only view the deployment state and running state of the container itself, cannot monitor the running state of the application installed in the container, and cannot dynamically allocate hardware computing resource algorithm according to the hardware characteristics of the device. Further, when the load of a single device is too high, the computing resource of multiple edge computing devices cannot be load balanced, resulting in too high load of a single device, reducing the service life of the device, and further deepening the inference data processing delay problem of the associated AI, ultimately resulting in uneven use of computing resource. SUMMARY

[0007] Embodiments of the present application provide a control method and device for algorithm application of an edge computing device, an electronic device, and a computer readable storage medium, to solve the problem that the running state of the algorithm application in the container cannot be monitored.

[0008] The embodiments of the present application disclose a control method for algorithm application of an edge computing device, characterized in that the method is applied to an edge computing device, the edge computing device is used for communication connection with a cloud server, the edge computing device includes a container and a plurality of hardware devices, an algorithm application is installed in the container, and the method includes:

[0009] In response to remote deployment request information sent by the cloud server, a container state monitoring module and an artificial intelligence engine development kit are configured in the container for the container;

[0010] A first hardware device adapted to the algorithm application is determined from the plurality of hardware devices by the container state monitoring module;

[0011] The hardware resource occupation data of the first hardware device is obtained by calling the artificial intelligence engine development kit using the container state monitoring module;

[0012] A second hardware device meeting the running condition of the algorithm application is determined from the first hardware device based on the resource occupation data by the container state monitoring module;

[0013] The artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device.

[0014] Optionally, the edge computing device includes a container remote deployment module, the cloud server includes a container management module, and the container state monitoring module and the artificial intelligence engine development kit are configured in the container for the container in response to the remote deployment request information sent by the cloud server, which can include:

[0015] receiving a remote deployment request information sent by the cloud server, and in response to the remote deployment request information, invoking the container remote deployment module to pull container image data from the cloud server;

[0016] configuring a container state monitoring module and an artificial intelligence engine development kit inside the container based on the container image data.

[0017] Optionally, the edge computing device stores a preset container startup script, and before the step of determining, by the container state monitoring module, the first hardware device adapted to the algorithm application from the plurality of hardware devices, the method can further include:

[0018] When starting the container, the container state monitoring module in the container is started preferentially by the preset container startup script.

[0019] Optionally, the hardware resource occupation data at least includes general signal processor occupation rate, graphics processor occupation rate and central processor occupation rate, and the step of determining, by the container state monitoring module, the second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data can include:

[0020] When the general signal processor occupation rate of the first hardware device is less than a preset threshold, the first hardware device is determined as the second hardware device meeting the algorithm application running condition; and / or,

[0021] When the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphics processor occupation rate of the first hardware device is less than a preset threshold, the first hardware device is determined as the second hardware device meeting the algorithm application running condition; and / or,

[0022] When the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphics processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the central processor occupation rate of the first hardware device is less than a preset threshold, the first hardware device is determined as the second hardware device meeting the algorithm application running condition.

[0023] Optionally, the method can further include:

[0024] Based on a preset time period cycle, the container state monitoring module is invoked to monitor the hardware resource occupation data and sent to the container management module.

[0025] The embodiment of the present application also discloses a control method for algorithm application of an edge computing device, the method is applied to a cloud server, the cloud server is used for being in communication connection with the edge computing device, the edge computing device comprises a container and a plurality of hardware devices, the container is installed with an algorithm application, and the method can comprise:

[0026] sending remote deployment request information to the edge computing device, so that the edge computing device responds to the remote deployment request information, configures a container state monitoring module and an artificial intelligence engine development kit in the container for the container; the edge computing device determines a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module; the hardware resource occupation data of the first hardware device is acquired by calling the artificial intelligence engine development kit through the container state monitoring module; a second hardware device meeting the running condition of the algorithm application is determined from the first hardware device based on the resource occupation data through the container state monitoring module; the artificial intelligence engine development kit is called, so that the artificial intelligence engine development kit enables the algorithm application in the second hardware device.

[0027] The embodiment of the present application also discloses a control system for algorithm application of an edge computing device, the system is applied to an edge computing device, the edge computing device is used for being in communication connection with a cloud server, the edge computing device comprises a container and a plurality of hardware devices, the container is installed with an algorithm application, and the system can comprise:

[0028] a first customized configuration module, configured to configure a container state monitoring module and an artificial intelligence engine development kit in the container for the container in response to remote deployment request information sent by the cloud server;

[0029] a first hardware device determination module, configured to determine a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module;

[0030] a hardware resource occupation data acquisition module, configured to acquire hardware resource occupation data of the first hardware device by calling the artificial intelligence engine development kit through the container state monitoring module;

[0031] a second hardware device determination module, configured to determine a second hardware device meeting the running condition of the algorithm application from the first hardware device based on the resource occupation data through the container state monitoring module;

[0032] an algorithm application enabling module, configured to call the artificial intelligence engine development kit, so that the artificial intelligence engine development kit enables the algorithm application in the second hardware device.

[0033] Optionally, the edge computing device comprises a container remote deployment module, and the cloud server comprises a container management module; the first customized configuration module comprises:

[0034] a remote deployment request information receiving sub-module, configured to receive remote deployment request information sent by the cloud server, and in response to the remote deployment request information, invoke the container remote deployment module to pull container image data from the cloud server;

[0035] a container configuration sub-module, configured to configure a container state monitoring module and an artificial intelligence engine development kit inside the container based on the container image data.

[0036] Optionally, the edge computing device stores a preset container startup script, and can further comprise:

[0037] a priority startup module, configured to, when starting the container, preferentially start the container state monitoring module in the container through the preset container startup script.

[0038] Optionally, the hardware resource occupation data at least comprises general signal processor occupation rate, graphics processor occupation rate and central processor occupation rate, and the second hardware device determination module can comprise:

[0039] a first second hardware device determination sub-module, configured to, when the general signal processor occupation rate of the first hardware device is less than a preset threshold, determine that the first hardware device is a second hardware device that meets the algorithm application running condition; and / or,

[0040] a second second hardware device determination sub-module, configured to, when the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphics processor occupation rate of the first hardware device is less than a preset threshold, determine that the first hardware device is a second hardware device that meets the algorithm application running condition; and / or,

[0041] a third second hardware device determination sub-module, configured to, when the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphics processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the central processor occupation rate of the first hardware device is less than a preset threshold, determine that the first hardware device is a second hardware device that meets the algorithm application running condition.

[0042] Optionally, it can further comprise:

[0043] a cycle monitoring module, configured to, based on a preset time period, cyclically invoke the container state monitoring module to monitor the hardware resource occupation data, and send to the container management module.

[0044] The embodiment of the present application also discloses a control system for algorithm application of an edge computing device, which is characterized in that the system is applied to a cloud server, the cloud server is used for being in communication connection with the edge computing device, the edge computing device comprises a container and a plurality of hardware devices, the container is installed with an algorithm application, and the system comprises:

[0045] A second customized configuration module is used for sending remote deployment request information to the edge computing device, so that the edge computing device responds to the remote deployment request information, configures a container state monitoring module and an artificial intelligence engine development kit for the container in the container; the edge computing device determines a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module; the container state monitoring module is used for calling the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device; the container state monitoring module is used for determining a second hardware device meeting an algorithm application running condition from the first hardware device based on the resource occupation data; and the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device.

[0046] The embodiment of the present application also discloses an electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory complete mutual communication through the communication bus.

[0047] The memory is used for storing a computer program.

[0048] The processor is used for executing the program stored on the memory, and realizes the method as described in the embodiment of the present application.

[0049] The embodiment of the present application also discloses one or more computer readable media, which store instructions, when executed by one or more processors, cause the processor to execute the method as described in the embodiment of the present application.

[0050] The embodiment of the present application has the following advantages:

[0051] The embodiment of the application, by responding to the remote deployment request information sent by the cloud server, a container state monitoring module and an artificial intelligence engine development kit are configured in the container; the container state monitoring module determines a first hardware device adapted to the algorithm application from the plurality of hardware devices; the container state monitoring module calls the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device; the container state monitoring module determines a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data; the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device, thereby realizing remote deployment of the algorithm application to the edge device in the cloud, and the hardware resources available for the application can also be dynamically allocated according to the load of the device, and the load condition of the edge device can be mastered in real time. BRIEF DESCRIPTION OF DRAWINGS

[0052] Figure 1 is a step flow chart of a control method for an algorithm application of an edge computing device provided in the embodiment one of the application;

[0053] Figure 2 is a structural schematic diagram of an edge computing device and a cloud server provided in the embodiment of the application;

[0054] Figure 3 is a step flow chart of a control method for an algorithm application of an edge computing device provided in the embodiment two of the application;

[0055] Figure 4 is a structural block diagram of a control device for an algorithm application of an edge computing device provided in the embodiment three of the application;

[0056] Figure 5 is a structural block diagram of a control device for an algorithm application of an edge computing device provided in the embodiment four of the application;

[0057] Figure 6 is a block diagram of an electronic device provided in the embodiment of the application;

[0058] Figure 7 is a schematic diagram of a computer readable medium provided in the embodiment of the application. DETAILED DESCRIPTION

[0059] In order to make the above-mentioned purposes, features and advantages of the application more obvious and easy to understand, the application will be further described in detail below with reference to the drawings and specific embodiments.

[0060] Embodiment one

[0061] Referring toFigure 1 Fig. 13 shows a flow chart of steps of a method for controlling an algorithm application of an edge computing device according to an embodiment of the present application, which can include the following steps:

[0062] In step 101, a container state monitoring module and an artificial intelligence engine development kit are configured in the container in response to a remote deployment request information sent by the cloud server.

[0063] In step 102, the container state monitoring module determines a first hardware device from the plurality of hardware devices that is suitable for the algorithm application.

[0064] In step 103, the container state monitoring module calls the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device.

[0065] In step 104, the container state monitoring module determines a second hardware device from the first hardware device that meets the running condition of the algorithm application based on the resource occupation data.

[0066] In step 105, the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device.

[0067] For better understanding of the present application by those skilled in the art, the following briefly describes the terms involved in the present application:

[0068] C-V2X: refers to cellular vehicle-to-everything, where C refers to Cellular, and V2X refers to Vehicle to Everything, mainly including V2V (Vehicle to Vehicle), V2I (vehicle-to-infrastructure), V2P (vehicle to people) and V2N (vehicle to network) connections.

[0069] Docker Hub: Docker Hub is a cloud-based repository run and managed by Docker Inc., which can be used for enterprise to publish container images and deploy containers.

[0070] K3S: K3S is a lightweight container orchestration engine Kubernetes created by Rancher, an enterprise-level container management platform, which can be used for cluster management of containers. Because it has less overhead on running memory and occupied space, it is very suitable for edge computing use cases.

[0071] MQTT: A "lightweight" communication protocol based on the publish / subscribe mode, commonly used in the Internet of Things industry.

[0072] Container: Container technology is a kernel virtualization technology that provides lightweight virtualization to isolate processes and resources. By packaging code and dependencies together through container technology, software and system environments can be isolated, application data can be effectively isolated, and software applications can be quickly upgraded and released.

[0073] Edge computing: refers to an open platform that adopts network, computing, storage, and application core capabilities to provide near-end services. Its application program is initiated on the edge device side, which produces faster network service response and meets the basic needs of real-time business, application intelligence, security and privacy protection. For the Internet of Things, the edge computing technology breakthrough means that many controls will be implemented by local devices without the need to be handed over to the cloud, and the processing process will be completed in the local edge computing layer. This undoubtedly will greatly improve the processing efficiency and reduce the load of the cloud. Because it is closer to the user, it can also provide faster response to the user, and solve the demand at the edge. It can be understood that the edge computing device can be a device that provides edge computing services.

[0074] EdgeBox: An edge computing device that can perform AI (Artificial Intelligence) reasoning, which can be deployed at actual intersections and communicate through operator networks and platforms.

[0075] In actual application, the embodiment of the application can be applied to an edge computing device, which is generally scattered and arranged in multiple places in general. Therefore, in order to realize remote control, a corresponding cloud server can be configured for the edge computing device. The cloud server and the edge computing device can be independent devices without a containing relationship. The cloud server can be used for communication connection with the cloud server and can interact with the edge computing device to manage the edge computing device. The edge computing device and the cloud server can realize data interaction based on 4G, 5G, etc. Of course, it is also possible to connect the edge computing device and the cloud server by wire. For this, the embodiment of the application does not make any limitation.

[0076] The edge computing device can include a container, which is a kind of kernel virtualization technology, providing lightweight virtualization to isolate processes and resources. By packaging code and dependencies together through container technology, software and system environments can be isolated, effectively isolating application data and enabling software applications to be quickly upgraded and released, and can also be used to install algorithm applications, which can be applications that provide algorithm services, such as lower_bound, upper_bound, binary_search, and find algorithm applications.

[0077] The inventors of the present application have found in their research that the prior art based on application containerization deployment can only view the deployment state and running state of the container itself, and cannot monitor the running state of the application installed in the container, so it is not possible to dynamically allocate hardware computing power resources according to the hardware characteristics of the device, so the embodiments of the present application can add a container state monitoring module and an artificial intelligence engine development kit, such as an AI engine SDK (Software Development Kit), to the container through a cloud server, the AI engine SDK can be loaded on the EdgeBox as part of the container and provided to the algorithm application, enabling the algorithm application to use AI inference-related hardware resources such as CPU utilization, GPU utilization, DSP utilization, and AIP utilization provided by the HighPass platform within the container.

[0078] After the container state monitoring module and the artificial intelligence engine development kit are configured for the container, the first hardware device adapted to the algorithm application can be determined from the plurality of hardware devices by the container state monitoring module, and the container state monitoring module is used to call the artificial intelligence engine development kit, so that the artificial intelligence engine development kit obtains hardware resource occupation data for the first hardware device, and then the second hardware device meeting the algorithm application running condition is determined from the first hardware device by the container state monitoring module based on the resource occupation data. Specifically, the first hardware device can be a hardware parameter index, for example, CPU computing power, GPU memory capacity, memory capacity, etc. The first hardware device can be a hardware device adapted to the algorithm application, and the second hardware device can be a hardware device whose resource occupation data meets the minimum running standard of the algorithm application in the first hardware device. For example, the hardware device whose CPU occupation rate, GPU occupation rate, DSP occupation rate, AIP occupation rate, etc. meet the minimum running standard of the algorithm application can be used as the second hardware device.

[0079] After the second hardware device is determined, the artificial intelligence engine development kit can be called to enable the algorithm application in the second hardware device.

[0080] For example, when the EdgeBox device starts the container, the first hardware device adapted to the algorithm application is determined, the container state monitoring module of the EdgeBox device obtains the use of the first hardware device for AI inference in the current device through the AI engine SDK, that is, obtains the hardware resource occupation data of the first hardware device, and the container state monitoring module of the EdgeBox device determines the second hardware device meeting the minimum running standard of the algorithm application from the first hardware device according to the hardware resource occupation data after obtaining the use of the hardware resource. Finally, the EdgeBox device can call the AI engine SDK to allocate the second hardware device for the algorithm application, so that the algorithm application is enabled in the second hardware device.

[0081] The embodiment of the application, by responding to the remote deployment request information sent by the cloud server, a container state monitoring module and an artificial intelligence engine development kit are configured in the container for the container; the container state monitoring module determines a first hardware device adapted to the algorithm application from the plurality of hardware devices; the container state monitoring module calls the artificial intelligence engine development kit to obtain the hardware resource occupation data of the first hardware device; the container state monitoring module determines a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data; the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device, so that the algorithm application is deployed on the edge device remotely in the cloud, and the available hardware resources of the application can be dynamically allocated according to the load of the device, and the load condition of the edge device can be mastered in real time.

[0082] On the basis of the above-mentioned embodiment, a variant embodiment of the above-mentioned embodiment is proposed, and it should be noted that, in order to make the description brief, only the differences from the above-mentioned embodiment are described in the variant embodiment.

[0083] In an optional embodiment of the application, the edge computing device comprises a container remote deployment module, the cloud server comprises a container management module, and the container state monitoring module and the artificial intelligence engine development kit are configured in the container for the container in response to the remote deployment request information sent by the cloud server.

[0084] The remote deployment request information sent by the cloud server is received, and the container remote deployment module is called to pull container image data from the cloud server in response to the remote deployment request information;

[0085] Based on the container image data, a container state monitoring module and an artificial intelligence engine development kit are configured in the container for the container.

[0086] In practical applications, since the prior art does not monitor the running state of the container inside, the container state monitoring module and the artificial intelligence engine development kit are not packaged into the container, and the inventors of the present application have found in research that if the edge computing devices are deployed in a unified manner, the deployment cost will be increased and the deployment efficiency will be low, so the container remote deployment module can be packaged in the edge computing device, and the container management module is added in the cloud server, specifically, when the edge computing device needs to be deployed, the cloud server can send remote deployment request information to the container remote deployment module of the edge computing device through the container management module, after the edge computing device receives the remote deployment request information through the container remote deployment module, the container remote deployment module can be called to pull the container image data from the cloud server in response to the remote deployment request information, and the container image data can be used to configure the container state monitoring module and the artificial intelligence engine development kit for the container.

[0087] For example, the container management module of the cloud server initiates a remote deployment request to the container remote deployment module of the registered EdgeBox device through the Docker Hub interface, the container remote deployment module of the EdgeBox device pulls the container image customized by the preset from the Docker Hub image warehouse of the cloud server, and the container image can be used to add the container state monitoring and AI engine SDK modules to the container of the edge computing device.

[0088] In the embodiment of the present application, the remote deployment request information sent by the cloud server is received, and the container remote deployment module is called to pull the container image data from the cloud server in response to the remote deployment request information; based on the container image data, the container state monitoring module and the artificial intelligence engine development kit are configured for the container inside the container, thereby improving the deployment efficiency of the edge computing devices and reducing the deployment cost of the edge computing devices.

[0089] In an optional embodiment of the present application, the edge computing device includes a preset container startup script, and before the step of determining the first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module, the method further includes:

[0090] When starting the container, the container state monitoring module in the container is started preferentially through the preset container startup script.

[0091] In actual application, if the container state monitoring module starts to delay, the obtained hardware resource occupation data can be inaccurate, or the hardware device can be paralyzed due to serious overload at the beginning. Therefore, the embodiment of the application can encapsulate a preset container start script in the edge computing device, ensure that the container state monitoring module in the container is started preferentially when the container is started, ensure that the starting time of the container state monitoring module is earlier than that of other modules in the container, improve the accuracy of the hardware resource occupation data, and ensure the use safety of the hardware device.

[0092] In an optional embodiment of the application, the hardware resource occupation data at least includes general signal processor occupation rate, graphic processor occupation rate, central processor occupation rate, and the step of determining the second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data by the container state monitoring module includes:

[0093] when the general signal processor occupation rate of the first hardware device is less than a preset threshold, determining that the first hardware device is the second hardware device meeting the algorithm application running condition; and / or,

[0094] when the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphic processor occupation rate of the first hardware device is less than a preset threshold, determining that the first hardware device is the second hardware device meeting the algorithm application running condition; and / or,

[0095] when the general signal processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the graphic processor occupation rate of the first hardware device is greater than or equal to a preset threshold, and the central processor occupation rate of the first hardware device is less than a preset threshold, determining that the first hardware device is the second hardware device meeting the algorithm application running condition.

[0096] In specific implementation, the hardware resource occupation data of the embodiment of the application can include general signal processor DSP occupation rate, graphic processor GPU occupation rate, and central processor CPU occupation rate. The priority order of different occupation rates can be divided according to DSP occupation rate>GPU occupation rate>CPU occupation rate, and AIP can need to be specified by an algorithm application.

[0097] For example, when the DSP occupation rate is less than 80%, the DSP is used as the second hardware device of the algorithm application.

[0098] When the DSP occupation rate is greater than or equal to 80%, and the GPU occupation rate is less than 80%, the GPU is used as the second hardware device of the algorithm application.

[0099] When the DSP occupancy is greater than or equal to 80%, the GPU occupancy is greater than or equal to 80%, and the CPU occupancy is less than 80%, the CPU is used as the second hardware device for the algorithm application.

[0100] According to the situation, the starting of the algorithm application can be stopped, and the running state of the entire container can be stopped.

[0101] Of course, the above example is only an example, and a person skilled in the art can determine the second hardware device by other ways of algorithm or parameter indicators based on the signal processor occupancy, the graphic processor occupancy, and the central processor occupancy, and the present application is not limited thereto.

[0102] In an optional embodiment of the present application, the cloud server comprises a container management module, and the method can further comprise:

[0103] The container state monitoring module is called to monitor the hardware resource occupancy data based on a preset time period cycle, and the hardware resource occupancy data is sent to the container management module.

[0104] In actual application, the hardware resource occupancy data of the hardware device is not constant, and there can be a situation of hardware resource occupancy overload or a situation of low hardware resource occupancy during use. If the current hardware resource occupancy data is not obtained, load balancing for the hardware device cannot be achieved. Therefore, after the algorithm application is started, the edge computing device of the embodiment of the present application can call the container state monitoring module to monitor the hardware resource occupancy data at a preset time interval cycle, and send the hardware resource occupancy data to the container management module, so that the cloud server can obtain the load condition of the edge computing device in real time.

[0105] For example, after the algorithm application is started, the container state monitoring module can periodically monitor the resource occupancy of the algorithm application in the container, including the hardware inference resource occupancy, the memory occupancy, and the IO (Input / Output) occupancy. After the container state monitoring module obtains the container running state information including the resource occupancy, the container running state information can be transmitted to the container management module of the cloud server in the MQTT protocol.

[0106] The embodiment of the present application calls the container state monitoring module to monitor the hardware resource occupancy data based on a preset time period cycle, and sends the hardware resource occupancy data to the container management module, so that the cloud server can instantly master the occupancy condition of the hardware device, and the load balancing for the edge computing device is ensured to be achieved.

[0107] In order for a person skilled in the art to better understand the embodiment of the present application, the embodiment of the present application is described below with a complete example.

[0108] First, in order for those skilled in the art to better understand the present application, the following is a brief description of the terms involved in the present application:

[0109] Container management module: remote deployment of customized containers in EdgeBox through Docker Hub interface on cloud server, and monitoring of container running state.

[0110] Device management module: device registration of EdgeBox edge device on the cloud, management of device running state, and monitoring of overall device resource load.

[0111] Container remote deployment: carried on the system layer of EdgeBox, used to pull customized container images to the cloud server.

[0112] Customized container: based on container image, added container state monitoring module and artificial intelligence engine development kit AI engine SDK.

[0113] Container state monitoring module: carried on EdgeBox, monitors the hardware resources occupied by the container itself and the running state of the algorithm application in the container, and reports to the cloud in real time through MQTT protocol.

[0114] Artificial intelligence engine development kit AI engine SDK: carried on EdgeBox, as part of the customized container, provides algorithm application, so that algorithm application can use GPU, DSP, AIP and other AI inference related hardware resources provided by Qualcomm platform in the container.

[0115] For example, Figure 2As shown, a structural schematic diagram of an edge computing device and a cloud server is shown, the cloud server 201 includes a container management module 202, a device management module 203, an image warehouse Docker Hub 204, and a communication module 205, and the edge computing device EdgeBox 206 corresponding to the cloud server 201 includes a container remote deployment module 207 and a container 208. Specifically, the container 208 encapsulates an algorithm application 2081, before the edge computing device EdgeBox 206 is arranged, the device management module 203 can pre-register the edge computing device EdgeBox 206, when the edge computing device EdgeBox 206 is arranged, the container remote deployment module 207 of the registered edge computing device EdgeBox 206 can be initiated by the container management module 203 of the cloud server 201 through the interface of the image warehouse Docker Hub 204 to send a remote deployment request; the container remote deployment module 207 of the edge computing device EdgeBox 206 pulls the customized container image from the image warehouse Docker Hub 204, and after the image is pulled successfully, the container state monitoring module 2082 and the artificial intelligence engine development kit AI engine SDK 2083 are added in the container 208 based on the container image, and the container 208 is started; when the edge computing device EdgeBox 206 starts the container, the container state monitoring module 2082 is started preferentially according to the preset container start script, so as to judge what kind of hardware resources should be adapted to the algorithm application 2081; the container state monitoring module 2082 of the edge computing device EdgeBox 206 obtains the use of the hardware resources for AI inference of the current device through the artificial intelligence engine development kit AI engine SDK 2083, that is, the occupancy rate of hardware devices such as DSP, GPU, CPU and AIP is obtained, after the container state monitoring module 2082 of the edge computing device EdgeBox 206 obtains the use of the hardware resources, the container state monitoring module 2082 of the edge computing device EdgeBox 206 can specify the corresponding hardware inference resources for the algorithm application 2081 in the following way: when the DSP occupancy rate <80%, the DSP is used as the hardware inference resource of the algorithm application 2081; when the DSP occupancy rate ≥80% and the GPU occupancy rate <80%, the GPU is used as the hardware inference resource of the algorithm application 2081; when the DSP occupancy rate ≥80%, the GPU occupancy rate ≥80%, and the CPU occupancy rate <80%, the CPU is used as the hardware inference resource of the algorithm application 2081.In other cases, the starting algorithm application 2081 is stopped, and the running state of the entire container 208 is stopped, of course, the calculation mode can be dynamically adjusted through cloud remote configuration, and here only the default configuration calculation mode is described, and the algorithm application 2081 can call the artificial intelligence engine development kit AI engine SDK 2083 to use actual hardware inference resources through specified parameters, when the algorithm application 2081 is started, the container state monitoring module 2082 will regularly monitor the resource occupation rate of the algorithm application 2081 in the container 208, which can include hardware inference resource occupation rate, memory occupation rate, IO occupation rate and the like, and the container state monitoring module 2082 can transmit the running state information of the container 208 to the device management module 203 in the form of MQTT protocol through the communication module 205.

[0116] According to the above workflow, the algorithm application can be remotely deployed on the edge computing device on the cloud server, and the available hardware resources of the algorithm application can be dynamically allocated according to the load of the edge computing device, and the load of the edge computing device can be mastered in real time. And the cloud server can determine whether the computing power resources of other edge computing devices need to be introduced for supplement according to the current load of the edge computing device, or determine whether new edge computing devices need to be expanded, and deploy multiple edge computing devices in a single or multiple road sections to form a cluster, and flexibly meet the demand of roadside algorithm for computing power growth.

[0117] Embodiment two

[0118] Referring to Figure 3 , a step flowchart of a control method for an algorithm application of an edge computing device is shown, which can specifically include the following steps:

[0119] Step 301, sending a remote deployment request information to the edge computing device, so that the edge computing device responds to the remote deployment request information, configures a container state monitoring module and an artificial intelligence engine development kit in the container for the container; the edge computing device determines a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module; the container state monitoring module calls the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device; the container state monitoring module determines a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data; the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device.

[0120] In actual application, the embodiment of the application can be applied to a cloud server, the cloud server and the edge computing device are independent devices, the cloud server is used for communication connection with the cloud server, and can be used for data interaction with the edge computing device to control the edge computing device, the edge computing device includes a container and a plurality of hardware devices, and the container is installed with an algorithm application.

[0121] In the embodiment of the application, the cloud server sends a remote deployment request information to the edge computing device, so that the edge computing device responds to the remote deployment request information, configures a container state monitoring module and an artificial intelligence engine development kit in the container for the container; the edge computing device determines a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module; the container state monitoring module is used to call the artificial intelligence engine development kit to obtain hardware resource occupation data of the first hardware device; the container state monitoring module is used to determine a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data; the artificial intelligence engine development kit is called to enable the algorithm application in the second hardware device, so that the algorithm application is deployed on the edge device remotely in the cloud, and the hardware resources available for the application can be dynamically allocated according to the load of the device, and the load of the edge device can be mastered in real time.

[0122] For the second embodiment of the server side, it is basically similar to the first embodiment of the edge computing device side, so the description is relatively simple, and the relevant part is described in the method embodiment.

[0123] It should be noted that, for the method embodiment, in order to simply describe, it is expressed as a series of action combinations, but those skilled in the art should know that the embodiment of the application is not limited by the described action sequence, because according to the embodiment of the application, certain steps can be performed in other order or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions involved are not necessarily necessary for the embodiment of the application.

[0124] Embodiment three

[0125] Referring to Figure 4 , a structural block diagram of a control device for an algorithm application of an edge computing device is shown, which can specifically include the following modules:

[0126] The first customization configuration module 401 is configured to configure a container state monitoring module and an artificial intelligence engine development kit for the container in the container in response to remote deployment request information sent by the cloud server.

[0127] The first hardware device determination module 402 is configured to determine a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module.

[0128] The hardware resource occupation data acquisition module 403 is configured to acquire hardware resource occupation data of the first hardware device by calling the artificial intelligence engine development kit through the container state monitoring module.

[0129] The second hardware device determination module 404 is configured to determine a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupation data through the container state monitoring module.

[0130] The algorithm application enabling module 405 is configured to call the artificial intelligence engine development kit to enable the algorithm application in the second hardware device by the artificial intelligence engine development kit.

[0131] Optionally, the edge computing device comprises a container remote deployment module, and the cloud server comprises a container management module; the first customization configuration module comprises:

[0132] The remote deployment request information receiving sub-module is configured to receive remote deployment request information sent by the cloud server, and to call the container remote deployment module to pull container image data from the cloud server in response to the remote deployment request information.

[0133] The container configuration sub-module is configured to configure a container state monitoring module and an artificial intelligence engine development kit for the container in the container based on the container image data.

[0134] Optionally, the edge computing device stores a preset container startup script, and can further comprise:

[0135] The priority startup module is configured to preferentially start the container state monitoring module in the container by the preset container startup script when starting the container.

[0136] Optionally, the hardware resource occupation data at least comprises general signal processor occupation rate, graphic processor occupation rate and central processing unit occupation rate, and the second hardware device determination module can comprise:

[0137] The first second hardware device determining sub-module is configured to determine the first hardware device as a second hardware device meeting the algorithm application running condition when the general signal processor occupancy rate of the first hardware device is less than a preset threshold; and / or,

[0138] The second second hardware device determining sub-module is configured to determine the first hardware device as a second hardware device meeting the algorithm application running condition when the general signal processor occupancy rate of the first hardware device is greater than or equal to a preset threshold, and the graphic processor occupancy rate of the first hardware device is less than a preset threshold; and / or,

[0139] The third second hardware device determining sub-module is configured to determine the first hardware device as a second hardware device meeting the algorithm application running condition when the general signal processor occupancy rate of the first hardware device is greater than or equal to a preset threshold, the graphic processor occupancy rate of the first hardware device is greater than or equal to a preset threshold, and the central processor occupancy rate of the first hardware device is less than a preset threshold.

[0140] Optionally, the application further comprises:

[0141] The cycle monitoring module is configured to call the container state monitoring module to monitor the hardware resource occupancy data based on a preset time cycle, and send the hardware resource occupancy data to the container management module.

[0142] Embodiment four

[0143] Referring to Figure 5 , a structure block diagram of a control device for algorithm application of an edge computing device is shown, which can specifically include the following modules:

[0144] The second customized configuration module 501 is configured to send remote deployment request information to the edge computing device, so that the edge computing device responds to the remote deployment request information to configure a container state monitoring module and an artificial intelligence engine development kit in the container for the container; the edge computing device determines a first hardware device adapted to the algorithm application from the plurality of hardware devices through the container state monitoring module; acquires hardware resource occupancy data of the first hardware device by calling the artificial intelligence engine development kit using the container state monitoring module; determines a second hardware device meeting the algorithm application running condition from the first hardware device based on the resource occupancy data through the container state monitoring module; and calls the artificial intelligence engine development kit to enable the algorithm application in the second hardware device by the artificial intelligence engine development kit.

[0145] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0146] In addition, embodiments of the present invention also provide an electronic device, such as... Figure 6 As shown, it includes a processor 601, a communication interface 602, a memory 603, and a communication bus 604, wherein the processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604.

[0147] Memory 603 is used to store computer programs;

[0148] The processor 601, when executing the program stored in the memory 603, implements the control method for the application of algorithms to the edge computing device as described in the above embodiments.

[0149] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0150] The communication interface is used for communication between the aforementioned terminal and other devices.

[0151] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0152] The processor described above can be a general processor, including a central processing unit (CPU), a network processor (NP), etc.; or can be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.

[0153] As shown in FIG. 7, in another embodiment provided by the present application, a computer readable storage medium 701 is also provided, and the computer readable storage medium 701 stores instructions, which, when executed on a computer, cause the computer to perform the control method for algorithm application of an edge computing device described in the above embodiments. Figure 7

[0154] In another embodiment provided by the present application, a computer program product containing instructions is also provided, which, when executed on a computer, cause the computer to perform the control method for algorithm application of an edge computing device described in the above embodiments.

[0155] In the above embodiments, the implementation can be achieved entirely or partially by software, hardware, firmware, or any combination thereof. When implemented by software, the implementation can be achieved entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the flow or function described in the embodiments of the present application is entirely or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media sets. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.​

[0156] It is to be noted that, as used in this specification and the appended claims, the singular forms "a," "an" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component" can include a combination of two or more components, and the term "an element" can include comparable reference to a plurality of elements. Also, as used in this specification and the appended claims, the term "or" as used in the context of "A / B" or "A / B / C" means any of the possibilities; for example, "A or B" means "A or B or both".

[0157] Each of the embodiments in the specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments. In particular, for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.

[0158] The above only describes the preferred embodiments of the present application, and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A control method for algorithmic applications in edge computing devices, characterized in that, The method is applied to an edge computing device, which is used to communicate with a cloud server. The edge computing device includes a container and multiple hardware devices, and the container contains an algorithm application. The method includes: In response to a remote deployment request sent by the cloud server, a container status monitoring module and an artificial intelligence engine development kit are configured for the container within the container; a preset container startup script is stored in the edge computing device; when the container is started, the container status monitoring module in the container is started first through the preset container startup script; The container status monitoring module determines the first hardware device that is compatible with the algorithm application from among the plurality of hardware devices; The container status monitoring module uses the artificial intelligence engine development kit to obtain the hardware resource usage data of the first hardware device. Based on the resource usage data, priority order, and preset threshold, the container status monitoring module determines a second hardware device that meets the application operation conditions of the algorithm from the first hardware device. The AI ​​engine development kit is invoked to enable the algorithm application in the second hardware device.

2. The method according to claim 1, characterized in that, The edge computing device includes a container remote deployment module. In response to a remote deployment request sent by the cloud server, the module configures a container status monitoring module and an artificial intelligence engine development kit within the container, including: Receive remote deployment request information sent by the cloud server, and in response to the remote deployment request information, call the container remote deployment module to pull container image data from the cloud server; Based on the container image data, a container status monitoring module and an artificial intelligence engine development kit are configured inside the container.

3. The method according to claim 1, characterized in that, The hardware resource usage data includes at least the general signal processor usage rate, graphics processor usage rate, and central processing unit usage rate. The step of determining a second hardware device that meets the application operation conditions of the algorithm from the first hardware device based on the resource usage data by the container status monitoring module includes: When the utilization rate of the general signal processor of the first hardware device is less than a preset threshold, the first hardware device is determined to be a second hardware device that meets the application operating conditions of the algorithm; and / or, When the utilization rate of the general signal processor of the first hardware device is greater than or equal to a preset threshold, and the utilization rate of the graphics processor of the first hardware device is less than a preset threshold, the first hardware device is determined to be a second hardware device that meets the application running conditions of the algorithm; and / or, When the utilization rate of the general signal processor of the first hardware device is greater than or equal to a preset threshold, the utilization rate of the graphics processor of the first hardware device is greater than or equal to a preset threshold, and the utilization rate of the central processing unit of the first hardware device is less than a preset threshold, the first hardware device is determined to be a second hardware device that meets the application running conditions of the algorithm.

4. The method according to claim 2, characterized in that, The cloud server includes a container management module, and also includes: The container status monitoring module is called cyclically based on a preset time period to monitor the hardware resource usage data and send it to the container management module.

5. A control method for algorithmic applications in edge computing devices, characterized in that, The method is applied to a cloud server, which is used to communicate with the edge computing device. The edge computing device includes a container and multiple hardware devices, and the container contains an algorithm application. The method includes: A remote deployment request is sent to the edge computing device, causing the edge computing device to respond to the remote deployment request and configure a container status monitoring module and an artificial intelligence engine development kit (AI engine development kit) for the container. The edge computing device stores a preset container startup script. When the container starts, the preset container startup script prioritizes starting the container status monitoring module within the container. The edge computing device uses the container status monitoring module to determine a first hardware device compatible with the algorithm application from among multiple hardware devices. The container status monitoring module then calls the AI ​​engine development kit to obtain hardware resource usage data for the first hardware device. Based on the resource usage data, its priority order, and a preset threshold, the container status monitoring module determines a second hardware device that meets the operating conditions of the algorithm application from the first hardware device. Finally, the AI ​​engine development kit is called to enable the algorithm application in the second hardware device.

6. A control system for algorithmic applications of edge computing devices, characterized in that, The system is applied to an edge computing device, which is used to communicate with a cloud server. The edge computing device includes a container and multiple hardware devices, and the container contains an algorithm application. The system includes: The first customized configuration module is used to respond to the remote deployment request information sent by the cloud server and configure a container status monitoring module and an artificial intelligence engine development toolkit for the container within the container; the edge computing device stores a preset container startup script; when the container is started, the container status monitoring module in the container is started first through the preset container startup script; The first hardware device determination module is used to determine, through the container status monitoring module, a first hardware device that is compatible with the algorithm application from the plurality of hardware devices; The hardware resource usage data acquisition module is used to use the container status monitoring module to call the artificial intelligence engine development toolkit to obtain the hardware resource usage data of the first hardware device. The second hardware device determination module is used to determine, through the container status monitoring module, a second hardware device that meets the application running conditions of the algorithm from the first hardware device based on the resource usage data and its priority order and a preset threshold. The algorithm application enabling module is used to call the artificial intelligence engine development kit to enable the algorithm application in the second hardware device.

7. A control system for algorithmic applications of edge computing devices, characterized in that, The system is applied to a cloud server, which is used to communicate with the edge computing device. The edge computing device includes a container and multiple hardware devices, and the container contains an algorithm application. The system includes: The second customized configuration module is used to send a remote deployment request to the edge computing device, so that the edge computing device responds to the remote deployment request and configures a container status monitoring module and an artificial intelligence engine development kit (AI engine development kit) for the container. The edge computing device stores a preset container startup script. When the container starts, the preset container startup script prioritizes starting the container status monitoring module. The edge computing device uses the container status monitoring module to determine a first hardware device adapted to the algorithm application from among multiple hardware devices. The container status monitoring module calls the AI ​​engine development kit to obtain hardware resource usage data of the first hardware device. Based on the resource usage data, its priority order, and a preset threshold, the container status monitoring module determines a second hardware device that meets the operating conditions of the algorithm application from the first hardware device. The AI ​​engine development kit is then called to enable the algorithm application in the second hardware device.

8. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; The memory is used to store computer programs; When the processor executes a program stored in the memory, it implements the method as described in any one of claims 1-4 or 5.

9. One or more computer-readable media having instructions stored thereon that, when executed by one or more processors, cause the processors to perform the method as described in any one of claims 1-4 or 5.

Citation Information

Patent Citations

  • Distributed machine learning system and method for edge equipment and data security

    CN112860441A