Information processing method, device, system, electronic device, and storage medium

The method optimizes task allocation across resource-constrained IoT devices by generating resource and computing graphs, addressing the limitations of edge computing in deep learning tasks, thereby improving system performance and resource utilization.

JP7729902B2Active Publication Date: 2025-08-26CHINA MOBILE COMM LTD RES INST +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023548276
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-10
Filing Date
2022-02-08
Publication Date
2025-08-26
Estimated Expiration
2042-02-08

AI Technical Summary

Technical Problem

Resource-constrained edge environments struggle to support computationally intensive deep learning tasks due to limited computing power and storage space, limiting the effectiveness of edge computing in applications like autonomous driving and augmented reality.

Method used

An information processing method that abstracts IoT device capabilities to generate a resource graph, decomposes tasks into operators, and optimizes computing graphs for efficient task allocation across IoT devices, utilizing resource-constrained devices through a performance-optimal task allocation policy.

Benefits of technology

Enables efficient management and flexible scheduling of resource-constrained IoT devices, allowing them to execute computationally intensive tasks effectively, enhancing system performance and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007729902000001
    Figure 0007729902000001
  • Figure 0007729902000002
    Figure 0007729902000002
  • Figure 0007729902000003
    Figure 0007729902000003
Patent Text Reader

Abstract

The present disclosure discloses an information processing method, an apparatus, a system, an electronic device, and a storage medium, in which the method includes: a first functional component generating a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on an isomerized IoT device; a second functional component obtaining a task to be processed and generating a computing graph corresponding to the task to be processed; and a third functional component performing task allocation based on the resource graph and the computing graph.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This disclosure is based on and claims priority from a Chinese patent application having application number 202110184807.5 and filing date February 10, 2021, the entire contents of which are incorporated herein by reference.

[0002] The present disclosure relates to the field of IoT (Internet of Things), and in particular to an information processing method, device, system, electronic device, and storage medium. [Background technology]

[0003] Edge computing is a computing method that offloads (i.e., allocates) computing tasks to the network edge, closer to IoT devices. Compared to cloud computing, edge computing eliminates the need to upload large amounts of user raw data to cloud data centers. This effectively solves issues such as latency, reliability, energy consumption, communication bandwidth consumption, user privacy, and security in data processing. Edge computing is particularly valuable and has broad application prospects in applications with high requirements for data processing latency, user privacy, and reliability, such as autonomous driving, virtual reality (VR), and augmented reality (AR).

[0004] However, intelligent applications and / or services for realizing application scenarios based on artificial intelligence (AI) generally require high computing power and / or storage space and must perform computing-intensive computing tasks, which poses significant challenges to the edge where resources are constrained (i.e., computing power and / or storage space are limited) and resource utilization is high. In other words, how to utilize resource-constrained and resource-intensive IoT devices to perform computing tasks has become an urgent issue to be resolved. Summary of the Invention [Problem to be solved by the invention]

[0005] To solve the problems in the related art, embodiments of the present disclosure provide an information processing method, an apparatus, a system, an electronic device, and a storage medium. [Means for solving the problem]

[0006] The technical solutions according to the embodiments of the present disclosure are realized as follows: An embodiment of the present disclosure provides an information processing method, the method comprising: a first functional component for abstracting capabilities of an IoT device to generate a resource graph, the resource graph being used to manage and / or adjust available capabilities on the isomorphized IoT device; The second functional component obtains a task to be processed and generates a computing graph corresponding to the task to be processed; A third functional component includes performing task allocation based on the resource graph and the computing graph.

[0007] In some alternative embodiments of the present disclosure, generating a computing graph corresponding to the task to be processed comprises: The second functional component decomposes the task to be processed into at least one operator and determines a relationship between the operators; and generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationships between the operators.

[0008] In some alternative embodiments of the present disclosure, decomposing the task to be processed into at least one operator comprises: The second functional component includes employing a first policy to decompose the task to be processed to obtain at least one operator.

[0009] In some alternative embodiments of the present disclosure, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators includes: the second functional component abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; and generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0010] In some alternative embodiments of the present disclosure, nodes of the computing graph represent operators of the task to be processed, and edges of the computing graph represent relationships between two adjacent nodes.

[0011] In some alternative embodiments of the present disclosure, the task to be processed is: Machine learning models that require training and and a machine learning model that requires inference.

[0012] In some alternative embodiments of the present disclosure, the method further comprises: The second functional component optimizes the generated computing graph; and The third functional component includes performing task allocation based on the resource graph and the optimized computing graph.

[0013] In some alternative embodiments of the present disclosure, optimizing the generated computing graph comprises: Operator fusion and Constant merging and a static memory planning pass; data layout transformation and at least one of the following.

[0014] In some alternative embodiments of the present disclosure, generating a resource graph by abstracting capabilities of the IoT devices includes: The first functional component discovers IoT devices in a network, detects capabilities of the IoT devices, and for each IoT device, abstracts the IoT device into a corresponding node based on the capabilities of the corresponding IoT device; and generating a resource graph based on the abstracted nodes.

[0015] In some alternative embodiments of the present disclosure, nodes of the resource graph represent capabilities of at least some of the IoT devices, and edges of the resource graph represent relationships between two adjacent nodes.

[0016] In some alternative embodiments of the present disclosure, the method further comprises: When the first functional component monitors that a change has occurred in the IoT device, the first functional component updates the resource graph based on the change in the monitored IoT device.

[0017] In some alternative embodiments of the present disclosure, performing task allocation based on the resource graph and the computing graph includes: The third functional component includes: employing a second policy to generate at least one task allocation policy based on the resource graph and the computing graph; determining a performance-optimal task allocation policy from the at least one task allocation policy; and performing task allocation based on the performance-optimal task allocation policy, wherein the task allocation policy is used to allocate the task to be processed to at least one IoT device.

[0018] In some alternative embodiments of the present disclosure, employing the second policy to generate at least one task assignment policy includes: The third functional component includes: based on the computing graph and the resource graph, employing a second policy to generate at least one resource subgraph, each resource subgraph including one task allocation policy, a node in the resource subgraph representing at least a part of the capabilities of an IoT device, and an edge in the resource subgraph representing the relationship between two adjacent nodes.

[0019] In some alternative embodiments of the present disclosure, determining a performance-optimal task allocation policy from the at least one task allocation policy comprises: The third functional component includes predicting performance of each task assignment policy and determining a performance-optimal task assignment policy based on the predicted performance of each task assignment policy.

[0020] In some alternative embodiments of the present disclosure, predicting the performance of each task allocation policy includes: The third functional component extracts features of the computing graph to obtain a first feature set, and extracts features of each resource sub-graph to obtain a plurality of second feature sets, each resource sub-graph including one task allocation policy; For each task assignment policy, predicting performance of the corresponding task assignment policy based on the first set of features and the corresponding second set of features.

[0021] In some alternative embodiments of the present disclosure, extracting features of the computing graph to obtain a first feature set and extracting features of each resource sub-graph to obtain a plurality of second feature sets comprises: The third functional component includes extracting features of the computing graph through a feature extraction network to obtain a first feature set, and extracting features of each resource subgraph through the feature extraction network to obtain a plurality of second feature sets.

[0022] In some alternative embodiments of the present disclosure, predicting the performance of a corresponding task allocation policy based on the first set of features and the corresponding second set of features includes: The third functional component includes obtaining prediction data corresponding to a corresponding task allocation policy through a prediction network based on the first feature set and the corresponding second feature set, and determining a predicted performance of the corresponding task allocation policy based on the prediction data corresponding to the corresponding task allocation policy.

[0023] In some alternative embodiments of the present disclosure, the prediction data may include: a predicted length of time for executing the task to be processed; a predicted energy consumption for executing the task to be processed; and a predicted reliability for executing the target task.

[0024] In some alternative embodiments of the present disclosure, determining a predicted performance of a corresponding task assignment policy based on prediction data corresponding to the corresponding task assignment policy includes: The third functional component includes performing a weighting process on the prediction data corresponding to the corresponding task allocation policy based on a preset weight, to determine the prediction performance of the corresponding task allocation policy.

[0025] In some alternative embodiments of the present disclosure, the feature extraction network is obtained by training based on a training dataset, and the training process can generate optimized network parameters, which are used to extract features that are advantageous for improving the accuracy rate of performance prediction.

[0026] In some alternative embodiments of the present disclosure, the predictive network is trained based on a training dataset, and the training process can generate optimized network parameters, which are used to improve the accuracy rate of performance prediction.

[0027] In some alternative embodiments of the present disclosure, the training data set may be continuously updated by accumulating historical data and / or generating new data by random walkthrough, so that the training process has the ability to continuously learn.

[0028] In some alternative embodiments of the present disclosure, the method further comprises: The third functional component includes, after performing task allocation, obtaining actual performance when the task to be processed is executed based on the optimal task allocation policy for the performance, and storing the optimal task allocation policy for the performance and the obtained actual performance in the training dataset.

