WO2022171066A1 - 基于物联网设备的任务分配方法、网络训练方法及装置 - Google Patents
基于物联网设备的任务分配方法、网络训练方法及装置 Download PDFInfo
- Publication number
- WO2022171066A1 WO2022171066A1 PCT/CN2022/075450 CN2022075450W WO2022171066A1 WO 2022171066 A1 WO2022171066 A1 WO 2022171066A1 CN 2022075450 W CN2022075450 W CN 2022075450W WO 2022171066 A1 WO2022171066 A1 WO 2022171066A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- graph
- subgraph
- node
- performance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 207
- 238000012549 training Methods 0.000 title claims abstract description 176
- 238000000605 extraction Methods 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 47
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000005457 optimization Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 12
- 238000005295 random walk Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 238000013135 deep learning Methods 0.000 description 14
- 238000005265 energy consumption Methods 0.000 description 14
- 238000010276 construction Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 239000000203 mixture Substances 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Definitions
- the present disclosure relates to the field of Internet of Things (IoT, Internet of Things), and in particular to a task allocation method, network training method and device based on Internet of Things equipment.
- IoT Internet of Things
- cloud computing can meet the computing power and storage resource requirements of computing-intensive deep learning tasks, it is not suitable for applications that are sensitive to latency, reliability, and privacy, such as autonomous driving, virtual reality (VR, Virtual Reality), In IoT scenarios such as augmented reality (AR, Augmented Reality), and resources on a single IoT device are extremely limited, distributed edge computing that can perform cross-device collaboration on a variety of interconnected heterogeneous IoT devices may become An efficient solution in which an intelligent computing task distribution method across heterogeneous devices will be the key to its realization.
- the distributed training and reasoning of the deep learning model is mainly realized through the layer scheduling algorithm based on model segmentation, and some layers of the model are allocated to the side, and the remaining layers are allocated to the cloud center; Edge servers are mainly used to process lower-level data, while cloud servers are mainly used to process higher-level data.
- This task allocation strategy does not involve the allocation of the underlying deep learning algorithm, which limits the optimization effect of task scheduling and resources.
- Embodiments of the present disclosure provide a task assignment method, a network training method, and an apparatus based on an Internet of Things device.
- an embodiment of the present disclosure provides a network training method based on an IoT device, the method comprising: determining a training data set, and training a first network based on the training data set; the training data set includes at least one A task allocation strategy and corresponding actual performance; an actual performance is obtained based on the actual execution of the corresponding task allocation strategy; the first network is used to predict the performance of the task allocation strategy.
- the method further includes: determining a computation graph corresponding to the task to be processed and a resource graph corresponding to the IoT device, and generating at least one task assignment based on the computation graph and the resource graph Strategy.
- the generating at least one task allocation strategy based on the computation graph and the resource graph includes: generating at least one resource subgraph based on the computation graph and the resource graph, each resource subgraph The graph includes a task allocation strategy; the task allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph; a node in the resource subgraph represents at least part of the capabilities of the IoT device; resources The edges of two adjacent nodes in the subgraph represent the relationship between at least some of the capabilities of the IoT device.
- the generating at least one resource subgraph based on the computation graph and the resource graph includes:
- the first node is the node with the largest resource requirement
- the at least one second node is a node that satisfies the resource requirements of the first node
- a resource subgraph is determined based on each second node, and each resource subgraph contains a task allocation strategy.
- the training of the first network includes: training the first network based on predicted performance and actual performance of at least one task allocation strategy.
- obtaining the predicted performance of at least one task allocation strategy includes:
- the prediction performance corresponding to each resource subgraph is obtained through the first network.
- obtaining the prediction performance corresponding to each resource subgraph through the first network includes:
- the features of the at least one resource sub-graph are respectively extracted by the feature extraction module to obtain at least one second feature set;
- the prediction performance corresponding to each resource sub-graph is obtained based on the first feature set, each second feature set and the prediction module of the first network.
- the obtaining the prediction performance corresponding to each resource subgraph based on the first feature set, each second feature set, and the first network's prediction module includes:
- each third feature set including the first feature set and each second feature set;
- Prediction data corresponding to each resource sub-picture is obtained based on each third feature set and the prediction module, and prediction performance corresponding to each resource sub-picture is obtained based on the prediction data corresponding to each resource sub-picture.
- the prediction data includes at least one of the following;
- the obtaining the prediction performance corresponding to each resource sub-map based on the prediction data corresponding to each resource sub-map includes: according to a preset weight, predicting the corresponding to each resource sub-map The data is weighted to obtain the prediction performance corresponding to each resource subgraph.
- the training of the first network includes: training the feature extraction module and the prediction module based on the predicted performance and actual performance of each task allocation strategy.
- the training of the feature extraction module and the prediction module includes:
- the error between the predicted performance and the actual performance of each task allocation strategy is back-propagated, and the gradient descent algorithm is used to update the network parameters of the feature extraction module and the prediction module of the first network until the difference between the predicted performance and the actual performance is reached.
- the error satisfies the preset condition.
- the method further includes: updating the training data set, and the updated training data set is used to update the first network.
- the updating of the training data set includes at least one of the following:
- At least one resource subgraph is generated by using at least one of the heuristic method, the graph search method, the graph optimization method and the subgraph matching method, and the actual task allocation strategy corresponding to each resource subgraph is used. After execution, the actual performance corresponding to each resource subgraph is obtained, and the calculation graph, each resource subgraph and the corresponding actual performance are added to the training data set;
- At least one of the heuristic method, graph search method, graph optimization method and subgraph matching method is used to generate at least one resource subgraph, and the prediction corresponding to each resource subgraph is obtained through the first network performance, select the resource subgraph with the best predicted performance from the at least one resource subgraph, and obtain the actual performance after actually executing the task allocation strategy corresponding to the resource subgraph with the best predicted performance, and calculate the The graph, the resource subgraph with the best prediction performance and the corresponding actual performance are added to the training data set;
- an embodiment of the present disclosure further provides a method for assigning tasks based on IoT devices, the method comprising:
- the generating at least one task allocation strategy based on the computation graph and the resource graph includes: generating at least one resource subgraph based on the computation graph and the resource graph, Each resource subgraph contains a task allocation strategy; the task allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph; a node in the resource subgraph represents at least one node of the IoT device. Partial capabilities; an edge between two adjacent nodes in the resource subgraph represents a relationship between at least part of the capabilities of an IoT device.
- the generating at least one resource subgraph based on the computation graph and the resource graph includes: determining a first node in the computation graph; the first node is a resource Nodes with the greatest demand;
- the at least one second node is a node that satisfies the resource requirements of the first node
- the first network is optimized by using the method described in the first aspect of the embodiments of the present disclosure.
- the obtaining the prediction performance corresponding to each task allocation strategy includes: obtaining the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph .
- obtaining the prediction performance corresponding to each resource subgraph through the first network includes:
- the obtaining the prediction performance corresponding to each resource subgraph based on the first feature set, each second feature set, and the first network's prediction module includes:
- each third feature set including the first feature set and each second feature set;
- the prediction data includes at least one of the following;
- the obtaining the prediction performance corresponding to each resource sub-map based on the prediction data corresponding to each resource sub-map includes: according to a preset weight, predicting the corresponding to each resource sub-map The data is weighted to obtain the prediction performance corresponding to each resource subgraph.
- the first determining unit is configured to determine a training data set, the training data set includes at least one task allocation strategy and corresponding actual performance; an actual performance is obtained based on the actual execution of the corresponding task allocation strategy;
- the training unit is configured to train a first network based on the training data set; the first network is used to predict the performance of the task allocation strategy.
- the apparatus further includes a first generating unit configured to determine a computation graph corresponding to the task to be processed and a resource graph corresponding to the IoT device, based on the computation graph and the resource graph, Generate at least one task assignment strategy.
- the first generating unit is configured to generate at least one resource subgraph based on the computation graph and the resource graph, each resource subgraph including a task allocation strategy; the task The allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph; a node in the resource subgraph represents at least part of the capabilities of the IoT device; the edges of two adjacent nodes in the resource subgraph represent The relationship between at least some of the capabilities of an IoT device.
- the first generating unit is configured to determine a first node in the calculation graph; the first node is a node with the largest resource demand; at least one second node; the at least one second node is a node that satisfies the resource requirements of the first node; a resource subgraph is determined based on each second node, and each resource subgraph includes a task allocation strategy.
- the training unit is configured to train the first network based on predicted performance and actual performance of at least one task allocation strategy.
- the training unit is further configured to obtain the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph.
- the prediction data includes at least one of the following;
- the training unit is configured to perform weighting processing on the prediction data corresponding to each resource sub-map according to a preset weight, so as to obtain the prediction performance corresponding to each resource sub-map.
- the training unit is configured to train the feature extraction module and the prediction module based on the predicted performance and actual performance of each task allocation strategy.
- the training unit is configured to back-propagate the error between the predicted performance and the actual performance of each task allocation strategy, and use a gradient descent algorithm to extract the features of the first network. and the network parameters of the prediction module are updated until the error between the predicted performance and the actual performance meets the preset conditions.
- the apparatus further includes an update unit configured to update the training data set, and the updated training data set is used to update the first network.
- the updating unit is configured to update the training data set in at least one of the following manners:
- At least one resource subgraph is generated by using at least one of the heuristic method, the graph search method, the graph optimization method and the subgraph matching method, and the actual task allocation strategy corresponding to each resource subgraph is used. After execution, the actual performance corresponding to each resource subgraph is obtained, and the calculation graph, each resource subgraph and the corresponding actual performance are added to the training data set;
- At least one resource subgraph is obtained by adopting at least one of a heuristic method, a graph search method, a graph optimization method and a subgraph matching method, and a prediction corresponding to each resource subgraph is obtained through the first network performance, select the resource subgraph with the best predicted performance from the at least one resource subgraph, and obtain the actual performance after actually executing the task allocation strategy corresponding to the resource subgraph with the best predicted performance, and calculate the The graph, the resource subgraph with the best prediction performance and the corresponding actual performance are added to the training data set;
- a random walk method is used to generate at least one resource subgraph, and the actual performance is obtained after the task allocation strategy corresponding to each resource subgraph is actually executed. Figures and actual performance are added to the training dataset.
- an embodiment of the present disclosure further provides an apparatus for task assignment based on IoT devices, the apparatus includes: a second determination unit, a second generation unit, a prediction unit, and a task assignment unit; wherein,
- the second determining unit is configured to determine the computation graph corresponding to the task to be processed, and the resource graph corresponding to the Internet of Things device;
- the second generating unit is configured to generate at least one task allocation strategy based on the computation graph and the resource graph;
- the prediction unit is configured to input the at least one task allocation strategy into the first network, and obtain the prediction performance corresponding to each task allocation strategy;
- the task allocation unit is configured to determine a task allocation strategy with the best prediction performance, and perform task allocation based on the determined task allocation strategy.
- the second generating unit is configured to generate at least one resource subgraph based on the computation graph and the resource graph, and each resource subgraph includes a task allocation strategy;
- the task allocation strategy is used to allocate at least one node of the corresponding resource graph for each node of the computing graph;
- a node in the resource subgraph represents at least part of the capabilities of the IoT device;
- Edges represent relationships between at least some of the capabilities of IoT devices.
- the second generating unit is configured to determine a first node in the computing graph; the first node is a node with the largest resource demand; at least one second node; the at least one second node is a node that satisfies the resource requirements of the first node; a resource subgraph is determined based on each second node, and each resource subgraph includes a task allocation strategy.
- the prediction unit is configured to obtain the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph.
- the predicting unit is configured to extract features of the computational graph through a feature extraction module of the first network to obtain a first feature set; and extract the features through the feature extraction module respectively Obtain at least one second feature set based on the features of the at least one resource sub-map; obtain a prediction corresponding to each resource sub-map based on the first feature set, each second feature set and the prediction module of the first network performance.
- the prediction unit is configured to obtain at least one third feature set based on the first feature set and each second feature set, and each third feature set includes the The first feature set and each second feature set; the prediction data corresponding to each resource submap is obtained based on each third feature set and the prediction module, and each resource submap is obtained based on the prediction data corresponding to each resource submap. The corresponding prediction performance of the graph.
- the prediction data includes at least one of the following;
- an embodiment of the present disclosure further provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the present disclosure when executing the program Examples are the steps of the method described in the first aspect or the second aspect.
- FIG. 3 is a schematic flowchart of a method for generating a resource subgraph in an embodiment of the present disclosure
- FIG. 4 is a schematic diagram of generating a resource subgraph in an embodiment of the present disclosure
- FIG. 5 is a schematic flowchart of a method for obtaining prediction performance in an embodiment of the present disclosure
- FIG. 6b is a schematic diagram of feature extraction of a resource subgraph in an embodiment of the disclosure.
- FIG. 8 is a schematic diagram of a task assignment method based on an IoT device according to an embodiment of the present disclosure
- FIG. 9 is a schematic diagram of the composition of a task allocation system according to an embodiment of the present disclosure.
- FIG. 10 is a schematic diagram 1 of the composition and structure of a network training apparatus based on an IoT device according to an embodiment of the present disclosure
- FIG. 11 is a second schematic diagram of the composition and structure of a network training device based on an Internet of Things device according to an embodiment of the present disclosure
- FIG. 12 is a third schematic diagram of the composition and structure of a network training apparatus based on an Internet of Things device according to an embodiment of the present disclosure
- FIG. 13 is a schematic diagram of the composition and structure of an apparatus for assigning tasks based on IoT devices according to an embodiment of the present disclosure
- FIG. 14 is a schematic structural diagram of a hardware composition of an electronic device according to an embodiment of the disclosure.
- the main purpose of the embodiments of the present disclosure is how to construct an end-to-end trainable network model for resource scheduling across heterogeneous IoT devices, and to implement an automatically optimized, high-performance, and intelligent adaptive task assignment method.
- an end-to-end trainable network model for resource scheduling across heterogeneous IoT devices, and to implement an automatically optimized, high-performance, and intelligent adaptive task assignment method.
- appropriate computing power, storage and communication resources are allocated to nodes in the calculation graph in a task allocation method that can obtain the best system performance, which promotes decentralized machines that collaborate across devices
- the realization of learning e.g. training and inference of deep models
- Deep Neural Networks DNN, Deep Neural Networks
- CNN Convolutional Neural Networks
- RNN Recurrent Neural Networks
- LSTM Long Short-Term Memory
- GCN Graph Convolutional Networks
- GNN Graph Neural Networks
- GNN Graph Neural Networks
- the scenario also includes multiple IoT devices on the edge side, and each IoT device may have different capabilities.
- the capability can be embodied by computing resources (Computation Resource), storage resources (Storage/Memory Resource), and communication resources (Communication Resource).
- the above-mentioned computing resources may refer to available or idle computing resources.
- computing resources may include central processing.
- CPU Central Processing Unit
- GPU Graphics Processing Unit
- FPGA Programmable Gate Array
- DSP Digital Signal Processor
- the above-mentioned storage resources may refer to available or idle storage resources, and storage resources may include, for example, memory (Memorizer) resources, cache memory (Cache) resources, random access memory (RAM, Random Access Memory), etc.;
- the above-mentioned communication resources may refer to available or idle communication resources.
- different IoT devices can provide at least one of different computing resources, storage resources, and communication resources, and the computing resources, storage resources, and communication resources of each IoT device can form a resource pool.
- a computing graph is generated by abstracting each operator of a computing task into corresponding nodes, and the capabilities of each IoT device are abstracted into corresponding nodes, thereby generating a resource graph, and based on the computational graph and the resource graph Construct the resource sub-graph (Resource Sub-graph Construction), perform feature extraction (Feature Extraction) on the computational graph and resource sub-graph, and perform performance prediction (Performance Prediction) on the implicit task allocation strategy according to the extracted features. way to achieve intelligent assignment of tasks.
- Resource Sub-graph Construction Resource Sub-graph Construction
- feature extraction Feature Extraction
- Performance Prediction Performance Prediction
- the smart home service scenario shown in FIG. 1 is only an optional application scenario to which the technical solutions of the embodiments of the present disclosure are applicable, and other application scenarios may also fall within the protection scope of the embodiments of the present disclosure. There is no specific limitation in the embodiments of the present disclosure.
- Embodiments of the present disclosure provide a network training method based on IoT devices, which is applied to various electronic devices, including but not limited to fixed devices and/or mobile devices.
- the fixed device includes, but is not limited to, a personal computer (PC, Personal Computer) or a server, and the server may be a cloud server or a common server.
- the mobile device includes, but is not limited to: one or more of a mobile phone, a tablet computer or a wearable device.
- FIG. 2 is a schematic flowchart of a network training method based on an IoT device according to an embodiment of the present disclosure; as shown in FIG. 2 , the method includes:
- Step 101 Determine a training data set; the training data set includes at least one task allocation strategy and corresponding actual performance; an actual performance is obtained based on the actual execution of the corresponding task allocation strategy;
- Step 102 Train a first network based on the training data set; the first network is used to predict the performance of the task allocation strategy.
- the task allocation strategy represents a strategy for allocating to-be-processed tasks to at least one IoT device for execution; in other words, through the task allocation strategy, at least one IoT device can be determined, and at least one IoT device can be The device executes pending tasks as directed by the task allocation policy.
- the task allocation strategy may also be referred to as one of the following: a task allocation method, a task allocation method, a task scheduling strategy, a task scheduling method, a task scheduling method, a task scheduling strategy, a task scheduling method, a task scheduling method, etc. Wait.
- the first network is trained by using each task allocation strategy in the training data set and the corresponding actual performance.
- each IoT device in the system may be a heterogeneous IoT device.
- heterogeneous IoT devices refer to: in a network containing multiple IoT devices and servers, the hardware of one IoT device is different from the hardware of another IoT device, and/or, the server of one IoT device Unlike another IoT device's server.
- that the hardware of one IoT device is different from the hardware of another IoT device means that the model or type of hardware corresponding to at least one of the computing resources and storage resources of one IoT device and another IoT device is different .
- a task assignment strategy is used to assign at least one node of the corresponding resource graph to each node in the computation graph, or to assign or map the task to be processed to at least one IoT device, or to assign the to-be-processed task to at least one IoT device. Match between processing tasks and IoT devices, or between pending tasks and resources.
- At least one node of the resource graph allocated to each node of the computation graph may be the same or different; that is, an IoT device may utilize at least part of its own capabilities to implement
- multiple IoT devices can implement a computing unit corresponding to an operator in a cooperative manner.
- nodes (or operators) without computational dependencies (ie, data dependencies) in the computational graph can be executed (or operated, calculated) in parallel on the same or different IoT devices.
- a task allocation strategy may be embodied by a resource subgraph, in other words, the training data set may include a computation graph, at least one resource subgraph, and corresponding actual performance.
- the training data set may include a computation graph, at least one resource subgraph, and corresponding actual performance.
- the requirements for computing resources, storage resources and communication resources of the tasks to be processed and the requirements of each IoT The relationship between the available resources or capabilities on the device generates at least one resource subgraph from the complete resource graph, that is, generates at least one task allocation strategy.
- Resource subgraph construction realizes full utilization of idle resources on IoT devices and fine-grained task allocation and optimization.
- the resource graph in this embodiment may also be referred to as a resource knowledge graph or a resource knowledge graph; a resource subgraph may also be referred to as a resource knowledge subgraph or a resource knowledge subgraph, and so on.
- FIG. 3 is a schematic flowchart of a method for generating a resource subgraph in an embodiment of the present disclosure; as shown in FIG. 3 , the method for generating a resource subgraph may include:
- Step 202 Determine at least one second node in the resource graph; the at least one second node is a node that meets the resource requirements of the first node;
- Step 203 Determine a resource subgraph based on each second node, and each resource subgraph includes a task allocation strategy.
- FIG. 4 is a schematic diagram of generating a resource subgraph in an embodiment of the present disclosure; with reference to FIG. 4 , first, each node in a calculation graph is numbered.
- the nodes in the computation graph are labeled based on a uniform rule. For example, first determine the branch with the largest number of nodes in the calculation graph, and number the nodes in the order in sequence. For example, the branch with the largest number of nodes in Figure 4 has 5 nodes, and the branches containing 5 nodes are numbered in sequence; further, all nodes in the branch with the second largest number of nodes are numbered, and so on, until the calculation graph All nodes are numbered.
- the first node among all nodes in the computing graph, where the first node is the node with the largest resource demand, and the first node may also be called a bottleneck node.
- the resource requirement of the node numbered 4 on the calculation graph in FIG. 4 is the largest, and the node numbered 4 is determined as the first node or the bottleneck node.
- the node with the greatest resource demand may refer to the node with the greatest demand for at least one resource among computing resources, storage resources, and communication resources.
- At least one second node in the resource graph is determined, that is, a suitable resource node (also called a device node, or a capability node) is allocated to the first node (or bottleneck node) to provide for the execution of the to-be-processed task. available resources.
- a suitable resource node also called a device node, or a capability node
- all nodes in the resource graph that can meet the resource requirements of the first node (or bottleneck node) can be determined as the second nodes, for example, the three nodes numbered 4 in the resource graph in FIG.
- the resource requirements of the node (or the bottleneck node), the three nodes numbered 4 are all determined as the second node.
- each resource node corresponding to the first node (or the bottleneck node) as the starting point, for example, the resource node (marked as node V3) on the right side of the resource graph in FIG. Starting point, search for other resource nodes adjacent to it on the resource graph (for example, nodes V1, V4, and V5 in the resource graph of Figure 4), which are nodes that are 1 hop away from the first node in the computational graph (for example, the nodes in the computational graph are labeled as 3, 5, and 6 nodes) allocate appropriate resource nodes to meet the resource requirements of the corresponding workload.
- the training of the first network includes: training the first network based on predicted performance and actual performance of at least one task allocation strategy.
- obtaining the prediction performance of at least one task allocation strategy includes: obtaining the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph.
- FIG. 5 is a schematic flowchart of a method for obtaining predicted performance in an embodiment of the present disclosure; as shown in FIG. 5 , the method for obtaining predicted performance may include:
- Step 301 Extract the features of the computational graph through a feature extraction module of the first network to obtain a first feature set
- Step 303 Obtain the prediction performance corresponding to each resource sub-graph based on the first feature set, each second feature set, and the prediction module of the first network.
- the feature of the computation graph is extracted by the feature extraction module to obtain the first feature set.
- the first feature set may also be referred to as a feature set, a feature, or a feature vector.
- the feature extraction module is used to extract the features of the computation graph and resource subgraphs, including CPU, GPU, FPGA, DSP, and memory, etc., mainly covering computing power, storage, etc. , communication and other dimensions.
- the input feature set may also be referred to as input feature, input feature vector, input feature matrix, including input feature information of each node in the computation graph; determine the computation graph
- the adjacency matrix of the adjacency matrix represents the topology information of the computation graph, or the adjacency matrix represents the relationship between the nodes in the computation graph; based on the input feature combination, the adjacency matrix and the
- the feature extraction module extracts features of the computational graph to obtain a first feature set.
- the input feature set of the computation graph includes a feature vector of each node in the computation graph; the feature vector of each node in the computation graph includes resource information required to execute the operator corresponding to each node.
- the required resource information includes, for example, CPU, GPU, DSP, FPGA, and memory usage.
- the elements in the adjacency matrix corresponding to the computation graph represent the strength of the relationship between each two nodes, and the numerical size of the elements is related to the size of the transmission data between the corresponding two nodes.
- Fig. 6a is a schematic diagram of feature extraction of a computation graph in an embodiment of the disclosure; as shown in Fig. 6a, the computation graph includes 6 nodes, and correspondingly, the input feature set includes 6 groups of feature vectors, such as Expressed as:
- each group of eigenvectors corresponds to a node on the calculation graph
- each group of eigenvectors includes the usage of each resource when the operator corresponding to the node is executed (or operated) ( or resource requirements) characteristics, that is, the hardware execution cost of the operator, or the hardware occupancy data of the operator, for example, may include features such as CPU occupancy, GPU occupancy, DSP occupancy, FPGA occupancy, and storage occupancy.
- the occupancy rate may also be referred to as occupancy, occupancy ratio, occupancy ratio, usage, usage ratio, usage ratio, usage ratio, utilization, utilization, utilization ratio, utilization ratio.
- e kd; wherein, k represents a preset coefficient, and d represents the size of transmission data between two adjacent nodes.
- e 34 kd 34 ; wherein, d 34 represents the size of the data transmitted between node 3 and node 4 in the calculation graph.
- the input feature set and the adjacency matrix shown in the figure are input to the feature extraction module, so as to obtain the first feature set.
- determining an input feature set of the resource subgraph where the input feature set includes input feature information of each node in the resource subgraph; determining an adjacency matrix of the resource subgraph, where the adjacency matrix represents the resource The topology information of the subgraph, or the adjacency matrix represents the relationship between the nodes in the resource subgraph; based on the input feature combination, the adjacency matrix and the feature extraction module, the resource subgraph is extracted. feature to obtain the second feature set.
- the input feature set of the resource subgraph includes a feature vector of each node in the resource subgraph; the feature vector of each node in the resource subgraph includes the IoT device corresponding to each node.
- At least part of the resource information (or referred to as capability information), the at least part of the resource information includes, for example, available resources such as CPU, GPU, DSP, FPGA, and memory.
- the elements in the adjacency matrix corresponding to the resource subgraph represent the strength of the communication relationship between each two nodes, and the numerical value of the elements is related to the transmission rate and/or delay between the corresponding two nodes, etc. .
- FIG. 6b is a schematic diagram of feature extraction of a resource subgraph in an embodiment of the disclosure; as shown in FIG. 6b, it is a task allocation strategy, that is, a resource subgraph, and the figure includes 6 nodes,
- the input feature set includes 6 groups of feature vectors, for example, expressed as:
- each group of feature vectors corresponds to a node on the resource subgraph
- each group of feature vectors includes the features of the resources corresponding to each node, such as CPU resources, GPU resources, DSP resources, FPGA resources, storage resources and other characteristics.
- connection relationship between the nodes in the graph it can be determined that there is a connection relationship between node V2 and node V1, a connection relationship between node V1 and node V3, and a connection relationship between node V3 and node V4, There is a connection relationship between node V3 and node V5, and a connection relationship between node V5 and node V6, so that the corresponding elements in the adjacency matrix (ie e 13 , e 21 , e 34 , e 35 shown in the figure) can be determined. , e 56 ) have a specific value, while the other elements have the value 0, and the adjacency matrix looks like this:
- the numerical value of the above elements is related to the transmission rate and/or time delay between the corresponding two nodes.
- e k 1 ts+k 2 l; wherein, k 1 and k 2 represent preset coefficients respectively, ts represents the transmission rate between two adjacent nodes, and l represents the transmission rate between two adjacent nodes. transmission delay.
- e 34 k 1 ts 34 +k 2 l 34 ; wherein, ts 34 represents the transmission rate between node V3 and node V4 in the resource subgraph; l 34 represents between node V3 and node V4 in the resource subgraph delay.
- the input feature set and the adjacency matrix shown in the figure are input to the feature extraction module, so as to obtain the second feature set.
- the input feature set and the adjacency matrix corresponding to the above calculation graph or resource subgraph are used as the input of the feature extraction module, and the feature is updated by the forward propagation algorithm of the following expression (5);
- the forward propagation of the multi-layer network obtains a feature set (or feature vector) that combines the features of all nodes and edges in the computational graph or resource subgraph, that is, the first feature set corresponding to the computational graph and the corresponding feature set corresponding to the computational graph are obtained.
- the second feature set for the resource subgraph is obtained.
- H (l) represents all node features of the lth layer in the multi-layer network in the feature extraction module
- H (0) represents the feature extraction module.
- W represents the trainable weight matrix (ie network parameters) of the feature extraction module
- W (l) represents the trainable weight matrix of the lth layer in the multi-layer network in the feature extraction module
- ⁇ ( ) represents the activation function.
- the obtaining the prediction performance corresponding to each resource subgraph based on the first feature set, each second feature set, and the prediction module of the first network includes: based on the first feature set a feature set and each second feature set, obtain at least one third feature set, each third feature set includes the first feature set and each second feature set; based on each third feature set and the The prediction module obtains the prediction data corresponding to each resource sub-map, and obtains the prediction performance corresponding to each resource sub-map based on the prediction data corresponding to each resource sub-map.
- the input data of the prediction module is a fusion feature (ie, a third feature set) of the first feature set and a second feature set obtained respectively by the feature extraction module.
- a fusion feature ie, a third feature set
- the first feature set and the second feature set may be spliced together to obtain a third feature set.
- the third feature set is further input into the prediction module, and the prediction data corresponding to each resource sub-graph is obtained through layer-by-layer iteration of the forward propagation algorithm of the multi-layer network in the prediction module.
- the predicted data may be a vector including three data or three components; wherein, one data or component represents the predicted execution time for executing the to-be-processed task, for example, it may be denoted as ⁇ t , and one data or component represents The predicted energy consumption of executing the to-be-processed task, for example, can be denoted as ⁇ e , and a data or component represents the prediction reliability of executing the to-be-processed task, such as can be denoted as ⁇ r , then each resource is determined based on the above prediction data
- the prediction performance corresponding to the subgraph the performance may also be referred to as overall system performance.
- the weighting process is performed according to the preset weight corresponding to each component, that is, the corresponding prediction performance ⁇ is obtained according to the expression (6); wherein, Q( ⁇ ) represents A function that includes weighting information for each component or data or (key) performance indicator.
- the specific form of the function expression of Expression (6) that is, the specific information of the preset weight, depends on the different requirements of different scenarios for delay, energy consumption, reliability, etc., or the degree of importance or attention, that is, through Use a specific function to weight different performance indicators to achieve the trade-off between various performance indicators, and calculate the weighted value of each key performance indicator according to the set formula to obtain the overall system performance, that is, through the expression (6 )
- the obtained predicted performance reflects the overall system performance related to Quality of Service (QoS).
- QoS Quality of Service
- the training of the first network includes: training the feature extraction module and the prediction module based on the predicted performance and actual performance of each task assignment strategy.
- the network parameters of the feature extraction module and the prediction module are updated based on the prediction performance of each task allocation strategy and the actual performance in the training data set, thereby realizing the training of the feature extraction module and the prediction module.
- the prediction module is used to learn various heterogeneous IoTs from the correspondence between different task allocation strategies and system performance (execution time, power consumption, reliability).
- the inherent statistical law of task scheduling on different operating systems of the device realizes the system performance prediction for a given task allocation strategy before the task is executed, so that it can be selected from different task allocation strategies contained in multiple resource subgraphs.
- Task allocation strategy for optimal system performance By achieving the best match between the computing tasks to be processed and the available resources of the IoT device, the utilization of resources is maximized, thereby improving the overall system performance.
- At least one resource subgraph is generated by using at least one of the heuristic method, the graph search method, the graph optimization method and the subgraph matching method, and the actual task allocation strategy corresponding to each resource subgraph is used. After execution, the actual performance corresponding to each resource subgraph is obtained, and the calculation graph, each resource subgraph and the corresponding actual performance are added to the training data set;
- a random walk method is used to generate at least one resource subgraph, and the actual performance is obtained after the task allocation strategy corresponding to each resource subgraph is actually executed. Figures and actual performance are added to the training dataset.
- Step 401 Determine the computation graph corresponding to the task to be processed and the resource graph corresponding to the IoT device;
- Step 404 Determine the task allocation strategy with the best predicted performance, and perform task allocation based on the determined task allocation strategy.
- the generating at least one task allocation strategy based on the computation graph and the resource graph includes: generating at least one resource subgraph based on the computation graph and the resource graph, Each resource subgraph contains a task allocation strategy; the task allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph; a node in the resource subgraph represents at least one node of the IoT device. Partial capabilities; an edge between two adjacent nodes in the resource subgraph represents a relationship between at least part of the capabilities of an IoT device.
- the generating at least one resource subgraph based on the computation graph and the resource graph includes: determining a first node in the computation graph; the first node is a resource the node with the greatest demand; determine at least one second node in the resource graph; the at least one second node is a node that satisfies the resource requirement of the first node; determine a resource subgraph based on each second node, Each resource subgraph contains a task allocation strategy.
- obtaining the prediction performance corresponding to each resource sub-graph through the first network includes: extracting features of the computation graph through a feature extraction module of the first network to obtain a first feature set ; Extract the features of the at least one resource sub-graph respectively by the feature extraction module to obtain at least one second feature set; Based on the first feature set, each second feature set and the prediction module of the first network Obtain the prediction performance corresponding to each resource subgraph.
- the obtaining the prediction performance corresponding to each resource subgraph based on the first feature set, each second feature set, and the prediction module of the first network includes: based on the first feature set a feature set and each second feature set, obtain at least one third feature set, each third feature set includes the first feature set and each second feature set; based on each third feature set and the The prediction module obtains the prediction data corresponding to each resource sub-map, and obtains the prediction performance corresponding to each resource sub-map based on the prediction data corresponding to each resource sub-map.
- the obtaining the prediction performance corresponding to each resource submap based on the prediction data corresponding to each resource submap includes: weighting the prediction data corresponding to each resource submap according to a preset weight processing to obtain the prediction performance corresponding to each resource sub-map.
- the determining a task allocation strategy with the best predictive performance and performing task allocation based on the determined task allocation strategy includes: selecting the predictive performance (that is, the overall system) according to the predictive performance corresponding to each resource subgraph.
- the predicted value of the performance index corresponds to the task allocation strategy with the largest value, and in practice, the task allocation is carried out according to this strategy.
- the method further includes: after the task assignment is performed, acquiring the actual performance of the to-be-processed task when it is executed according to the corresponding task assignment strategy; The acquired actual performance is stored in a training data set; the training data set is used to update the first network.
- the tasks to be processed are actually executed according to the modified task assignment strategy to obtain the actual performance (or the actual overall system performance), and the corresponding tasks are assigned to the
- the allocation strategy and the obtained actual performance are stored in the training data set for updating the first network to constitute the training data set, or update the training data set.
- FIG. 8 is a schematic diagram of a task allocation method based on an Internet of Things device according to an embodiment of the present disclosure; as shown in FIG. 8 , in the first step, for a task to be processed, a calculation diagram of the task to be processed is determined; The graph is optimized, for example, some nodes are merged to obtain an optimized computational graph. It should be noted that, the calculation graph in the foregoing embodiments of the present disclosure may refer to an optimized calculation graph. Further, each node in the calculation graph is numbered according to certain rules.
- At least one resource subgraph is generated based on the computation graph and the resource graph constructed according to the resources and capabilities of each IoT device in the system.
- the method of generating the resource sub-map can be referred to as described in the foregoing embodiments, which will not be repeated here. Also, for the resource submap shown in FIG. 8 , reference may be made to the resource submap in FIG. 4 .
- the first feature set and the second feature set are merged into a third feature set, and the third feature set is input to the prediction module for system performance prediction, and the prediction performance corresponding to each resource sub-map is obtained.
- the prediction module may be implemented by a deep neural network (DNN).
- record the actual performance obtained after each task is actually executed determine the error between the predicted performance and the actual performance by comparing the predicted performance with the actual performance, and then use the error backpropagation and gradient descent algorithms to determine the accuracy of the performance.
- the network parameters of the feature extraction module and the prediction module included in the first network are updated, thereby realizing the training of the feature extraction module and the prediction module.
- FIG. 9 is a schematic diagram of the composition of a task assignment system or platform according to an embodiment of the present disclosure; as shown in FIG. 9 , the task assignment system of this embodiment includes several parts of training data set construction, training phase, reasoning phase, and continuous learning. in:
- Training phase the input is all training data (also called training samples) in the training data set, wherein each training data includes: a computational graph, a resource subgraph, and the corresponding actual system performance.
- the training data is input into the network model of the embodiment of the present disclosure, and the error between the obtained predicted value ⁇ p of the system performance index and the actual value ⁇ t of the system performance is back-propagated through the gradient descent algorithm to update the features in the network model.
- the network parameters (such as weights) of the extraction module and the prediction module are obtained until convergence, and the final network parameters (or model parameters) will be within the acceptable range of errors (which can be manually set in the algorithm), which can make the system of training samples
- the predicted value of the performance indicator is the closest to the actual value.
- Continuous learning stage The realization of the continuous learning mechanism is to use the continuously updated training data set to periodically train the feature extraction module in the network model and the network parameters in the prediction module, so that the task allocation system and platform have self-learning and adaptive capabilities. , to achieve intelligent self-adaptation, and achieve the effect of "more use is more intelligent". Specifically, it can be realized by historical sample accumulation and random walk. The accumulation of historical samples is to record the task allocation strategy adopted by each computing task and the actual system performance obtained after the actual execution of each computing task, and store it in the training data set as a new training sample. The specific implementation method of random walk is as described above.
- ICTA Intelligent Computing Task Allocation
- Learning task intelligent distribution system and platform ICTA mainly includes: resource subgraph construction, feature extraction, and performance prediction.
- the input is the computational graph constructed by the current deep learning task and the resource graph constructed by the IoT edge devices with idle resources.
- the resource subgraph is constructed using methods such as graph search and subgraph matching to generate multiple tasks carrying different tasks.
- the resource subgraph of the allocation strategy realizes the full utilization of the available resources on the IoT device and the operator-level allocation and optimization of the tasks to be processed; the multi-layer neural network is used for feature extraction and performance prediction respectively, and the resource subgraph and computing
- the graphs are put into the feature extraction module for feature extraction and fusion, and the features of dimensions such as computing power, storage and communication hidden in the nodes and graph topology structures in the two types of graphs are fully exploited.
- the fused features are put into the performance prediction module to predict the system performance.
- the inherent statistical law of the algorithm realizes accurate system performance prediction for a given task allocation strategy before the actual execution of the task, so that the optimal allocation strategy can be selected from the alternatives, and the best match between computing tasks and available resources is achieved. , so as to maximize resource utilization and improve overall system performance; introduce a continuous learning mechanism to periodically train ICTA with continuously updated training data sets, further improve system performance and adaptability to dynamically changing environments, and make it self-sufficient. Self-adaptive and self-learning ability to achieve intelligent self-adaptation, so that the task allocation system achieves the effect of "the more you use, the smarter you are”.
- ICTA intelligent computing task allocation method
- the feature extraction module extracts the node and topology features of the resource subgraph and the computation graph respectively, and performs feature fusion. Realize deep perception, feature extraction and feature matching of dimension features such as computing power, storage, and communication that play a key role in the performance of deep learning computing tasks;
- Performance prediction is based on fusing features and using multi-layer neural networks to learn the inherent statistical laws of task scheduling on different operating systems. The corresponding relationship between the system performance is predicted, so that the task allocation strategy corresponding to the best system performance (prediction) is selected from the alternatives to actually perform the deep learning task. Achieve the best match between deep learning computing tasks and available resources on IoT devices to maximize resource utilization and improve system performance.
- FIG. 10 is a schematic diagram 1 of the composition and structure of a network training apparatus based on an IoT device according to an embodiment of the present disclosure; as shown in FIG. 10 , the apparatus includes: a first determination unit 11 and a training unit 12 ; wherein,
- the first determining unit 11 is configured to determine a training data set, the training data set includes at least one task allocation strategy and corresponding actual performance; an actual performance is obtained based on the actual execution of the corresponding task allocation strategy;
- the training unit 12 is configured to train a first network based on the training data set; the first network is used to predict the performance of the task allocation strategy.
- the apparatus further includes a first generating unit 13 configured to determine a computation graph corresponding to the task to be processed and a resource graph corresponding to the IoT device, based on the The computing graph and the resource graph are described, and at least one task allocation strategy is generated.
- the first generating unit 13 is configured to generate at least one resource subgraph based on the computation graph and the resource graph, and each resource subgraph includes a task allocation strategy; the The task allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph; a node in the resource subgraph represents at least part of the capabilities of the IoT device; the edge of two adjacent nodes in the resource subgraph Represents a relationship between at least some of the capabilities of an IoT device.
- the first generating unit 13 is configured to determine a first node in the calculation graph; the first node is a node with the largest resource demand; determine the resource graph at least one second node; the at least one second node is a node that satisfies the resource requirements of the first node; a resource subgraph is determined based on each second node, and each resource subgraph includes a task allocation strategy .
- the training unit 12 is configured to train the first network based on predicted performance and actual performance of at least one task allocation strategy.
- the training unit 12 is further configured to obtain the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph.
- the training unit 12 is configured to extract features of the computational graph through a feature extraction module of the first network to obtain a first feature set; Extract the features of the at least one resource sub-map to obtain at least one second feature set; obtain the corresponding resource sub-map based on the first feature set, each second feature set and the prediction module of the first network Predictive performance.
- the training unit 12 is configured to obtain at least one third feature set based on the first feature set and each second feature set, and each third feature set includes the Describe the first feature set and each second feature set; obtain prediction data corresponding to each resource submap based on each third feature set and the prediction module, and obtain each resource based on the prediction data corresponding to each resource submap The prediction performance corresponding to the subgraph.
- the prediction data includes at least one of the following;
- the training unit 12 is configured to perform weighting processing on the prediction data corresponding to each resource sub-map according to a preset weight, so as to obtain the prediction performance corresponding to each resource sub-map.
- the training unit 12 is configured to train the feature extraction module and the prediction module based on the predicted performance and actual performance of each task allocation strategy.
- the training unit 12 is configured to back-propagate the error between the predicted performance and the actual performance of each task allocation strategy, and use a gradient descent algorithm to extract the features of the first network.
- the network parameters of the module and the prediction module are updated until the error between the predicted performance and the actual performance satisfies a preset condition.
- the apparatus further includes an update unit 14 configured to update the training data set, and the updated training data set is used to update (or referred to as training) the first network.
- the updating unit 14 is configured to update the training data set in at least one of the following manners:
- At least one resource subgraph is generated by using at least one of the heuristic method, the graph search method, the graph optimization method and the subgraph matching method, and the actual task allocation strategy corresponding to each resource subgraph is used. After execution, the actual performance corresponding to each resource subgraph is obtained, and the calculation graph, each resource subgraph and the corresponding actual performance are added to the training data set;
- At least one of the heuristic method, graph search method, graph optimization method and subgraph matching method is used to generate at least one resource subgraph, and the prediction corresponding to each resource subgraph is obtained through the first network performance, select the resource subgraph with the best predicted performance from the at least one resource subgraph, and obtain the actual performance after actually executing the task allocation strategy corresponding to the resource subgraph with the best predicted performance, and calculate the The graph, the resource subgraph with the best prediction performance and the corresponding actual performance are added to the training data set;
- a random walk method is used to generate at least one resource subgraph, and the actual performance is obtained after the task allocation strategy corresponding to each resource subgraph is actually executed. Figures and actual performance are added to the training dataset.
- the method for generating resource subgraphs described in the embodiments of the present disclosure may be a heuristic method, a graph search method, or a subgraph matching method, and this embodiment is not limited to the above resource subgraphs.
- the graph generation method generates the task assignment strategy, and at least one of other heuristic methods, graph search methods and subgraph matching methods can also be used to generate the task assignment strategy.
- the first determining unit 11 , the training unit 12 , the first generating unit 13 and the updating unit 14 in the apparatus can all be composed of CPU, GPU, DSP, Microcontroller (MCU, Microcontroller) in practical applications. Unit) or FPGA, TPU, ASIC, or AI chip, etc.
- the network training device based on the Internet of Things equipment provided in the above embodiment performs network training
- only the division of the above program modules is used as an example for illustration. In practical applications, the above processing can be allocated according to different needs.
- the program module is completed, that is, the internal structure of the device is divided into different program modules, so as to complete all or part of the above-described processing.
- the network training apparatus based on the Internet of Things device provided by the above embodiments and the network training method based on the Internet of Things device belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
- Embodiments of the present disclosure also provide a task assignment apparatus based on an IoT device.
- FIG. 13 is a schematic diagram of the composition and structure of an apparatus for task assignment based on IoT devices according to an embodiment of the present disclosure; as shown in FIG. 13 , the apparatus includes: a second determination unit 21 , a second generation unit 22 , a prediction unit 23 and a task assignment unit. 24; of which,
- the second determining unit 21 is configured to determine the computation graph corresponding to the task to be processed and the resource graph corresponding to the IoT device;
- the second generating unit 22 is configured to generate at least one task allocation strategy based on the computation graph and the resource graph;
- the prediction unit 23 is configured to input the at least one task allocation strategy into the first network, and obtain the prediction performance corresponding to each task allocation strategy;
- the task assignment unit 24 is configured to determine a task assignment strategy with the best predictive performance, and perform task assignment based on the determined task assignment strategy.
- the second generating unit 22 is configured to generate at least one resource subgraph based on the computation graph and the resource graph, and each resource subgraph includes a task allocation strategy;
- the task allocation strategy is used to allocate at least one node of the corresponding resource graph to each node of the computing graph;
- a node in the resource subgraph represents at least part of the capabilities of the IoT device;
- two adjacent nodes in the resource subgraph The edges represent relationships between at least some of the capabilities of IoT devices.
- the second generating unit 22 is configured to determine a first node in the calculation graph; the first node is a node with the largest resource demand; determine the resource graph at least one second node; the at least one second node is a node that satisfies the resource requirements of the first node; a resource subgraph is determined based on each second node, and each resource subgraph includes a task allocation strategy .
- the first network is optimized by using the network training apparatus described in the foregoing embodiments of the present disclosure.
- the predicting unit 23 is configured to obtain the prediction performance corresponding to each resource subgraph through the first network based on the computation graph and each resource subgraph.
- the predicting unit 23 is configured to extract features of the computational graph through a feature extraction module of the first network to obtain a first feature set; Extract the features of the at least one resource sub-map to obtain at least one second feature set; obtain the corresponding resource sub-map based on the first feature set, each second feature set and the prediction module of the first network Predictive performance.
- the predicting unit 23 is configured to obtain at least one third feature set based on the first feature set and each second feature set, and each third feature set includes the Describe the first feature set and each second feature set; obtain prediction data corresponding to each resource submap based on each third feature set and the prediction module, and obtain each resource based on the prediction data corresponding to each resource submap The prediction performance corresponding to the subgraph.
- the prediction data includes at least one of the following;
- the prediction unit 23 is configured to perform weighting processing on the prediction data corresponding to each resource sub-map according to a preset weight, to obtain the prediction performance corresponding to each resource sub-map.
- the task allocation unit 24 is configured to determine a task allocation strategy with the best predicted performance, and perform task allocation and execution in practice according to the strategy.
- the apparatus further includes: an obtaining unit, configured to obtain the actual performance of the to-be-processed task when it is executed according to a corresponding task allocation strategy after the task allocation is performed;
- the task allocation strategy and the obtained actual performance are stored in a training data set; the training data set is used to update the first network.
- the second determination unit 21 , the second generation unit 22 , the prediction unit 23 , the task assignment unit 24 , and the acquisition unit in the device can all be composed of CPU, GPU, DSP, ASIC, AI, etc. Chip, MCU or FPGA etc.
- the task allocation device based on the Internet of Things device performs task allocation
- only the division of the above program modules is used as an example for illustration.
- the program module is completed, that is, the internal structure of the device is divided into different program modules, so as to complete all or part of the above-described processing.
- the task assignment apparatus based on IoT devices provided by the above embodiments and the embodiments of the task assignment method based on IoT devices belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
- FIG. 14 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the disclosure.
- the electronic device includes a memory 32 , a processor 31 , and a computer program stored in the memory 32 and running on the processor 31 .
- the processor 31 implements the steps of the network training method described in the foregoing embodiments of the present disclosure when executing the program; or, when the processor executes the program, realizes the steps of the task allocation method described in the foregoing embodiments of the present disclosure. step.
- bus system 33 is used to implement the connection communication between these components.
- bus system 33 also includes a power bus, a control bus and a status signal bus.
- the various buses are designated as bus system 33 in FIG. 14 .
- the memory 32 may be either volatile memory or non-volatile memory, and may include both volatile and non-volatile memory.
- the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-only memory) Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), Magnetic Random Access Memory (FRAM, ferromagnetic random access memory), Flash Memory (Flash Memory), Magnetic Surface Memory , CD-ROM, or CD-ROM (Compact Disc Read-Only Memory); magnetic surface memory can be disk memory or tape memory.
- RAM Random Access Memory
- SRAM Static Random Access Memory
- SSRAM Synchronous Static Random Access Memory
- DRAM Dynamic Random Access Memory
- SDRAM Synchronous Dynamic Random Access Memory
- DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
- ESDRAM Enhanced Type Synchronous Dynamic Random Access Memory
- SLDRAM Synchronous Link Dynamic Random Access Memory
- DRRAM Direct Rambus Random Access Memory
- the memory 32 described in the embodiments of the present disclosure is intended to include, but not be limited to, these and any other suitable types of memory.
- the methods disclosed in the above embodiments of the present disclosure may be applied to the processor 31 or implemented by the processor 31 .
- the processor 31 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method can be completed by a hardware integrated logic circuit in the processor 31 or an instruction in the form of software.
- the above-mentioned processor 31 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
- the processor 31 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of the present disclosure.
- a general purpose processor may be a microprocessor or any conventional processor or the like.
- the steps of the methods disclosed in combination with the embodiments of the present disclosure can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
- the software module may be located in a storage medium, and the storage medium is located in the memory 32, and the processor 31 reads the information in the memory 32 and completes the steps of the foregoing method in combination with its hardware.
- the electronic device may be implemented by one or more Application Specific Integrated Circuit (ASIC, Application Specific Integrated Circuit), DSP, Programmable Logic Device (PLD, Programmable Logic Device), Complex Programmable Logic Device (CPLD, Complex Programmable Logic Device), FPGA, general-purpose processor, controller, MCU, Microprocessor (Microprocessor), or other electronic components implemented for performing the aforementioned method.
- ASIC Application Specific Integrated Circuit
- DSP Digital Signal processor
- PLD Programmable Logic Device
- CPLD Complex Programmable Logic Device
- FPGA general-purpose processor
- controller MCU
- Microprocessor Microprocessor
- an embodiment of the present disclosure further provides a computer-readable storage medium, such as a memory 32 including a computer program, and the computer program can be executed by the processor 31 of the electronic device to complete the steps of the foregoing method.
- the computer-readable storage medium can be memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM; it can also be various devices including one or any combination of the above memories.
- Embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, implements the steps of the network training method described in the foregoing embodiments of the present disclosure; or, the program is processed
- the steps of the task allocation method described in the foregoing embodiments of the present disclosure are implemented when the server is executed.
- the disclosed apparatus and method may be implemented in other manners.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented.
- the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical or other forms. of.
- the unit described above as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present disclosure may be all integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration
- the unit can be implemented either in the form of hardware or in the form of hardware plus software functional units.
- the aforementioned program may be stored in a computer-readable storage medium, and when the program is executed, execute It includes the steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a ROM, a RAM, a magnetic disk or an optical disk and other media that can store program codes.
- the above-mentioned integrated units of the present disclosure are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
- the technical solutions of the embodiments of the present disclosure essentially or the parts that make contributions to the prior art can be embodied in the form of a software product, and the computer software product is stored in a storage medium and includes several instructions for A computer device (which may be a personal computer, a server, or a network device, etc.) is caused to execute all or part of the methods described in the various embodiments of the present disclosure.
- the aforementioned storage medium includes: a removable storage device, a ROM, a RAM, a magnetic disk or an optical disk and other mediums that can store program codes.
Abstract
Description
Claims (24)
- 一种基于物联网设备的网络训练方法,所述方法包括:确定训练数据集,基于所述训练数据集训练第一网络;所述训练数据集中包括至少一种任务分配策略及对应的实际性能;一个实际性能是基于对应的任务分配策略进行实际执行而获得;所述第一网络用于预测任务分配策略的性能。
- 根据权利要求1所述的方法,其中,所述方法还包括:确定待处理任务对应的计算图,以及物联网设备对应的资源图,基于所述计算图和资源图,生成至少一种任务分配策略。
- 根据权利要求2所述的方法,其中,所述基于所述计算图和资源图,生成至少一种任务分配策略,包括:基于所述计算图和资源图生成至少一个资源子图,每个资源子图包含一种任务分配策略;所述任务分配策略用于为所述计算图的每个节点分配相应资源图的至少一个节点;资源子图中的一个节点表示物联网设备的至少部分能力;资源子图中两个相邻节点的边表示物联网设备的至少部分能力之间的关系。
- 根据权利要求3所述的方法,其中,所述基于所述计算图和资源图生成至少一个资源子图,包括:确定所述计算图中的第一节点;所述第一节点为资源需求最大的节点;确定所述资源图中的至少一个第二节点;所述至少一个第二节点为满足所述第一节点的资源需求的节点;基于每个第二节点确定一个资源子图,每个资源子图包含一种任务分配策略。
- 根据权利要求1所述的方法,其中,所述训练第一网络,包括:基于至少一种任务分配策略的预测性能和实际性能,训练所述第一网 络;其中,基于计算图和每个资源子图,通过第一网络得到每个资源子图对应的预测性能。
- 根据权利要求5所述的方法,其中,所述通过第一网络得到每个资源子图对应的预测性能,包括:通过所述第一网络的特征提取模块提取所述计算图的特征,得到第一特征集;通过所述特征提取模块分别提取所述至少一个资源子图的特征,得到至少一个第二特征集;基于所述第一特征集、每个第二特征集和所述第一网络的预测模块获得每个资源子图对应的预测性能。
- 根据权利要求6所述的方法,其中,所述基于所述第一特征集、每个第二特征集和所述第一网络的预测模块获得每个资源子图对应的预测性能,包括:基于所述第一特征集和每个第二特征集,获得至少一个第三特征集,每个第三特征集包括所述第一特征集和每个第二特征集;基于每个第三特征集和所述预测模块获得每个资源子图对应的预测数据,基于每个资源子图对应的预测数据获得每个资源子图对应的预测性能。
- 根据权利要求7所述方法,其中,所述训练第一网络,包括:基于每种任务分配策略的预测性能和实际性能,训练所述特征提取模块和所述预测模块。
- 根据权利要求8所述方法,其中,所述训练所述特征提取模块和所述预测模块,包括:将每种任务分配策略的预测性能和实际性能的误差进行反向传播,利用梯度下降算法,对第一网络的特征提取模块和预测模块的网络参数进行 更新,直至预测性能和实际性能之间的误差满足预设条件。
- 根据权利要求1所述的方法,其中,所述方法还包括:更新所述训练数据集;所述更新所述训练数据集,包括以下至少之一:基于计算图和资源图,采用启发式方法、图搜索方法、图优化方法和子图匹配方法中的至少一种方法生成至少一种资源子图,并按照每种资源子图对应的任务分配策略实际执行后,得到每种资源子图对应的实际性能,将所述计算图、每种资源子图和对应的实际性能加入所述训练数据集;基于计算图和资源图,采用启发式方法、图搜索方法、图优化方法和子图匹配方法中的至少一种方法生成至少一种资源子图,通过第一网络得到每个资源子图对应的预测性能,从所述至少一种资源子图中选择预测性能最佳的资源子图,并按照所述预测性能最佳的资源子图对应的任务分配策略实际执行后得到实际性能,将所述计算图、所述预测性能最佳的资源子图和对应的实际性能加入所述训练数据集;基于计算图和资源图,采用随机游走方法生成至少一种资源子图,并按照每种资源子图对应的任务分配策略实际执行后得到实际性能,将所述计算图、至少一种资源子图和实际性能加入所述训练数据集。
- 一种基于物联网设备的任务分配方法,所述方法包括:确定待处理任务对应的计算图,以及物联网设备对应的资源图;基于所述计算图和所述资源图,生成至少一种任务分配策略;将所述至少一种任务分配策略输入第一网络,获得每种任务分配策略对应的预测性能;确定预测性能最佳的任务分配策略,基于确定的任务分配策略进行任务分配。
- 根据权利要求11所述的方法,其中,所述基于所述计算图和所述 资源图生成至少一种任务分配策略,包括:基于所述计算图和所述资源图生成至少一个资源子图,每个资源子图包含一种任务分配策略;所述任务分配策略用于为所述计算图的每个节点分配相应资源图的至少一个节点;资源子图中的一个节点表示物联网设备的至少部分能力;资源子图中两个相邻节点的边表示物联网设备的至少部分能力之间的关系。
- 根据权利要求12所述的方法,其中,所述基于所述计算图和所述资源图生成至少一个资源子图,包括:确定所述计算图中的第一节点;所述第一节点为资源需求最大的节点;确定所述资源图中的至少一个第二节点;所述至少一个第二节点为满足所述第一节点的资源需求的节点;基于每个第二节点确定一个资源子图,每个资源子图包含一种任务分配策略。
- 根据权利要求11所述的方法,其中,所述获得每种任务分配策略对应的预测性能,包括:基于计算图和每个资源子图,通过第一网络得到每个资源子图对应的预测性能。
- 根据权利要求14所述的方法,其中,所述通过第一网络得到每个资源子图对应的预测性能,包括:通过所述第一网络的特征提取模块提取所述计算图的特征,得到第一特征集;通过所述特征提取模块分别提取所述至少一个资源子图的特征,得到至少一个第二特征集;基于所述第一特征集、每个第二特征集和所述第一网络的预测模块获得每个资源子图对应的预测性能。
- 根据权利要求15所述的方法,其中,所述基于所述第一特征集、每个第二特征集和所述第一网络的预测模块获得每个资源子图对应的预测性能,包括:基于所述第一特征集和每个第二特征集,获得至少一个第三特征集,每个第三特征集包括所述第一特征集和每个第二特征集;基于每个第三特征集和所述预测模块获得每个资源子图对应的预测数据,基于每个资源子图对应的预测数据获得每个资源子图对应的预测性能。
- 根据权利要求11所述的方法,其中,所述方法还包括:在进行任务分配后,获取所述待处理任务按照相应的任务分配策略被执行时的实际性能;并将相应的任务分配策略及获取的实际性能存储至训练数据集;所述训练数据集用于更新所述第一网络。
- 一种基于物联网设备的网络训练装置,所述装置包括:第一确定单元和训练单元;其中,所述第一确定单元,配置为确定训练数据集,所述训练数据集中包括至少一种任务分配策略及对应的实际性能;一个实际性能是基于对应的任务分配策略进行实际执行而获得;所述训练单元,配置为基于所述训练数据集训练第一网络;所述第一网络用于预测任务分配策略的性能。
- 根据权利要求18所述的装置,其中,所述装置还包括第一生成单元,配置为确定待处理任务对应的计算图,以及物联网设备对应的资源图,基于所述计算图和资源图,生成至少一种任务分配策略。
- 根据权利要求19所述的装置,其中,所述第一生成单元,配置为基于所述计算图和资源图生成至少一个资源子图,每个资源子图包含一种任务分配策略;所述任务分配策略用于为所述计算图的每个节点分配相应资源图的至少一个节点;资源子图中的一个节点表示物联网设备的至少部 分能力;资源子图中两个相邻节点的边表示物联网设备的至少部分能力之间的关系。
- 根据权利要求19所述的装置,其中,所述第一生成单元,配置为确定所述计算图中的第一节点;所述第一节点为资源需求最大的节点;确定所述资源图中的至少一个第二节点;所述至少一个第二节点为满足所述第一节点的资源需求的节点;基于每个第二节点确定一个资源子图,每个资源子图包含一种任务分配策略。
- 一种基于物联网设备的任务分配装置,所述装置包括:第二确定单元、第二生成单元、预测单元和任务分配单元;其中,所述第二确定单元,配置为确定待处理任务对应的计算图,以及物联网设备对应的资源图;所述第二生成单元,配置为基于所述计算图和所述资源图,生成至少一种任务分配策略;所述预测单元,配置为将所述至少一种任务分配策略输入第一网络,获得每种任务分配策略对应的预测性能;所述任务分配单元,配置为确定预测性能最佳的任务分配策略,基于确定的任务分配策略进行任务分配。
- 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至10任一项所述方法的步骤;或者,该程序被处理器执行时实现权利要求11至17任一项所述方法的步骤。
- 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至10任一项所述方法的步骤;或者,所述处理器执行所述程序时实现权利要求11至17任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22752227.3A EP4290824A1 (en) | 2021-02-10 | 2022-02-08 | Task allocation method and apparatus based on internet-of-things device, and network training method and apparatus |
JP2023548262A JP2024506073A (ja) | 2021-02-10 | 2022-02-08 | モノのインターネット機器ベースのタスク割り当て方法、ネットワーク訓練方法及びその装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184998.5A CN114915630B (zh) | 2021-02-10 | 2021-02-10 | 基于物联网设备的任务分配方法、网络训练方法及装置 |
CN202110184998.5 | 2021-02-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022171066A1 true WO2022171066A1 (zh) | 2022-08-18 |
Family
ID=82761021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/075450 WO2022171066A1 (zh) | 2021-02-10 | 2022-02-08 | 基于物联网设备的任务分配方法、网络训练方法及装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4290824A1 (zh) |
JP (1) | JP2024506073A (zh) |
CN (1) | CN114915630B (zh) |
WO (1) | WO2022171066A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115421930A (zh) * | 2022-11-07 | 2022-12-02 | 山东海量信息技术研究院 | 任务处理方法、系统、装置、设备及计算机可读存储介质 |
CN116545892A (zh) * | 2023-06-29 | 2023-08-04 | 云账户技术(天津)有限公司 | 业务瓶颈节点的确定方法、装置、电子设备及存储介质 |
CN116662010A (zh) * | 2023-06-14 | 2023-08-29 | 肇庆学院 | 基于分布式系统环境下的动态资源分配方法及系统 |
CN117272838A (zh) * | 2023-11-17 | 2023-12-22 | 恒海云技术集团有限公司 | 一种政务大数据平台数据采集优化方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701001B (zh) * | 2023-08-08 | 2023-10-20 | 国网浙江省电力有限公司信息通信分公司 | 目标任务分配方法、装置、电子设备及存储介质 |
CN117573382B (zh) * | 2024-01-17 | 2024-03-29 | 国网浙江省电力有限公司丽水供电公司 | 一种数据采集任务编排方法、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562972A (zh) * | 2020-04-24 | 2020-08-21 | 西北工业大学 | 一种面向群智感知的泛在操作系统 |
CN111782354A (zh) * | 2020-05-29 | 2020-10-16 | 国网江苏省电力有限公司信息通信分公司 | 一种基于强化学习的集中式数据处理时间优化方法 |
US20210027197A1 (en) * | 2018-01-30 | 2021-01-28 | Deepmind Technologies Limited | Dynamic placement of computation sub-graphs |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656702B (zh) * | 2018-12-20 | 2022-10-04 | 西安电子科技大学 | 一种基于强化学习的跨数据中心网络任务调度方法 |
CN109753751B (zh) * | 2019-01-20 | 2023-04-18 | 北京工业大学 | 一种基于机器学习的mec随机任务迁移方法 |
CN112187859B (zh) * | 2020-08-24 | 2022-05-24 | 国网浙江省电力有限公司信息通信分公司 | 物联网业务与边缘网络能力动态映射的方法及电子设备 |
CN112328378B (zh) * | 2020-11-05 | 2023-03-24 | 南京星环智能科技有限公司 | 任务调度方法、计算机设备及存储介质 |
CN112101530B (zh) * | 2020-11-10 | 2021-02-26 | 南京集成电路产业服务中心有限公司 | 神经网络训练方法、装置、设备及存储介质 |
-
2021
- 2021-02-10 CN CN202110184998.5A patent/CN114915630B/zh active Active
-
2022
- 2022-02-08 WO PCT/CN2022/075450 patent/WO2022171066A1/zh active Application Filing
- 2022-02-08 JP JP2023548262A patent/JP2024506073A/ja active Pending
- 2022-02-08 EP EP22752227.3A patent/EP4290824A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210027197A1 (en) * | 2018-01-30 | 2021-01-28 | Deepmind Technologies Limited | Dynamic placement of computation sub-graphs |
CN111562972A (zh) * | 2020-04-24 | 2020-08-21 | 西北工业大学 | 一种面向群智感知的泛在操作系统 |
CN111782354A (zh) * | 2020-05-29 | 2020-10-16 | 国网江苏省电力有限公司信息通信分公司 | 一种基于强化学习的集中式数据处理时间优化方法 |
Non-Patent Citations (2)
Title |
---|
LI DI-FEI, DI TIAN, XIONG-WEI HU: " A method of deep learning based on distributed memory computing", JOURNAL OF JILIN UNIVERSITY (ENGINEERING AND TECHNOLOGY EDITION), vol. 45, no. 3, 15 May 2015 (2015-05-15), XP055957885 * |
WANG LI, GUO ZHEN-HUA; CAO FANG; G AO KAI; ZHAO YA-QIAN: "An Automatic Model Splitting Strategy Generation Method for Model Parallel Training", COMPUTER ENGINEERING AND SCIENCE, GUOFANG KEJI DAXUE JISUANJI XUEYUAN, CN, vol. 42, no. 9, 15 June 2020 (2020-06-15), CN , XP055957887, ISSN: 1007-130X * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115421930A (zh) * | 2022-11-07 | 2022-12-02 | 山东海量信息技术研究院 | 任务处理方法、系统、装置、设备及计算机可读存储介质 |
CN115421930B (zh) * | 2022-11-07 | 2023-03-24 | 山东海量信息技术研究院 | 任务处理方法、系统、装置、设备及计算机可读存储介质 |
CN116662010A (zh) * | 2023-06-14 | 2023-08-29 | 肇庆学院 | 基于分布式系统环境下的动态资源分配方法及系统 |
CN116662010B (zh) * | 2023-06-14 | 2024-05-07 | 肇庆学院 | 基于分布式系统环境下的动态资源分配方法及系统 |
CN116545892A (zh) * | 2023-06-29 | 2023-08-04 | 云账户技术(天津)有限公司 | 业务瓶颈节点的确定方法、装置、电子设备及存储介质 |
CN116545892B (zh) * | 2023-06-29 | 2023-10-13 | 云账户技术(天津)有限公司 | 业务瓶颈节点的确定方法、装置、电子设备及存储介质 |
CN117272838A (zh) * | 2023-11-17 | 2023-12-22 | 恒海云技术集团有限公司 | 一种政务大数据平台数据采集优化方法 |
CN117272838B (zh) * | 2023-11-17 | 2024-02-02 | 恒海云技术集团有限公司 | 一种政务大数据平台数据采集优化方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4290824A1 (en) | 2023-12-13 |
CN114915630A (zh) | 2022-08-16 |
JP2024506073A (ja) | 2024-02-08 |
CN114915630B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022171066A1 (zh) | 基于物联网设备的任务分配方法、网络训练方法及装置 | |
Zhou et al. | Edge intelligence: Paving the last mile of artificial intelligence with edge computing | |
Lu et al. | IoTDeM: An IoT Big Data-oriented MapReduce performance prediction extended model in multiple edge clouds | |
Movahedi et al. | An efficient population-based multi-objective task scheduling approach in fog computing systems | |
EP4293965A1 (en) | Information processing method, apparatus, system, electronic device and storage medium | |
JP2022511716A (ja) | 非集中的な分散型深層学習 | |
Memari et al. | A latency-aware task scheduling algorithm for allocating virtual machines in a cost-effective and time-sensitive fog-cloud architecture | |
Shooshtarian et al. | A clustering-based approach to efficient resource allocation in fog computing | |
Kaur et al. | Load balancing optimization based on deep learning approach in cloud environment | |
Wu et al. | Optimal deploying IoT services on the fog computing: A metaheuristic-based multi-objective approach | |
Liu et al. | An optimized human resource management model for cloud-edge computing in the internet of things | |
Lone et al. | A review on offloading in fog-based Internet of Things: Architecture, machine learning approaches, and open issues | |
Wang et al. | Deep Reinforcement Learning-based scheduling for optimizing system load and response time in edge and fog computing environments | |
Zhang | A computing allocation strategy for Internet of things’ resources based on edge computing | |
Salehnia et al. | An optimal task scheduling method in IoT-Fog-Cloud network using multi-objective moth-flame algorithm | |
Ghobaei‐Arani et al. | Deploying IoT services on the fog infrastructure: a graph partitioning‐based approach | |
Aqib et al. | Machine learning for fog computing: review, opportunities and a fog application classifier and scheduler | |
Xu et al. | A meta reinforcement learning-based virtual machine placement algorithm in mobile edge computing | |
WO2021115082A1 (zh) | 作业调度方法以及作业调度装置 | |
Asghari et al. | Bi-objective cloud resource management for dependent tasks using Q-learning and NSGA-3 | |
WO2023143570A1 (zh) | 一种连接关系预测方法及相关设备 | |
Qi | Fuzzy logic hybridized artificial intelligence for computing and networking on internet of things platform | |
Afrasiabi et al. | Reinforcement learning-based optimization framework for application component migration in nfv cloud-fog environments | |
WO2021227757A1 (en) | Optimal placement of data structures in a hybrid memory based inference computing platform | |
Ramanathan et al. | A survey on time-sensitive resource allocation in the cloud continuum |
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: 22752227 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023548262 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022752227 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2022752227 Country of ref document: EP Effective date: 20230908 |