[0029] An embodiment of the present disclosure further provides an information processing method, the method comprising: Obtaining a task to be processed and generating a computing graph corresponding to the task to be processed, wherein the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes; optimizing the generated computing graph to obtain an optimized computing graph, the optimized computing graph being used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities of IoT devices, the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT devices.

[0030] In some alternative embodiments of the present disclosure, generating a computing graph corresponding to the task to be processed comprises: decomposing the task to be processed into at least one operator and determining a relationship between the operators; and generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationships between the operators.

[0031] In some alternative embodiments of the present disclosure, decomposing the task to be processed into at least one operator comprises: Decomposing the task to be processed by employing a first policy to obtain at least one operator.

[0032] In some alternative embodiments of the present disclosure, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators includes: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; and generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0033] In some alternative embodiments of the present disclosure, optimizing the generated computing graph comprises: Operator fusion and Constant merging and a static memory planning pass; data layout transformation and at least one of the following.

[0034] An embodiment of the present disclosure further provides an information processing device, the device comprising: a first functional component configured to generate a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on an isomorphized IoT device; a second functional component configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed; and a third functional component configured to perform task allocation based on the resource graph and the computing graph.

[0035] An embodiment of the present disclosure further provides an information processing device, the device comprising: a first processing unit configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed, wherein the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes; a second processing unit configured to optimize the generated computing graph to obtain an optimized computing graph, the optimized computing graph being used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities of IoT devices, the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT devices.

[0036] An embodiment of the present disclosure further provides an information processing system, the system comprising: a first functional component configured to generate a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on an isomorphized IoT device; a second functional component configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed; a third functional component configured to perform task allocation based on the resource graph and the computing graph; The first functional component, the second functional component, and the third functional component are installed in at least two electronic devices.

[0037] An embodiment of the present disclosure further provides an electronic device, the electronic device including a processor and a memory configured to store a computer program executable by the processor; Here, the processor is configured to perform the steps of any of the above methods when executing the computer program.

[0038] An embodiment of the present disclosure further provides a storage medium having a computer program stored therein, the computer program causing the steps of any of the above methods to be implemented when executed by a processor. [Effects of the Invention]

[0039] According to an information processing method, an apparatus, a system, an electronic device, and a storage medium according to embodiments of the present disclosure, a first functional component generates a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT device, a second functional component obtains a task to be processed and generates a computing graph corresponding to the task to be processed, and a third functional component performs task allocation based on the resource graph and the computing graph. According to the technical solutions of the embodiments of the present disclosure, the capabilities of an IoT device are abstracted, a resource graph is generated for managing and / or adjusting available capabilities on the isomerized IoT device, and task allocation is performed based on the computing graph corresponding to the task to be processed and the resource graph, thereby enabling efficient management and flexible scheduling of resource-constrained and highly isomerized IoT devices, that is, resource-constrained and highly isomerized IoT devices can be fully utilized to execute tasks to be processed (e.g., computationally intensive deep learning tasks). [Brief explanation of the drawings]

[0040] [Figure 1] FIG. 1 is a flow diagram of an information processing method according to an embodiment of the present disclosure. [Figure 2] FIG. 10 is a flow diagram of another information processing method according to an embodiment of the present disclosure. [Figure 3] FIG. 1 is a scene schematic diagram of an application example of the present disclosure. [Figure 4] 1 is a structural schematic diagram of an intelligent distributed edge computing (IDEC) system according to an application embodiment of the present disclosure; FIG. [Figure 5] FIG. 2 is a schematic diagram of an application scenario of a service capability abstraction module in an application embodiment of the present disclosure; [Figure 6]FIG. 2 is a schematic diagram of a resource knowledge graph construction module in an application embodiment of the present disclosure. [Figure 7] FIG. 1 is a schematic diagram of the optimization of a computing graph in an application example of the present disclosure. [Figure 8] FIG. 2 is a schematic diagram of an Intelligent Computing Task Allocation (ICTA) module of an application embodiment of the present disclosure. [Figure 9] 1 is a structural schematic diagram of an intelligent IoT edge computing platform based on IDEC in an application embodiment of the present disclosure; FIG. [Figure 10] 1 is a structural schematic diagram of an information processing device according to an embodiment of the present disclosure. [Figure 11] FIG. 10 is a structural schematic diagram of another information processing device according to an embodiment of the present disclosure. [Figure 12] 1 is a structural schematic diagram of an electronic device according to an embodiment of the present disclosure. [Figure 13] 1 is a structural schematic diagram of an information processing system according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0041] The present disclosure will now be described in more detail with reference to the accompanying drawings and examples.

[0042] With the breakthrough of deep learning technology and the widespread adoption of 5G (5th Generation) mobile communication technology, IoT edge intelligent applications and / or services based on artificial intelligence have been steadily increasing in recent years, and have achieved inspiring initial results in fields such as the Internet of Vehicles, intelligent elderly care, intelligent communities, smart cities, smart homes, and industrial Internet. In such cases, distributed reasoning and / or training of machine learning models using edge computing resources is considered. However, compared to the powerful computing capabilities and abundant storage space of cloud computing, resource-limited edge environments often have difficulty supporting computationally intensive deep learning tasks. Therefore, a distributed edge computing method based on collaboration between devices can be considered to solve the resource-limited problem in edge environments.

[0043] In related technologies, distributed training and inference in edge deep learning systems mainly employ coarse-grained layer-level model decomposition and layer scheduling, with the child models after decomposition being deployed on the device side, edge side, and cloud side, respectively. The realization of the bottom layer of such coarse-grained layer-level model decomposition is entirely dependent on third-party programming frameworks (also known as software platforms or operator libraries) such as TensorFlow, Caffe, and Torch, which cannot fully utilize resource-constrained and highly distributed IoT devices to perform computing-intensive deep learning tasks, limiting the improvement of overall system performance.

[0044] Based on this, various embodiments of the present disclosure abstract capabilities of IoT devices, generate a resource graph for managing and / or adjusting available capabilities on isomerized IoT devices, and perform task allocation based on a computing graph corresponding to the tasks to be processed and the resource graph, thereby enabling efficient management and flexible scheduling of resource-constrained and highly isomerized IoT devices, that is, enabling the resource-constrained and highly isomerized IoT devices to be fully utilized to execute the tasks to be processed (e.g., computationally intensive deep learning tasks).

[0045] An embodiment of the present disclosure provides an information processing method, and as shown in FIG. 1, the method includes steps 101 to 103.

[0046] In step 101, a first functional component generates a resource graph (also called a resource knowledge diagram or resource knowledge graph) by abstracting the capabilities of an IoT device.

[0047] Here, the resource graph is used to manage and / or orchestrate available capabilities on the isomorphic IoT devices.

[0048] In step 102, the second functional component obtains a task to be processed and generates a computing graph (also called a computing flow graph or a data flow graph) corresponding to the task to be processed.

[0049] In step 103, a third functional component performs task allocation based on the resource graph and the computing graph.

[0050] In various embodiments of the present disclosure, the nodes of the resource graph represent at least some capabilities of IoT devices, and the edges of the resource graph represent relationships between two adjacent nodes (also called association relationships between two adjacent nodes), which may include communication relationships and subordinate relationships. The communication relationships may be embodied to include information that may represent communication strength, such as an information transmission rate and a transmission delay, between two adjacent nodes.

[0051] In practical applications, the tasks to be processed may include computing tasks, which may include general computing tasks and computing-intensive computing tasks, such as training and / or reasoning machine learning models (also known as depth models, depth learning models, or depth neural networks). Computing-intensive computing tasks have high requirements for computing power and / or memory capacity, and are applied to task allocation based on the resource graph and the computing graph. In other words, by employing the information processing method according to the embodiments of the present disclosure, it is possible to fully utilize resource-constrained and highly isotopic IoT devices to perform computing-intensive computing tasks.

[0052] Here, isomeric IoT devices refer to a network including multiple IoT devices and servers, in which the hardware of one IoT device is different from that of another IoT device and / or the server of one IoT device is different from that of another IoT device. Here, the difference in hardware between one IoT device and another IoT device refers to the difference in the model of processing hardware, such as a central processing unit (CPU), graphics processing unit (GPU), bus interface chip (BIC), and digital signal processor (DSP), or the model of storage hardware, such as random access memory (RAM) and read-only memory (ROM), of one IoT device, from the model of the hardware of another IoT device. The difference in server between one IoT device and another IoT device refers to the difference in the backend program or operating system corresponding to one IoT device from the backend program or operating system corresponding to another IoT device, i.e., there are differences in the software between the two IoT devices.

[0053] In practical applications, the IoT devices may include mobile phones, personal computers (PCs), wearable smart devices, smart gateways, computing boxes, etc., the PCs may include desktops, laptops, tablets, etc., and the wearable smart devices may include smart watches, smart glasses, etc.

[0054] In practical application, the information processing method according to the embodiments of the present disclosure may be applied to an information processing system, and the system may include the first functional component, the second functional component, and the third functional component. Here, the first functional component, the second functional component, and the third functional component may each be realized by an electronic device such as a server. Of course, the first functional component, the second functional component, and the third functional component may be installed in the same electronic device, or any two functional components among the first functional component, the second functional component, and the third functional component may be installed in the same electronic device.

[0055] Here, in step 101, in one embodiment, generating a resource graph by abstracting capabilities of the IoT devices includes: the first functional component discovers IoT devices in a network, detects capabilities of the IoT devices, and for each IoT device, abstracts the IoT device into a corresponding node based on the capabilities of the corresponding IoT device; and generating a resource graph based on the abstracted nodes.

[0056] Specifically, in practical applications, discovering the IoT device can also be referred to as sensing the IoT device in an edge network. The edge network refers to the edge of a telecommunications network (an edge network includes part or all of a convergence layer network and an access layer network, and is the last network that accesses users). Here, the discovery or sensing can also be understood as detection. For example, the first functional component can detect the IoT device in the edge network using a zero configuration networking (ZEROCONF) technology based on the Dynamic Host Configuration Protocol (DHCP). Of course, the first functional component may be configured to discover or sense the IoT device using other methods according to needs, and the embodiments of the present disclosure are not limited thereto.

[0057] After discovering the IoT device, the first functional component can detect the capabilities of the corresponding IoT device through information interaction with the corresponding IoT device. For example, the first functional component can send a capability request message to the corresponding IoT device and determine the capabilities of the corresponding IoT device based on a reply message sent by the corresponding IoT device in response to the capability request message.

[0058] Here, the capabilities of IoT devices are: Computing power and and memory capabilities.

[0059] Here, the capability of the IoT device refers to the service capability of the IoT device and can be understood as the resource of the corresponding IoT device. Correspondingly, the capability of at least a part of the IoT device can be understood as at least a part of the resource of the IoT device, and the available capability on the IoT device can be understood as the available resource, i.e., the idle resource (also called idle capability, free capability, or free resource), on the IoT device. That is, the computing capability is the computing resource available to the corresponding IoT device, and the storage capability is the storage resource (i.e., storage space) available to the corresponding IoT device.

[0060] Furthermore, in order to realize a communication relationship between nodes, communication between the nodes is necessary.

[0061] Based on this, in the resource graph, the available capacities on the isomeric IoT devices are Computing power and Memory ability and and communication capabilities.

[0062] Here, the communication capability is also called communication resources, and specifically can be understood as the communication strength between two nodes, such as bandwidth resources for communication between IoT devices provided by an edge network, information transmission speed (i.e., transmission rate), transmission delay, etc. Also, for example, the transmission rate and transmission delay between the capabilities of one part of an IoT device and the capabilities of another part of the IoT device.

[0063] In practical application, the first functional component can use software-defined technology to abstract the entity IoT device into a virtualized node, and the node can include the capability information of the corresponding IoT device. Different capabilities of the IoT device can be abstracted into different nodes. For one IoT device, the abstracted node can be: a device node that may represent the computing and storage capabilities of a corresponding IoT device; a computing node that may represent the computing power of a corresponding IoT device; It may include at least one of a storage node, which may represent the storage capabilities of a corresponding IoT device, and a node.

[0064] In practical application, generating a resource graph based on the abstracted nodes includes: The first functional component determines characteristics of each node and determines relationships between multiple nodes, and the characteristics are used at least to describe IoT device information corresponding to the corresponding node and capability information of at least some of the IoT devices; and generating a resource graph based on the determined characteristics and relationships between the nodes.

[0065] In practical applications, since a node may include multiple features, the features may also be referred to as a feature vector, a feature set, a feature vector set, or a feature collection. Since the features include multiple pieces of description information (i.e., IoT device information corresponding to the corresponding node and at least some capability information of the IoT device), the features may also be referred to as information or an information set. In practical applications, the node features may be used to characterize an ontology description model. The ontology description model may also be referred to as an entity description model.

[0066] In practical applications, the capabilities of IoT devices and the relationships between IoT devices change dynamically. Therefore, in order to maintain the information corresponding to the virtualized resource graph consistent with the information corresponding to the entity's IoT devices and improve the accuracy of the resource knowledge graph, it is necessary to monitor changes in IoT devices and dynamically update the resource graph according to changes in IoT devices.

[0067] Based on this, in one embodiment, the method further comprises: The first functional component monitors an IoT device; When monitoring for changes occurring in IoT devices, the method may include updating the resource graph based on the changed status of the monitored IoT devices.

[0068] Regarding step 102, in one embodiment, generating a computing graph corresponding to the task to be processed includes: The second functional component decomposes the task to be processed into at least one operator and determines a relationship between the operators; and generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0069] In one embodiment, the decomposition of the task to be processed into at least one operator includes: The second functional component may include employing a first policy to decompose the task to be processed to obtain at least one operator.

[0070] Specifically, in practical application, the second functional component adopting the first policy to decompose the processing target task may include:

[0071] First, model design (also called task design or program design) is performed based on the functions that need to be realized in an application or service. The application or service may be a general application or service (e.g., map positioning, internet banking, internet shopping, etc.) or an intelligent application or service (e.g., intelligent control, autonomous driving, etc.). The functions may be general functions (e.g., video playback, browser access, web page opening, file editing, etc.) or AI-related functions (e.g., face recognition, behavior recognition, speech recognition, natural language processing, etc.). The model design includes designing an algorithm model (i.e., the task to be processed, including a computing task; the task to be processed is also called a task model or program model) to realize the corresponding function, such as designing a neural network structure to realize a function such as behavior recognition.

[0072] Next, the designed algorithm model is converted into a diagram topology structure, i.e., a data flow graph. If the algorithm model corresponds to a computing task, the abstract diagram topology structure can also be called a computing graph or a computing flow graph. The computing graph is composed of nodes and edges, and a node of the computing graph represents the type of operation (i.e., an operation unit, also called an operator, and expressed as an operation node or operator node in English) that the algorithm model needs to perform when implementing the program, i.e., one operator of the task to be processed. The operator may be a general mathematical operator or an array operator (e.g., an addition operator, a multiplication operator, etc.), or a neural network operator (i.e., a neural network basic operation unit, e.g., a convolution operator, a pooling operator, etc.). The node contains the following characteristics or information: the consumption or need for resources such as computing power and memory when the operator represented by the corresponding node operates (or executes), i.e., the hardware execution cost of the operator, which can also be understood as the hardware occupancy data of the operator (e.g., CPU occupancy, GPU occupancy, DSP occupancy, FPGA occupancy, memory occupancy, etc.). The occupancy rate can also be referred to as occupancy, occupancy proportion, occupancy ratio, use, usage rate, usage ratio, utilization, utilization rate, utilization rate, or utilization ratio. An edge in the computing graph represents the relationship between two adjacent nodes, i.e., the relationship between two adjacent operators, and includes a computing dependency or a data dependency between the two adjacent operators, and its direction can represent the priority order of operations or the flow of data. The edge includes the following characteristics or information: the size of the transmitted data between the two adjacent operators. The characteristics or information of the nodes and edges can be obtained by actually executing the corresponding operators or by executing them in a simulation environment, etc.

[0073] In one embodiment, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators includes: the second functional component abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; and generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0074] In practical application, the second functional component can determine relationships between nodes based on the computing dependencies between the at least one operator, the operation priority order of the at least one operator, or the data flow between the at least one operator, and generate a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0075] In practical applications, the second functional component can optimize the computing graph to improve the performance of a system (i.e., an information processing system including the first functional component, the second functional component, and the third functional component), for example, to shorten the execution time length for executing the task to be processed.

[0076] Based on this, in one embodiment, the method further comprises: The second functional component optimizes the generated computing graph; and The third functional component includes performing task allocation based on the resource graph and the optimized computing graph.

[0077] wherein optimizing the generated computing graph may include at least one of operator fusion, constant merging, a static memory planning pass, and data layout transformation.

[0078] Operator fusion is used to combine multiple adjacent sub-operators into one operator, thereby eliminating the need to store intermediate results of the multiple adjacent sub-operators in global memory in the process of executing the task to be processed, thereby reducing memory accesses and shortening the execution time for executing the task to be processed.

[0079] Constant merging (also called constant folding, which can be expressed in English as Constant Folding) is used to find nodes in a computing graph that can perform completely static computing, i.e., nodes whose computing is completely dependent on constant inputs, compute these nodes on the CPU, and replace these nodes (i.e., merge constant computing in the computing graph). Such a constant merging algorithm reduces the amount of unnecessary repeated computing and improves computing performance.

[0080] A static memory planning pass (also called a static memory planning pass, which can be expressed in English as a Static Memory Planning Pass) is used to pre-allocate memory for all intermediate result tensors (intermediate results exist in the form of Tensors), and pre-allocating all intermediate result Tensors to perform computing graph optimization can save runtime costs (for example, allowing one constant folding pass to be statically executed in the pre-computing stage of the computing graph).

[0081] Data layout transformation is used to perform data layout transformation when a data layout mismatch occurs between a data producer and a data consumer. Tensor operations are basic operators in a computing graph, and operations on tensors have different data layout requirements depending on the operator. For example, a deep learning accelerator may use 4x4 tensor operations, so data must be cut into 4x4 blocks and stored to optimize local access efficiency. In practical applications, a custom data layout must be provided for each operator to optimize the data layout.

[0082] In practical application, the system performance is A time length for executing the task to be processed; Energy consumption for executing the task to be processed; and reliability of executing the task to be processed.

[0083] In practical application, the reliability of executing the target task can be embodied as a success rate of executing the target task.

[0084] Regarding step 103, in one embodiment, performing task allocation based on the resource graph and the computing graph includes: The third functional component may include: employing a second policy to generate at least one task allocation policy based on the resource graph and the computing graph; determining a performance-optimal task allocation policy from the at least one task allocation policy; and performing task allocation based on the performance-optimal task allocation policy, wherein the task allocation policy is used to map (or allocate) the tasks to be processed to at least one IoT device.

[0085] Here, the task allocation policy represents a policy for allocating and executing a task to at least one IoT device, and is used to allocate at least one corresponding node in a resource graph for each node in the computing graph, or to match a task to an IoT device, or to match a task to a resource. That is, the task allocation policy determines at least one IoT device, and the determined at least one IoT device can be used to execute the task according to the instructions of the task allocation policy. In practical application, the task allocation policy is also called a task allocation method, task allocation scheme, task scheduling policy, task scheduling method, task scheduling scheme, task coordination policy, task coordination method, task coordination scheme, etc.

[0086] Specifically, in practical application, performing task allocation based on the performance-optimal task allocation policy means mapping (i.e., allocating) the processing target tasks to at least one IoT device based on the performance-optimal task allocation policy, so that the at least one IoT device utilizes at least some of its own capabilities to execute the processing target tasks in a parallel execution and collaborative manner, for example, to realize training and / or inference of the machine learning model.

[0087] In practical application, mapping the task to at least one IoT device can be understood as allocating at least a part of the capabilities of the IoT device to each operator of the task, i.e., allocating at least one node of the resource graph to each node of the computing graph, thereby practically realizing the matching of the task to the IoT device, or the matching of the task to the resource (i.e., the available resources on the IoT device) through task allocation.

[0088] In practical application, at least one node in the resource graph allocated for each node in the computing graph may be the same or different. That is, one IoT device can realize computing units corresponding to multiple operators by using at least part of its own capabilities, and at the same time, multiple IoT devices can realize computing units corresponding to one operator in a collaborative manner. In addition, nodes in the computing graph that do not have a computing dependency (i.e., operators without a computing dependency) can be executed (i.e., operated or computed) in parallel on the same or different IoT devices.

[0089] In practical application, the task allocation policy can indicate at least one node of the resource graph to be allocated for each node of the computing graph, and the at least one task allocation policy can be determined based on the resource graph, so that the task allocation policy can be embodied as a resource subgraph separated from the resource graph, and the resource subgraph includes a correspondence relationship between each node in the computing graph and at least one node in the resource graph. The second policy can be realized by methods such as graph search, graph optimization, subgraph matching, heuristic methods, or can be realized by a random walkthrough method.

[0090] Based on this, in one embodiment, employing the second policy to generate at least one task allocation policy includes: The third functional component may include employing a second policy to generate at least one resource subgraph based on the computing graph and the resource graph, where each resource subgraph includes one task allocation policy, nodes of the resource subgraph represent capabilities of at least some of the IoT devices, and edges of the resource subgraph represent relationships between two adjacent nodes.

[0091] In one embodiment, determining a performance optimal task allocation policy from the at least one task allocation policy comprises: The third functional component may include predicting performance of each task assignment policy and determining a performance-optimal task assignment policy based on the predicted performance of each task assignment policy.

[0092] Specifically, in one embodiment, predicting the performance of each task allocation policy includes: The third functional component extracts features of the computing graph to obtain a first feature set, and extracts features of each resource sub-graph to obtain a plurality of second feature sets, each resource sub-graph including one task allocation policy; For each task assignment policy, predicting performance of the corresponding task assignment policy based on the first set of features and the corresponding second set of features.

[0093] In practical applications, the feature sets (ie, the first feature set and the second feature set) may be simply referred to as features, or may be referred to as feature sets, feature vectors, or feature vector sets.

[0094] In practical application, the third functional component can extract the first feature set and the second feature set through a feature extraction network.

[0095] Based on this, in one embodiment, extracting features of the computing graph to obtain a first feature set, and extracting features of each resource sub-graph to obtain a plurality of second feature sets, comprises: The third functional component may include extracting features of the computing graph via a feature extraction network to obtain a first feature set, and extracting features of each resource subgraph via the feature extraction network to obtain a plurality of second feature sets.

[0096] Here, in practical application, the characteristics of the computing graph are: the computing resources required to execute the operators corresponding to each node of the computing graph; storage resources required to execute the operators corresponding to each node of the computing graph; and communication resources necessary to execute the operators corresponding to each node of the computing graph.

[0097] The resource subgraph is characterized by: available computing resources on at least one IoT device; available storage resources on at least one IoT device; and available communication resources on at least one IoT device.

[0098] In practical applications, the feature extraction network can be constructed based on a graph convolutional network (GCN) and trained based on a training dataset. The training process can generate optimized network parameters, which can be used to extract advantageous features for improving the accuracy of performance prediction.

[0099] In practical application, the third functional component can predict the performance of the corresponding task allocation policy through a prediction network.

[0100] Accordingly, in one embodiment, predicting the performance of a corresponding task allocation policy based on the first set of features and the corresponding second set of features includes: The third functional component may include obtaining prediction data corresponding to a corresponding task assignment policy through a prediction network based on the first feature set and the corresponding second feature set, and determining a predicted performance of the corresponding task assignment policy based on the prediction data corresponding to the corresponding task assignment policy.

[0101] Here, the prediction data is a predicted length of time for executing the task to be processed; a predicted energy consumption for executing the task to be processed; and a predicted reliability of performing the target task.

[0102] In practical application, the predicted reliability of executing the target task can be embodied as a predicted success rate of executing the target task.

[0103] In practical applications, different application scenarios corresponding to the tasks to be processed have different needs for the performance of the task allocation policy, such as the tasks to be processed needing to complete their execution in as short a time as possible, or the tasks to be processed needing as little energy consumption as possible.

[0104] Based on this, in one embodiment, determining a predicted performance of a corresponding task allocation policy based on prediction data corresponding to the corresponding task allocation policy comprises: The third functional component may include performing a weighting process on the prediction data corresponding to the corresponding task allocation policy based on a preset weight, to determine a prediction performance of the corresponding task allocation policy.

[0105] In practical application, the preset weights can be set as needed.

[0106] For example, assuming that the prediction data corresponding to the corresponding task allocation policy includes three components (i.e., the predicted time length for executing the task to be processed, the predicted energy consumption, and the predicted reliability), weighting processing can be performed according to the preset weights corresponding to each component using the following equation (1):

[0107] η=Q(λ t ,λ e ,λ r ,…) (1)

[0108] where η represents the predicted performance of the corresponding task allocation policy, Q(·) represents a function containing weighting information for each component (i.e., various predicted data, which can be understood as performance indicators), and λ t represents the predicted time length, and λ e represents the predicted energy consumption, and λ r represents the prediction reliability.

[0109] The specific form of Q(·) in equation (1), i.e., the specific value of the preset weight, depends on the different requirements or importance or attention of different scenarios for delay, energy consumption, reliability, etc. In other words, by weighting different performance indicators using a specific function, a trade-off between various performance indicators can be achieved, and the weighting values ​​of each important performance indicator can be calculated based on the preset equation to obtain the overall system performance. In other words, the predicted performance obtained through equation (1) reflects the overall system performance related to Quality of Service (QoS).

[0110] In practical applications, the prediction network can be constructed based on a deep neural network (DNN) and trained based on a training dataset. The training process can generate optimized network parameters, which can be used to improve the accuracy of performance prediction.

[0111] In practical applications, to improve the accuracy of performance prediction, the training dataset can be continuously updated by accumulating historical data and / or generating new data through random walkthroughs, so that the training process has the ability to continuously learn. Here, the training data can be referred to as samples or training samples, and can include task allocation policies and their corresponding practical performances.

[0112] Based on this, in one embodiment, the method further comprises: The third functional component may include, after performing task allocation, obtaining actual performance when the task to be processed is executed based on the performance-optimal task allocation policy, and storing the performance-optimal task allocation policy and the obtained actual performance in the training dataset.

[0113] In practical applications, the feature extraction network and the prediction network may be implemented within the third functional component, i.e., training and / or inference may be performed by the third functional component, or may be implemented outside the third functional component, i.e., training and / or inference may be performed by other functional components. The embodiment of the present disclosure further provides an information processing method applied to the second functional component, and as shown in FIG. 2, the method includes steps 201 and 202.

[0114] In step 201, a task to be processed is acquired, and a computing graph corresponding to the task to be processed is generated.

[0115] Here, the tasks to be processed include computing tasks, the nodes of the computing graph represent operators of the tasks to be processed, and the edges of the computing graph represent relationships between two adjacent nodes.

[0116] In step 202, the generated computing graph is optimized to obtain an optimized computing graph.

[0117] Here, the optimized computing graph is used to perform allocation in conjunction with a resource graph task, the resource graph being generated by abstracting the capabilities of IoT devices, and the resource graph being used to manage and / or adjust available capacity on the isomerized IoT devices.

[0118] In one embodiment, generating a computing graph corresponding to the task to be processed includes: decomposing the task to be processed into at least one operator and determining a relationship between the operators; and generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0119] In one embodiment, decomposing the task to be processed into at least one operator comprises: The method may include employing a first policy to decompose the task to be processed to obtain at least one operator.

[0120] In one embodiment, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators includes: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; and generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0121] In one embodiment, optimizing the generated computing graph comprises: Operator fusion and Constant merging and a static memory planning pass; data layout transformation and at least one of:

[0122] The specific processing steps of the second functional component are as described above, and will not be described here.

[0123] In an information processing method according to an embodiment of the present disclosure, a first functional component generates a resource graph by abstracting capabilities of IoT devices, the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT devices, a second functional component obtains tasks to be processed and generates a computing graph corresponding to the tasks to be processed, and a third functional component performs task allocation based on the resource graph and the computing graph. According to the technical solution of the embodiment of the present disclosure, the capabilities of IoT devices are abstracted, a resource graph is generated for managing and / or adjusting available capabilities on the isomerized IoT devices, and task allocation is performed based on the computing graph corresponding to the tasks to be processed and the resource graph, thereby enabling efficient management and flexible scheduling of resource-constrained and highly isomerized IoT devices, that is, resource-constrained and highly isomerized IoT devices can be fully utilized to execute tasks to be processed (e.g., computationally intensive deep learning tasks).

[0124] The present disclosure will be described in more detail below in conjunction with application examples.

[0125] As shown in Figure 3, this application example aims to provide an intelligent distributed edge computing (IDEC) system that supports efficient deep learning among heterogeneous IoT devices. The IDEC system is also referred to as a collaborative decentralized machine learning (CDML) system, a collaborative distributed machine learning system, a device collaboration-based centered machine learning system, or a device collaboration-based distributed machine learning system. Through extensive connectivity and intelligent sensing of edge IoT devices, unified resource management and computing power sharing, efficient device collaboration and intelligent scheduling, operator-level computing task decomposition, and graph convolution-based task allocation and optimization, a full-stack optimized system design for collaboration among heterogeneous IoT devices is realized to support distributed training and / or inference of deep models. Furthermore, the AI ​​model cloud center is further submerged at the network edge, closer to the IoT devices. This supports the efficient deployment and execution of edge intelligent services and applications, and solves problems in the data processing process of IoT applications, such as latency, reliability, energy consumption, communication bandwidth consumption, user privacy, and security.

[0126] Specifically, this application example provides an IDEC system, which mainly includes three modules: an edge resource management module (also referred to as an IoT device resource management module, the first functional component), a computing task decomposition module (also referred to as an IoT device learning computing task decomposition module, the second functional component), and an intelligent computing task allocation (ICTA) module (the third functional component). As shown in FIG. 4, the IDEC system connects widely distributed IoT edge infrastructure (i.e., edge devices, also known as IoT devices) in the south direction and generates a resource graph that supports dynamic configuration and update through the edge resource management module, thereby realizing dynamic sensing, unified management, efficient scheduling, and shared collaboration of various heterogeneous IoT device resources. The IDEC system generates a computing graph for deep learning tasks from real-world intelligent applications and services through the computing task decomposition module, achieving fine-grained operator-level computing task decomposition, providing conditions for parallel computing and distributed processing, and favoring graph-level optimization of deep learning task execution performance. The middle layer (i.e., core module) of the IDEC system is the ICTA module. Based on the generated resource graph and computing graph, ICTA implements cross-device (i.e., inter-device) allocation using deep learning operators. The ICTA module uses deep learning algorithms such as graph convolutional networks (GCN) and deep neural networks (DNN) to learn the inherent statistical rules of the complex and varied task scheduling problems across different operating systems on distributed IoT devices. This allows it to implement intelligent task allocation policies that optimize system performance and maximize the use of distributed distributed resources on the IoT edge to improve overall system performance. At the same time, the ICTA module also introduces a continuous learning mechanism, making the IDEC system intelligent and adaptable, achieving the goal of "getting smarter with use."

[0127] The IoT infrastructure, i.e., edge devices, connected to the IDEC system in the southbound direction mainly include two types: terminal devices (intelligent IoT devices with computing capabilities, such as smart cameras, smart gateways, computing boxes, and smartphones, which often have high latency and resource limitations) and edge servers (intelligent IoT devices with strong computing, storage, and management capabilities, responsible for hosting and running the IDEC system and several large-scale deep learning models). The IDEC system in the northbound direction integrates a variety of intelligent edge applications and services in the IoT field, such as intelligent elderly care (also known as smart elderly care), smart homes (also known as intelligent homes), vehicle Internet, intelligent communities, intelligent cities, and industrial Internet.

[0128] The functions of the IDEC system are explained in detail below.

[0129] First, the function of the edge resource management module will be described with reference to FIGS.

[0130] In related technologies, unified management and scheduling of IoT devices widely distributed on the edge side is a prerequisite for realizing distributed edge computing with cross-device collaboration. However, due to the diversity of IoT devices, resource limitations, and heterogeneity of hardware backends and networks, the complexity and uncertainty of resource sharing and interactions increases.

[0131] To solve the above problems, the edge resource management module employs technologies such as virtualization software definition and knowledge graphs to unify management and coordination of distributed resources on the IoT distributed edge infrastructure and realize intelligent sensing and collaboration among edge devices through the functions of the edge device service capability abstraction module (also called the IoT device service capability abstraction module) (shown in Figure 5) and the resource knowledge graph construction module (shown in Figure 6). This makes full use of limited edge resources to perform cross-distributed device (i.e., between distributed devices) collaborative resource scheduling and task allocation, maximizing resource utilization and providing conditions for the IDEC system to fully utilize distributed edge resources to efficiently perform distributed training and / or inference of deep models in a resource-constrained edge computing environment.

[0132] Specifically, the edge device service capability abstraction module is primarily used to solve the problem of isomorphization. Its fundamental goal is to overcome the limitations of isomorphized hardware and enable diverse IoT devices to collaborate to perform deep learning tasks. Specifically, as shown in Figure 5, it can include three layers: the edge infrastructure layer realizes the recognition and connection of diverse isomorphized devices; the resource pooling layer realizes fine-grained sensing and scheduling of computing resources (e.g., CPU, GPU, FPGA, ARM, AI chip, etc.) and storage resources (e.g., buffer, RAM, etc.) on edge devices; and the capability abstraction layer utilizes virtualization and software-defined technologies to convert computing and storage resources into virtualized computing nodes and storage nodes, facilitating unified management and coordination. The edge device service capability abstraction module facilitates resource scheduling across isomerized edge devices (i.e., between isomerized edge devices) and contributes to discovering and matching appropriate resources to meet specific computing needs, thereby enabling widely distributed and diverse edge resources and processing capabilities to be sensed, reused, and shared, thereby increasing resource utilization and enhancing the overall service capability of the edge side.

[0133] To further realize dynamic sensing and thorough understanding of available edge resources, the resource knowledge graph construction module can employ semantic and knowledge engine technologies to describe and model interconnected IoT devices, as shown in Figure 6. In the resource knowledge graph, nodes represent different edge devices or abstract fine-grained computing and / or storage capabilities of edge devices. Based on the different capabilities represented, virtualized nodes can include device nodes, computing nodes, and storage nodes. Here, the device node's body description model can include IoT device information (including device ID, location, type, status value, functions, owner, interface, IP information, etc.) and capability information (available CPU, GPU, FPGA, DSP, memory resources, etc.). Edges in the resource knowledge graph represent association relationships between adjacent nodes. Association relationships represent the interconnections between disparate edge device resources, further embodying the internal collaboration and sharing mechanisms of edge devices. To adapt to the dynamically changing IoT edge scenario and address the challenges of fluctuating available resources, the resource knowledge graph construction module implements an automatic update mechanism to match the resource status and connection status of physical edge devices. The use of scheduling adjustment policies and shared collaboration mechanisms also further improves resource utilization and overall computing capacity. Based on the resource knowledge graph construction module, the IDEC system can achieve efficient management and flexible scheduling of limited available resources on heterogeneous distributed edge devices to meet the resource needs of computing tasks.

[0134] Next, the function of the computing task decomposition module will be explained with reference to FIG.

[0135] The computing task decomposition module has the functions of computing graph construction and computing graph optimization.

[0136] Here, constructing a computing graph means generating a computing graph corresponding to a deep learning computing task. Specifically, the deep learning computing task is typically a multi-layer deep neural network model composed of deep learning operators as basic units, such as convolution operators and pooling operators. By representing operators with abstracted nodes and representing data flow, data dependency, or computing dependency with edges, a graphical structure can be constructed that can represent the operator-level program implementation process of the deep learning model. This graphical structure is called a computing graph, computing flow graph, or data flow graph. As shown in FIG. 7, a computing graph is a graphical representation of a deep learning computing task.

[0137] Computing graph optimization refers to performing some operations before actually allocating and executing operators in a computing graph, so as to facilitate obtaining better system performance, such as reducing task execution time. Methods related to computing graph optimization mainly include operator fusion, constant merging, static memory planning pass, data layout transformation, etc. Here, operator fusion refers to merging multiple adjacent small operators into one operator without storing intermediate results in global memory, in order to reduce memory accesses and thereby shorten execution time.

[0138] The construction and optimization of the computing graph of the deep learning model can realize fine-grained operator-level decomposition of computing tasks, providing possibilities for operator parallelism and distribution. At the same time, graph-level optimizations such as operator fusion and constant merging can be performed, which are advantageous for providing the basis for the allocation and optimization of subsequent computing tasks.

[0139] Next, the function of the ICTA module will be explained with reference to FIG.

[0140] The computing graph constructed by the computing task decomposition module provides a global view of operators, but does not specify the specific IoT devices that will implement each operator to achieve optimal system performance. That is, the computing task allocation policy has not yet been determined. Meanwhile, the resource graph provides available resources on the IoT devices that can support the depth learning operation load. Therefore, based on the computing graph and the resource graph, in order to fully utilize the distributed resources on the IoT devices and efficiently execute computing tasks in a collaborative manner, the ICTA module can rationally allocate the depth learning operators in the computing graph to IoT devices with available resources in the resource graph in an optimal allocation manner, thereby achieving optimal matching between computing tasks and device resources and realizing an intelligent task allocation policy that corresponds to optimal system performance.

[0141] As shown in FIG. 8, the ICTA module may specifically include a resource subgraph construction module, a feature extraction module, and a performance prediction module.

[0142] Here, the resource subgraph construction module is configured to construct resource subgraphs by adopting methods such as graph search, graph optimization, subgraph matching, heuristic methods or random walkthrough methods, and each resource subgraph is associated with a specific task allocation policy.

[0143] The feature extraction module is configured to extract diagram topology structure features of the resource graph and the computing graph using the GCN algorithm, respectively, and the extracted features cover dimensional features that play a crucial role in the efficient execution of deep learning computing tasks, such as computing power, memory, and communication.

[0144] The performance prediction module is configured to employ a DNN algorithm to predict system performance for a given task allocation policy (i.e., the task allocation policy associated with each resource subgraph or the task allocation policy corresponding to each resource subgraph) before the task is actually executed. The system performance indicators of interest may include execution time (i.e., duration), energy consumption, and reliability (e.g., success rate). In actual application, the performance prediction module trades off among these three indicators (e.g., weighting indicators of greater interest more heavily) according to the actual needs of different application scenarios, ultimately obtaining a comprehensive indicator representative of the overall system performance. Finally, the performance prediction module selects a task allocation policy that can achieve optimal system performance based on the obtained comprehensive indicators of each task allocation policy, and then performs actual task allocation.

[0145] In practical applications, the accuracy of system performance prediction can be improved by performing end-to-end training on the GCN model (i.e., the feature extraction network) and the DNN model (i.e., the prediction network) to learn the potential correspondence between different task allocation policies and system performance, and the complex underlying statistical laws of task scheduling on different operating systems among various types of IoT devices.

[0146] Through the resource subgraph construction module, feature extraction module, and performance prediction module, the ICTA module can solve the optimal matching problem between computing tasks and device resources, improving resource utilization and overall system performance. By rationally allocating the computing units (i.e., operators) of the deep learning model to various heterogeneous IoT devices based on a task allocation policy that optimizes system performance, the ICTA module fully utilizes the cross-device heterogeneous resources in the IDEC system and enables the distributed (or decentralized) execution of computing-intensive deep learning tasks in a multi-device collaborative manner. This further helps the distributed edge computing system improve the deployment and execution efficiency of edge-side intelligent applications. Furthermore, through policy-based continuous learning mechanisms such as historical sample accumulation and random walkthrough, the ICTA module achieves the goal of "getting smarter with use," bringing the entire IDEC system one step closer to integrated intelligence with adaptive and self-learning capabilities.

[0147] Based on the IDEC system, this application example further provides an intelligent IoT edge computing platform. The platform connects with intelligent applications in multiple vertical industries through a "demand-down, service-up" mode in the north, and connects with a wide range of distributed IoT devices through a "data-up, task-down" mode in the south. The entire platform can provide IoT intelligent applications and services to a wide range of users, including consumers, supply chains, collaborators, and developers, under a multi-layered guarantee system that integrates operation, safety, and privacy. This enables the deployment and execution of a wide range of edge intelligent applications and services on widely distributed distributed IoT devices, thereby realizing an end-to-end, full-stack optimized IoT edge intelligent ecosystem, unifying the market, and accelerating the deployment of intelligent IoT solutions. As shown in Figure 9, the platform specifically includes an application layer, a core layer, and a resource layer.

[0148] Here, the application layer is used to integrate various common capabilities and intelligent algorithms, convert the intelligent service demands from specific scenarios in industrial applications into functional modules such as behavior recognition and face recognition, and further decompose them into multiple deep learning tasks and / or models such as CNN and RNN.

[0149] The core layer, which incorporates the IDEC system, realizes fine-grained (i.e., operator-level) decomposition of deep learning tasks from the application layer at the top, unifies management and efficient scheduling of edge resources at the bottom, and intelligently allocates and optimizes tasks across multiple devices according to the optimal matching mode between tasks and resources based on both (i.e., resource graph and computing graph), ultimately realizing distributed training and / or inference of machine learning models. The core layer's main functions include edge resource management, deep learning computing task decomposition, and intelligent computing task allocation. The core layer's features and advantages include intelligent sensing, heterogeneous compatibility, scheduling coordination, shared collaboration, distributed deployment, and intelligent self-adaptation.

[0150] The resource layer realizes capability abstraction and resource extraction on IoT devices through technologies such as virtualization and software definition, and is used for virtualizing computing capabilities, memory capabilities, and network resources.

[0151] The technical solution of this application embodiment has the following advantages:

[0152] 1) Achieve a full-stack optimized system design from the top-tier edge intelligent applications to the bottom-tier widely distributed heterogeneous IoT edge devices. Through the full-stack optimized system design, the IDEC system is endowed with the characteristics of heterogeneous compatibility, high performance, and intelligent self-adaptation, realizing unified management and resource sharing for a variety of resource-limited and massively distributed heterogeneous IoT edge devices, and supporting collaborative cross-heterogeneous device (i.e., between heterogeneous devices) distributed training and / or inference of centerless deep learning models.

[0153] 2) The edge resource management module realizes intelligent sensing, unified management and collaboration for IoT edge devices, realizes resource sharing and efficient scheduling for IoT devices, and thereby makes full use of resource-limited and widely distributed heterogeneous IoT devices.

[0154] 3) The computing task decomposition module realizes operator-level decomposition for deep learning tasks. The generated computing graph is useful for parallel processing and distributed computing, which is advantageous for parallel processing and distributed execution of operators. It is also advantageous for performing graph-level optimization (also known as operator-level optimization), thereby improving task execution performance.

[0155] 4) Taking into account the complexity and uncertainty of task scheduling across different operating systems on a diverse range of heterogeneous IoT devices, the ICTA module uses end-to-end training of multi-layer GCN and DNN networks to learn the complex task scheduling disciplines inherent in different operating systems and the potential correspondence between different task allocation policies and system performance. This enables accurate prediction of the system performance that may be achieved after a given task allocation policy is actually executed before the task is actually executed, facilitating the selection of the optimal task allocation policy. Through optimal matching between computing tasks and available resources, an intelligent strategy for the optimal task allocation policy is realized, thereby maximizing the utilization of edge resources and improving overall system performance.

[0156] 5) Through continuous learning mechanism, it realizes self-learning and self-adaptation, and achieves the effect of "the more you use it, the smarter it becomes."

[0157] To realize the method of an embodiment of the present disclosure, an embodiment of the present disclosure further provides an information processing device, which includes a first functional component 1001, a second functional component 1002, and a third functional component 1003, as shown in FIG. 10.

[0158] The first functional component 1001 is configured to generate a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on the isomorphic IoT device.

[0159] The second functional component 1002 is configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed.

[0160] A third functional component 1003 is configured to perform task allocation based on the resource graph and the computing graph.

[0161] Here, in one embodiment, the second functional component 1002 is Decomposing the task to be processed into at least one operator and determining a relationship between the operators; The computing graph generating unit is configured to generate a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0162] In one embodiment, the second functional component 1002 is configured to employ a first policy to decompose the task to be processed to obtain at least one operator.

[0163] In one embodiment, the second functional component 1002 comprises: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; The computing graph corresponding to the task to be processed is generated based on the determined nodes and relationships between the nodes.

[0164] In one embodiment, the second functional component 1002 is configured to optimize the generated computing graph; The third functional component 1003 is configured to perform task allocation based on the resource graph and the optimized computing graph.

[0165] Here, in one embodiment, the second functional component 1002 is Operator fusion and Constant merging and a static memory planning pass; and a data layout transformation.

[0166] In one embodiment, the first functional component 1001 comprises: Discover IoT devices in the network, detect the capabilities of the IoT devices, and for each IoT device, abstract the IoT device into a corresponding node based on the corresponding IoT device's capabilities; It is configured to generate a resource graph based on the abstracted nodes.

[0167] In one embodiment, the first functional component 1001 is configured to, when monitoring that a change has occurred in an IoT device, update the resource graph based on the change in the monitored IoT device.

[0168] In one embodiment, the third functional component 1003 comprises: The system is configured to employ a second policy to generate at least one task allocation policy based on the resource graph and the computing graph, determine a performance-optimal task allocation policy from the at least one task allocation policy, and perform task allocation based on the performance-optimal task allocation policy, wherein the task allocation policy is used to allocate the tasks to be processed to at least one IoT device.

[0169] In one embodiment, the third functional component 1003 comprises: The computing graph and the resource graph are configured to employ a second policy to generate at least one resource subgraph, each resource subgraph including one task allocation policy, a node in the resource subgraph representing at least a part of the capabilities of an IoT device, and an edge in the resource subgraph representing the relationship between two adjacent nodes.

[0170] In one embodiment, the third functional component 1003 comprises: The system is configured to predict the performance of each task allocation policy and determine a performance-optimal task allocation policy based on the predicted performance of each task allocation policy.

[0171] In one embodiment, the third functional component 1003 comprises: extracting features from the computing graph to obtain a first feature set, and extracting features from each resource sub-graph to obtain a plurality of second feature sets, each resource sub-graph including one task allocation policy; and for each task assignment policy, predicting performance of the corresponding task assignment policy based on the first set of features and the corresponding second set of features.

[0172] In one embodiment, the third functional component 1003 is configured to extract features of the computing graph via a feature extraction network to obtain a first feature set, and extract features of each resource subgraph via the feature extraction network to obtain a plurality of second feature sets.

[0173] In one embodiment, the third functional component 1003 is configured to obtain, based on the first feature set and the corresponding second feature set, prediction data corresponding to a corresponding task assignment policy through a prediction network, and determine, based on the prediction data corresponding to the corresponding task assignment policy, a predicted performance of the corresponding task assignment policy.

[0174] In one embodiment, the third functional component 1003 is configured to perform a weighting process on the prediction data corresponding to the corresponding task allocation policy based on a preset weight, and determine the prediction performance of the corresponding task allocation policy.

[0175] In one embodiment, the third functional component 1003 is configured to, after performing task allocation, obtain actual performance when the task to be processed is executed based on the performance-optimal task allocation policy, and store the performance-optimal task allocation policy and the obtained actual performance in the training dataset.

[0176] Here, the function of the first functional component 1001 corresponds to the function of the edge resource management module in the application embodiment of the present disclosure, the function of the second functional component 1002 corresponds to the function of the computing task decomposition module in the application embodiment of the present disclosure, and the function of the third functional component 1003 corresponds to the function of the intelligent computing task allocation (ICTA) module in the application embodiment of the present disclosure.

[0177] In practical application, the first functional component 1001, the second functional component 1002, and the third functional component 1003 may be realized by a processor within the device.

[0178] To implement the method of the embodiment of the present disclosure, the embodiment of the present disclosure further provides an information processing device, which includes a first processing unit 1101 and a second processing unit 1102, as shown in FIG.

[0179] The first processing unit 1101 is configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed, where the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes.

[0180] The second processing unit 1102 is configured to optimize the generated computing graph to obtain an optimized computing graph, which is used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities of IoT devices, and the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT devices.

[0181] Here, in one embodiment, the first processing unit 1101: Decomposing the task to be processed into at least one operator and determining a relationship between the operators; The computing graph generating unit is configured to generate a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0182] In one embodiment, the first processing unit 1101 is configured to employ a first policy to decompose the task to be processed to obtain at least one operator.

[0183] In one embodiment, the first processing unit 1101 comprises: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; The computing graph corresponding to the task to be processed is generated based on the determined nodes and relationships between the nodes.

[0184] In one embodiment, the second processing unit 1102: Operator fusion and Constant merging and a static memory planning pass; and a data layout transformation.

[0185] Here, the function of the first processing unit 1101 and the function of the second processing unit 1102 correspond to the function of the computing task decomposition module in the application embodiment of the present disclosure.

[0186] In practical application, the first processing unit 1101 and the second processing unit 1102 may be realized by a processor within the device.

[0187] Although the above embodiments have been described with reference to the division of each program module as an example when the information processing device performs information processing based on a task, in actual application, the above processing allocation can be completed by different program modules according to needs, that is, the internal structure of the device can be divided into different program modules to complete all or part of the above processing. Furthermore, the information processing device and the information processing method according to the above embodiments belong to the same idea, and the specific implementation process can be referred to the method embodiments, and the description thereof will be omitted here.

[0188] In order to realize the method of the embodiment of the present disclosure based on the hardware implementation of the above program modules, the embodiment of the present disclosure further provides an electronic device, and as shown in FIG. 12, the electronic device 1200 includes a communication interface 1201, a processor 1202, and a memory 1203.

[0189] The communication interface 1201 allows information interaction with other electronic devices.

[0190] The processor 1202 is connected to the communication interface 1201 to realize information interaction with other electronic devices, and is configured to execute the method according to one or more of the above solutions when executing a computer program.

[0191] The memory 1203 stores a computer program executable by the processor 1202 .

[0192] Here, the electronic device 1200 may be provided with at least one of a first functional component, a second functional component, and a third functional component.

[0193] Specifically, when the first functional component, the second functional component, and the third functional component are all installed in the electronic device 1200, the processor 1202 generating a resource graph by abstracting capabilities of IoT devices, the resource graph being used to manage and / or adjust available capabilities on the isomorphic IoT devices; Obtaining a task to be processed and generating a computing graph corresponding to the task to be processed; performing task allocation based on the resource graph and the computing graph.

[0194] Here, in one embodiment, the processor 1202 decomposing the task to be processed into at least one operator and determining a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0195] In one embodiment, the processor 1202: The method is configured to perform a decomposition of the task to be processed employing a first policy to obtain at least one operator.

[0196] In one embodiment, the processor 1202: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0197] In one embodiment, the processor 1202: optimizing the generated computing graph; and performing task allocation based on the resource graph and the optimized computing graph.

[0198] In one embodiment, the processor 1202: Operator fusion and Constant merging and a static memory planning pass; and a data layout transformation.

[0199] In one embodiment, the processor 1202: Discovering IoT devices in a network, detecting capabilities of the IoT devices, and for each IoT device, abstracting the IoT device into a corresponding node based on the capabilities of the corresponding IoT device; generating a resource graph based on the abstracted nodes.

[0200] In one embodiment, the processor 1202: When monitoring for occurrence of a change in an IoT device, the resource graph is updated based on the change in the monitored IoT device.

[0201] In one embodiment, the processor 1202: The method is configured to employ a second policy to generate at least one task allocation policy based on the resource graph and the computing graph, determine a performance-optimal task allocation policy from the at least one task allocation policy, and perform task allocation based on the performance-optimal task allocation policy, wherein the task allocation policy is used to allocate the tasks to be processed to at least one IoT device.

[0202] In one embodiment, the processor 1202: The system is configured to perform, based on the computing graph and the resource graph, adopting a second policy to generate at least one resource subgraph, where each resource subgraph includes one task allocation policy, nodes of the resource subgraph represent capabilities of at least some of the IoT devices, and edges of the resource subgraph represent relationships between two adjacent nodes.

[0203] In one embodiment, the processor 1202: The system is configured to predict the performance of each task allocation policy, and determine a performance-optimal task allocation policy based on the predicted performance of each task allocation policy.

[0204] In one embodiment, the processor 1202: extracting features from the computing graph to obtain a first feature set, and extracting features from each resource sub-graph to obtain a plurality of second feature sets, each resource sub-graph including one task allocation policy; and for each task assignment policy, predicting performance of the corresponding task assignment policy based on the first set of features and the corresponding second set of features.

[0205] In one embodiment, the processor 1202: The system is configured to extract features of the computing graph via a feature extraction network to obtain a first feature set, and extract features of each resource sub-graph via the feature extraction network to obtain a plurality of second feature sets.

[0206] In one embodiment, the processor 1202: The system is configured to obtain prediction data corresponding to a corresponding task allocation policy through a prediction network based on the first feature set and the corresponding second feature set, and determine a predicted performance of the corresponding task allocation policy based on the prediction data corresponding to the corresponding task allocation policy.

[0207] In one embodiment, the processor 1202: The method is configured to perform a weighting process on the prediction data corresponding to the corresponding task allocation policy based on the preset weight, and determine the prediction performance of the corresponding task allocation policy.

[0208] In one embodiment, the processor 1202: After performing task allocation, the method is configured to obtain actual performance when the task to be processed is executed based on the performance-optimal task allocation policy, and store the performance-optimal task allocation policy and the obtained actual performance in the training dataset.

[0209] Accordingly, if the second functional component is installed in the electronic device 1200, the processor 1202: Obtaining a task to be processed and generating a computing graph corresponding to the task to be processed, wherein the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes; optimizing the generated computing graph to obtain an optimized computing graph, the optimized computing graph being used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities of IoT devices, the resource graph being used to manage and / or adjust available capabilities on the isomerized IoT devices.

[0210] Here, in one embodiment, the processor 1202 decomposing the task to be processed into at least one operator and determining a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and the relationship between the operators.

[0211] In one embodiment, the processor 1202: The method is configured to perform a decomposition of the task to be processed employing a first policy to obtain at least one operator.

[0212] In one embodiment, the processor 1202: abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes.

[0213] In one embodiment, the processor 1202: Operator fusion and Constant merging and a static memory planning pass; and a data layout transformation.

[0214] The specific process of the processor 1202 performing the above operations can be referred to in the method embodiments, and the description thereof will be omitted here.

[0215] Of course, in actual applications, the components in the electronic device 1200 are coupled together via a bus system 1204. It is understandable that the bus system 1204 is used to realize connection and communication between these components. The bus system 1204 may include a power bus, a control bus, and a status signal bus in addition to a data bus. However, for clarity, the various buses are referred to as the bus system 1204 in FIG. 12.

[0216] Memory 1203 in the embodiments of the present disclosure is used to store various types of data to support the operation of electronic device 1200, including any computer programs for running on electronic device 1200.

[0217] The methods described in the embodiments of the present disclosure may be applied to or implemented by the processor 1202. The processor 1202 may be an integrated circuit chip having signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1202 or by instructions in the form of software. The processor 1202 may be a general-purpose processor, a DSP, a GPU, or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or the like. The processor 1202 may implement or execute each method, step, and logic block diagram described in the embodiments of the present disclosure. The general-purpose processor may be a microprocessor or any conventional processor, or the like. The steps of the methods described in the embodiments of the present disclosure may be directly embodied as execution by a hardware decoding processor or as execution by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which may be located in the memory 1203. The processor 1202 reads information in the memory 1203 and completes the steps of the above method in combination with the hardware.

[0218] In an exemplary embodiment, the electronic device 1200 may be implemented by one or more Application Specific Integrated Circuits (ASICs), DSPs, Programmable Logic Devices (PLDs), Complex Programmable Logic Devices (CPLDs), FPGAs, general-purpose processors, GPUs, controllers, Micro Controller Units (MCUs), microprocessors, various AI chips, class brain chips, or other electronic elements to perform the methods described above.

[0219] It should be noted that the memory 1203 of the embodiments of the present disclosure may be volatile or nonvolatile memory, or may include both volatile and nonvolatile memory. Here, the nonvolatile memory may be ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FRAM, flash memory, magnetic surface memory, optical disk, or compact disc read-only memory (CD-ROM). The magnetic surface memory may be magnetic disk memory or magnetic tape memory. The volatile memory may be RAM used as an external cache. By way of example and not limitation, many forms of RAM are available.Examples include static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synclink dynamic random access memory (SLDRAM), and direct memory bus random access memory (DRRAM). Memory described in embodiments of this disclosure is intended to include, but is not limited to, these and any other suitable types of memory.

[0220] To realize the method according to the embodiment of the present disclosure, the embodiment of the present disclosure further provides an information processing system, the system including: a first functional component configured to generate a resource graph by abstracting capabilities of an IoT device, the resource graph being used to manage and / or adjust available capabilities on an isomorphized IoT device; a second functional component configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed; a third functional component configured to perform task allocation based on the resource graph and the computing graph; Here, the first functional component, the second functional component, and the third functional component are installed in at least two electronic devices.

[0221] 13, the system may include a first electronic device 1301 and a second electronic device 1302. The second functional component is installed in the first electronic device 1301, and the first functional component and the third functional component are installed in the second electronic device 1302.

[0222] The specific processing steps of the first functional component, the second functional component, and the third functional component are as described above, and therefore will not be described here.

[0223] In an exemplary embodiment, the embodiment of the present disclosure further provides a storage medium, i.e., a computer storage medium, specifically a computer-readable storage medium, including, for example, a memory 1203 for storing a computer program, which can be executed by the processor 1202 of the electronic device 1200 to complete the steps of the method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.

[0224] It should be noted that the terms "first," "second," etc. do not necessarily describe any particular order or priority, but rather serve to distinguish between similar objects.

[0225] In addition, the technical solutions described in the embodiments of the present disclosure may be arbitrarily combined if they do not conflict.

[0226] The above are merely preferred embodiments of the present disclosure, and are not intended to limit the scope of protection of the present disclosure.

Claims

1. An information processing method, comprising: A first functional component is generating a resource graph by abstracting capabilities and / or resources of an IoT device, the resource graph being used to manage and / or coordinate available capabilities and / or resources on the isomerized IoT device; The second functional component is: obtaining a task to be processed; and generating a computing graph corresponding to the task to be processed, wherein nodes of the computing graph represent operators of the task to be processed; a third functional component comprising: performing task allocation based on the resource graph and the computing graph; generating a computing graph corresponding to the task to be processed, The second functional component decomposes the task to be processed into at least one operator and determines a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and relationships between the operators.

2. Decomposing the task to be processed into at least one operator includes: the second functional component employing a first policy to decompose the task to be processed to obtain at least one operator, wherein employing the first policy to decompose the task to be processed to obtain at least one operator comprises designing the task to be processed to include a computing task, and abstracting the task to be processed into a computing graph to obtain at least one operator; Or, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators, the second functional component abstracts each operator of the at least one operator into a corresponding node and determines a relationship between the nodes based on a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes; The method of claim 1.

3. an edge of the computing graph represents a relationship between two adjacent nodes; and / or A node of the resource graph represents a capability and / or resource of at least a portion of an IoT device, and an edge of the resource graph represents a relationship between two adjacent nodes. The method of claim 1.

4. The method further comprises: The second functional component optimizes the generated computing graph; and The third functional component includes: performing task allocation based on the resource graph and the optimized computing graph. The method of claim 1.

5. generating a resource graph by abstracting capabilities and / or resources of the IoT devices, The first functional component discovers IoT devices in the network, detects capabilities and / or resources of the IoT devices, and for each IoT device, abstracts the IoT device into a corresponding node based on the capabilities and / or resources of the corresponding IoT device; generating a resource graph based on the abstracted nodes. The method of claim 1.

6. An information processing method, comprising: Obtaining a task to be processed and generating a computing graph corresponding to the task to be processed, wherein the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes; optimizing the generated computing graph to obtain an optimized computing graph, the optimized computing graph being used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities and / or resources of IoT devices, the resource graph being used to manage and / or adjust available capabilities and / or resources on the isomerized IoT devices; generating a computing graph corresponding to the task to be processed, decomposing the task to be processed into at least one operator and determining a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and relationships between the operators.

7. Decomposing the task to be processed into at least one operator includes: Decomposing the task to be processed by employing a first policy to obtain at least one operator; Or, generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators, abstracting each operator of the at least one operator into a corresponding node and determining relationships between the nodes based on relationships between the operators; generating a computing graph corresponding to the task to be processed based on the determined nodes and relationships between the nodes; The method of claim 6.

8. An information processing device, a first functional component configured to generate a resource graph by abstracting capabilities and / or resources of an IoT device, the resource graph being used to manage and / or coordinate available capabilities and / or resources on an isomorphized IoT device; a second functional component configured to obtain a task to be processed and to generate a computing graph corresponding to the task to be processed, wherein nodes of the computing graph represent operators of the task to be processed; a third functional component configured to perform task allocation based on the resource graph and the computing graph; generating a computing graph corresponding to the task to be processed, The second functional component decomposes the task to be processed into at least one operator and determines a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators.

9. An information processing device, a first processing unit configured to obtain a task to be processed and generate a computing graph corresponding to the task to be processed, wherein the task to be processed includes a computing task, a node of the computing graph represents an operator of the task to be processed, and an edge of the computing graph represents a relationship between two adjacent nodes; a second processing unit configured to optimize the generated computing graph to obtain an optimized computing graph, the optimized computing graph being used to combine with a resource graph task for allocation, the resource graph being generated by abstracting capabilities and / or resources of IoT devices, the resource graph being used to manage and / or adjust available capabilities and / or resources on the isomerized IoT devices; generating a computing graph corresponding to the task to be processed, decomposing the task to be processed into at least one operator and determining a relationship between the operators; generating a computing graph corresponding to the task to be processed based on the at least one operator and a relationship between the operators.

Citation Information

Patent Citations

  • Smartphone-based methods and systems

    JP2014505896A

  • Method and apparatus for providing enhanced event notification in a universal plug-and-play home network environment - Patents.com

    JP2014506080A

  • Computation graph processing

    JP2018538607A

  • Scheduling of task graph operation

    JP2020091858A

  • Processing computational graphs

    US20180247197A1