CN114915629B - 信息处理方法、装置、***、电子设备及存储介质 - Google Patents
信息处理方法、装置、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114915629B CN114915629B CN202110184807.5A CN202110184807A CN114915629B CN 114915629 B CN114915629 B CN 114915629B CN 202110184807 A CN202110184807 A CN 202110184807A CN 114915629 B CN114915629 B CN 114915629B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- resource
- graph
- functional component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 41
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000010586 diagram Methods 0.000 claims abstract description 31
- 238000012549 training Methods 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 35
- 238000000605 extraction Methods 0.000 claims description 20
- 238000005457 optimization Methods 0.000 claims description 20
- 230000004927 fusion Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 7
- 230000002349 favourable effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 28
- 238000013135 deep learning Methods 0.000 description 26
- 239000010410 layer Substances 0.000 description 19
- 238000007726 management method Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 238000000354 decomposition reaction Methods 0.000 description 15
- 230000003068 static effect Effects 0.000 description 15
- 238000010276 construction Methods 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000005265 energy consumption Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000013136 deep learning model Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 235000019800 disodium phosphate Nutrition 0.000 description 5
- 238000005295 random walk Methods 0.000 description 5
- 239000012792 core layer Substances 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种信息处理方法、装置、***、电子设备及存储介质。其中,方法包括:第一功能组件通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;第二功能组件获取待处理任务,并生成待处理任务对应的计算图;第三功能组件基于所述资源图和所述计算图,进行任务分配。
Description
技术领域
本申请涉及物联网(IoT,Internet of Things)领域,尤其涉及一种信息处理方法、装置、***、电子设备及存储介质。
背景技术
边缘计算是一种将计算任务卸载(即分配)在更接近物联网设备的网络边缘侧的计算方式。与云计算相比,边缘计算无需将大量的用户原始数据上传至云数据中心,因此,边缘计算可以有效地解决数据处理过程中的时延、可靠性、能耗、通信带宽消耗、用户隐私和安全等问题,特别是在对数据处理时延、用户隐私和可靠性等要求较高的应用场景中有较大的价值和广阔的应用前景,比如自动驾驶、虚拟现实(VR,Virtual Reality)、增强现实(AR,Augmented Reality)等应用场景。
然而,用于实现基于人工智能(AI,Artificial Intelligence)的应用场景的智能应用和/或服务通常需要执行对计算能力和/或存储空间要求较高的计算密集型的计算任务,这给资源受限(即计算能力和/或存储空间有限)且高度异构的边缘侧带来了较大的挑战,即如何充分利用资源受限且高度异构的物联网设备来执行计算任务成为亟待解决的问题。
发明内容
为解决相关技术问题,本申请实施例提供一种信息处理方法、装置、***、电子设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种信息处理方法,包括:
第一功能组件通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
第二功能组件获取待处理任务,并生成待处理任务对应的计算图;
第三功能组件基于所述资源图和所述计算图,进行任务分配。
上述方案中,所述生成待处理任务对应的计算图,包括:
所述第二功能组件将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
上述方案中,所述将所述待处理任务分解为至少一个算子,包括:
所述第二功能组件采用第一策略对所述待处理任务进行分解,得到至少一个算子。
上述方案中,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,包括:
所述第二功能组件将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
上述方案中,所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系。
上述方案中,所述待处理任务包含以下至少之一:
需要进行训练的机器学习模型;
需要进行推理的机器学习模型。
上述方案中,所述方法还包括:
所述第二功能组件对生成的计算图进行优化;
所述第三功能组件基于所述资源图和优化后的计算图,进行任务分配。
上述方案中,所述对生成的计算图进行优化,包括以下至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
上述方案中,所述通过将物联网设备的能力进行抽象,生成资源图,包括:
第一功能组件发现网络中的物联网设备;检测物联网设备的能力;针对每个物联网设备,基于相应物联网设备的能力,将物联网设备抽象成相应的节点;
基于抽象出的节点,生成资源图。
上述方案中,所述资源图的节点代表一个物联网设备的至少部分能力;所述资源图的边代表相邻两个节点之间的关系。
上述方案中,所述方法还包括:
第一功能组件监测到物联网设备发生变化时,基于监测到的物联网设备的变化情况,更新所述资源图。
上述方案中,所述基于所述资源图和所述计算图,进行任务分配,包括:
所述第三功能组件基于所述资源图和所述计算图,采用第二策略生成至少一种任务分配策略;从所述至少一种任务分配策略中确定性能最佳的任务分配策略;并基于所述性能最佳的任务分配策略,进行任务分配;所述任务分配策略用于将所述待处理任务分配到至少一个物联网设备上。
上述方案中,所述采用第二策略生成至少一种任务分配策略,包括:
所述第三功能组件基于所述计算图和资源图,采用第二策略,生成至少一个资源子图;每个资源子图包含一种任务分配策略;所述资源子图的节点代表一个物联网设备的至少部分能力;所述资源子图的边代表相邻两个节点之间的关系。
上述方案中,所述从所述至少一种任务分配策略中确定性能最佳的任务分配策略,包括:
所述第三功能组件预测每个任务分配策略的性能;基于预测的每个任务分配策略的性能,确定性能最佳的任务分配策略。
上述方案中,所述预测每个任务分配策略的性能,包括:
所述第三功能组件提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集;每个资源子图包含一种任务分配策略;
针对每个任务分配策略,基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能。
上述方案中,所述提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集,包括:
所述第三功能组件通过特征提取网络提取所述计算图的特征,得到第一特征集;并通过所述特征提取网络提取每个资源子图的特征,得到多个第二特征集。
上述方案中,所述基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能,包括:
所述第三功能组件基于所述第一特征集和相应的第二特征集,通过预测网络获得相应任务分配策略对应的预测数据;基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能。
上述方案中,所述预测数据,包含以下至少之一:
执行所述待处理任务的预测时长;
执行所述待处理任务的预测能耗;
执行所述待处理任务的预测可靠性。
上述方案中,所述基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能,包括:
所述第三功能组件根据预设权重,对相应任务分配策略对应的预测数据进行加权处理,以确定相应任务分配策略的预测性能。
上述方案中,所述特征提取网络是基于训练数据集训练得到的;所述训练过程能够产生优化的网络参数;所述优化的网络参数用于提取到有利于提升性能预测准确率的特征。
上述方案中,所述预测网络是基于训练数据集训练得到的;所述训练过程能够产生优化的网络参数;所述优化的网络参数用于提升性能预测的准确率。
上述方案中,所述训练数据集能够通过历史数据积累和/或随机游走产生新数据的方式不断更新,以使所述训练过程具有持续学习的能力。
上述方案中,所述方法还包括:
所述第三功能组件在进行任务分配后,获取所述待处理任务基于所述性能最佳的任务分配策略被执行时的实际性能;并将所述性能最佳的任务分配策略及获取的实际性能存储至所述训练数据集。
本申请实施例还提供了一种信息处理方法,包括:
获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
对生成的计算图进行优化,得到优化后的计算图;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力。
上述方案中,所述生成待处理任务对应的计算图,包括:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
上述方案中,所述将所述待处理任务分解为至少一个算子,包括:
采用第一策略对所述待处理任务进行分解,得到至少一个算子。
上述方案中,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,包括:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
上述方案中,所述对生成的计算图进行优化,包括以下至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
本申请实施例还提供了一种信息处理装置,包括:
第一功能组件,用于通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
第二功能组件,用于获取待处理任务,并生成待处理任务对应的计算图;
第三功能组件,用于基于所述资源图和所述计算图,进行任务分配。
本申请实施例还提供了一种信息处理装置,包括:
第一处理单元,用于获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
第二处理单元,用于对生成的计算图进行优化,得到优化后的计算图;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力。
本申请实施例还提供了一种信息处理***,包括:
第一功能组件,用于通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
第二功能组件,用于获取待处理任务,并生成待处理任务对应的计算图;
第三功能组件,用于基于所述资源图和所述计算图,进行任务分配;其中,
所述第一功能组件、所述第二功能组件和所述第三功能组件设置在至少两个电子设备上。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本申请实施例提供的信息处理方法、装置、***、电子设备及存储介质,第一功能组件通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;第二功能组件获取待处理任务,并生成待处理任务对应的计算图;第三功能组件基于所述资源图和所述计算图,进行任务分配。本申请实施例的方案,通过将物联网设备的能力进行抽象,生成用于管理和/或编排异构物联网设备上的可用能力的资源图,并基于待处理任务对应的计算图及所述资源图进行任务分配;如此,能够对资源受限且高度异构的物联网设备进行高效管理和灵活调度,即充分地利用资源受限且高度异构的物联网设备来执行待处理任务(例如计算密集型的深度学习任务)。
附图说明
图1为本申请实施例一种信息处理方法的流程示意图;
图2为本申请实施例另一种信息处理方法的流程示意图;
图3为本申请应用实施例的场景示意图;
图4为本申请应用实施例智能分布式边缘计算(IDEC,Intelligent DistributedEdge Computing)***的结构示意图;
图5为本申请应用实施例服务能力抽象模块的应用场景示意图;
图6为本申请应用实施例资源知识图谱构建模块的示意图;
图7为本申请应用实施例计算图优化的示意图;
图8为本申请应用实施例智能计算任务分配(ICTA,Intelligent Computing TaskAllocation)模块的示意图;
图9为本申请应用实施例基于IDEC的智能物联网边缘计算平台的结构示意图;
图10为本申请实施例一种信息处理装置的结构示意图;
图11为本申请实施例另一种信息处理装置的结构示意图;
图12为本申请实施例电子设备的结构示意图;
图13为本申请实施例信息处理***的结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
随着深度学习技术的突破性进展以及第五代移动通信技术(5G,5th Generation)的推广和普及,基于人工智能的物联网边缘智能应用和/或服务近年来也在不断增长,并在车联网、智慧养老、智慧社区、智慧城市、智慧家庭、工业互联网等领域取得了鼓舞人心的初步成果。在这种情况下,可以考虑利用边缘计算资源进行机器学习模型的分布式推理和/或训练。然而,与云计算强大的计算能力和丰富的存储空间相比,资源受限的边缘环境往往很难支撑计算密集型的深度学习任务,因此,可以考虑通过跨设备协作的分布式边缘计算方式解决边缘环境资源受限的问题。
相关技术中,边缘深度学***台或算子库),例如:TensorFlow、Caffe、Torch等,无法充分地利用资源受限且高度异构的物联网设备来执行计算密集型的深度学习任务,从而限制了整体***性能的提升。
基于此,在本申请的各种实施例中,通过将物联网设备的能力进行抽象,生成用于管理和/或编排异构物联网设备上的可用能力的资源图,并基于待处理任务对应的计算图及所述资源图进行任务分配;如此,能够对资源受限且高度异构的物联网设备进行高效管理和灵活调度,即充分地利用资源受限且高度异构的物联网设备来执行待处理任务(例如计算密集型的深度学习任务)。
本申请实施例提供一种信息处理方法,如图1所示,该方法包括:
步骤101:第一功能组件通过将物联网设备的能力进行抽象,生成资源图(也可以称为资源知识图或资源知识图谱);
这里,所述资源图用于管理(Management)和/或编排(Orchestration)异构物联网设备上的可用能力;
步骤102:第二功能组件获取待处理任务,并生成待处理任务对应的计算图(也可以称为计算流图或数据流图);
步骤103:第三功能组件基于所述资源图和所述计算图,进行任务分配。
这里,需要说明的是,在本申请的各种实施例中,所述资源图的节点代表一个物联网设备的至少部分能力;所述资源图的边代表相邻两个节点之间的关系(也可以称为相邻两个节点之间的关联关系(英文表达为Association Relationship)),所述关系可以包括通信关系和从属关系,所述通信关系可以体现在包括相邻两个节点之间的信息传输速率及传输时延等能够表征通信强度的信息。
实际应用时,所述待处理任务包含计算任务,所述计算任务可以包含一般的计算任务及训练和/或推理机器学习模型(也可以称为深度模型、深度学习模型或深度神经网络)等计算密集型的计算任务。计算密集型的计算任务对计算能力和/或存储能力的要求较高,更适用于基于所述资源图和所述计算图进行任务分配。换句话说,采用本申请实施例提供的信息处理方法,能够充分地利用资源受限且高度异构的物联网设备来执行计算密集型的计算任务。
其中,异构物联网设备是指:在一个包含多个物联网设备和服务器的网络中,一个物联网设备的硬件与另一个物联网设备的硬件不同,和/或,一个物联网设备的服务器与另一个物联网设备的服务器不同。其中,一个物联网设备的硬件与另一个物联网设备的硬件不同是指:一个物联网设备的中央处理器(CPU,Central Processing Unit)、图形处理器(GPU,Graphics Processing Unit)、总线接口芯片(BIC,Bus Interface Chip)、数字信号处理器(DSP,Digital Signal Processor)等处理类硬件或随机存取存储器(RAM,RandomAccess Memory)、只读存储器(ROM,Read Only Memory)等存储类硬件的型号与另一个物联网设备的硬件的型号不同;一个物联网设备的服务器与另一个物联网设备的服务器不同是指:一个物联网设备对应的后端程序或者操作***与另一个物联网设备对应的后端程序或者操作***不同,换句话说,两个物联网设备之间在软件层面存在不同。
实际应用时,所述物联网设备可以包括手机、个人电脑(PC,Personal Computer)、可穿戴智能设备、智能网关、计算盒子等;所述PC可以包括台式电脑、笔记本电脑、平板电脑等;所述可穿戴智能设备可以包括智能手表、智能眼镜等。
实际应用时,本申请实施例提供的信息处理方法应用于信息处理***,该***可以包括所述第一功能组件、所述第二功能组件和所述第三功能组件;其中,所述第一功能组件、所述第二功能组件和所述第三功能组件可以分别通过电子设备实现,比如服务器;当然,所述第一功能组件、所述第二功能组件和所述第三功能组件也可以设置在同一电子设备上,或者,所述第一功能组件、所述第二功能组件和所述第三功能组件中的任意两个功能组件可以设置在同一电子设备上。
其中,对于步骤101,在一实施例中,所述通过将物联网设备的能力进行抽象,生成资源图,可以包括:
所述第一功能组件发现网络中的物联网设备;检测物联网设备的能力;针对每个物联网设备,基于相应物联网设备的能力,将物联网设备抽象成相应的节点;
基于抽象出的节点,生成资源图。
具体地,实际应用时,所述发现物联网设备,也可以称为感知边缘网络中的物联网设备;所述边缘网络是指电信网络的边缘(边缘网络包括汇聚层网络和接入层网络的一部分或全部,是接入用户的最后一段网络)。其中,所述发现或感知也可以理解为检测,比如,所述第一功能组件可以基于动态主机配置协议(DHCP,Dynamic Host ConfigurationProtocal),利用零配置组网(ZEROCONF,ZERO CONFiguration networking)技术检测边缘网络中的物联网设备。当然,也可以根据需求设置所述第一功能组件采用其他方式发现或感知物联网设备,本申请实施例对此不作限定。
发现物联网设备后,所述第一功能组件可以通过与相应物联网设备进行信息交互来检测相应物联网设备的能力;示例性地,所述第一功能组件可以向相应物联网设备发送能力请求消息,并根据相应物联网设备针对所述能力请求消息所回复的消息确定相应物联网设备的能力。
这里,物联网设备的能力可以包含以下至少之一:
计算能力;
存储能力。
其中,所述物联网设备的能力是指物联网设备的服务能力,可以理解为相应物联网设备的资源;相应地,一个物联网设备的至少部分能力可以理解为一个物联网设备的至少部分资源,一个物联网设备上的可用能力可以理解为一个物联网设备上的可用资源,即闲置资源(也可以称为闲置能力、闲散能力、空闲能力、闲散资源或空闲资源);也就是说,计算能力是指相应物联网设备可用的计算资源;存储能力是指相应物联网设备可用的存储资源(即存储空间)。
另外,节点之间需要进行通信,以体现节点之间的通信关系。
基于此,在资源图中,异构物联网设备上的可用能力可以包括以下至少之一:
计算能力;
存储能力;
通信能力。
其中,所述通信能力又可以称为通信资源,具体可以理解为两个节点之间的通信强度,比如,由边缘网络提供的用于物联网设备之间通信的带宽资源、信息传输速度(即传输速率)、传输时延等;再比如,一个物联网设备的一个部分能力与另一个部分能力之间的传输速率、传输时延等。
实际应用时,所述第一功能组件可以利用软件定义技术将实体的物联网设备抽象成虚拟化的节点,所述节点可以包含相应物联网设备的能力信息。根据物联网设备的不同能力,可以抽象出不同的节点;对于一个物联网设备,抽象出的节点可以包括以下至少之一:
设备节点;能够代表相应物联网设备的计算能力和存储能力;
计算节点;能够代表相应物联网设备的计算能力;
存储节点;能够代表相应物联网设备的存储能力。
实际应用时,所述基于抽象出的节点,生成资源图,可以包括:
所述第一功能组件确定每个节点的特征,并确定多个节点之间的关系;所述特征至少用于描述相应节点对应的物联网设备信息及物联网设备的至少部分能力信息;
基于确定的特征及节点之间的关系,生成资源图。
这里,实际应用时,节点的特征会包含多个,因此,所述特征也可以称为特征向量、特征集、特征向量集或特征集合;由于所述特征包含多个描述信息(即相应节点对应的物联网设备信息及物联网设备的至少部分能力信息),因此,所述特征也可以称为信息或信息集。实际应用时,节点的特征可以用于本体描述模型(英文可以表达为OntologyDescription Model)表征,所述本体描述模型也可以称为实体描述模型。
实际应用时,由于物联网设备的能力以及物联网设备之间的关系是动态变化的,为了使虚拟化的资源图对应的信息与实体的物联网设备对应的信息保持一致,提高资源图的准确性,需要监测物联网设备的变化,以使资源图随着物联网设备的变化动态更新。
基于此,在一实施例中,所述方法还可以包括:
所述第一功能组件监测物联网设备;
监测到物联网设备发生变化时,基于监测到的物联网设备的变化情况,更新所述资源图。
对于步骤102,在一实施例中,所述生成待处理任务对应的计算图,可以包括:
所述第二功能组件将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
其中,在一实施例中,所述将所述待处理任务分解为至少一个算子,可以包括:
所述第二功能组件采用第一策略对所述待处理任务进行分解,得到至少一个算子。
具体地,实际应用时,所述第二功能组件采用第一策略对所述待处理任务进行分解,可以包括:
首先,根据应用和服务中所需要实现的功能进行模型设计(也可以称为任务设计或程序设计)。所述应用和服务可以是一般的应用和服务(例如地图定位、网上银行、网购等),也可以是智能应用和服务(例如智能控制、自动驾驶等)。所述功能可以是一般功能(例如播放视频、访问浏览器、打开网页、编辑文件等),也可以是与AI相关的功能(例如人脸识别、行为识别、语音识别、自然语言处理等)。所述模型设计包括设计算法模型(即设计所述待处理任务,所述待处理任务也可以称为任务模型或程序模型,所述待处理任务包含计算任务)以实现相应的功能,例如设计神经网络结构以实现行为识别等功能。
其次,将设计的算法模型转换成图拓扑结构,即数据流图。如果所述算法模型对应的是某种计算任务,则又可将其抽象成的图拓扑结构称为计算图,或计算流图。所述计算图由节点和边组成,所述计算图的节点表示所述算法模型在程序实现时需要进行的某种类型的运算(即运算单元,也可称为算子,英文可以表示为Operation Node或Operator Node),即所述待处理任务的一个算子;所述算子可以是一般的数学运算算子或数组运算算子(例如:加法算子、乘法算子等),也可以是神经网络算子(即神经网络基本运算单元,例如:卷积算子、池化算子等);所述节点包含如下特征或信息:相应节点所表示的算子在被运算(或执行)时对算力、存储等资源的消耗或需求,即算子的硬件执行代价,也可以理解为算子的硬件占用数据(例如:CPU占用率、GPU占用率、DSP占用率、FPGA占用率、内存占用率等);所述占用率也可称为占用、占用比例、占用比率、使用、使用率、使用比例、使用比率、利用、利用率、利用比例或利用比率;所述计算图中的边表示相邻两个节点之间的关系,即相邻两个算子之间的关系,包括两个相邻算子之间的计算依赖关系或数据依赖关系,其方向可以表示运算的先后顺序或数据流向;所述边包含如下特征或信息:两个相邻算子之间传输数据的大小。所述节点和边的特征或信息可以通过将相应算子进行实际执行或在仿真环境下执行等方式获得。
在一实施例中,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,可以包括:
所述第二功能组件将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
实际应用时,所述第二功能组件可以根据所述至少一个算子之间的计算依赖性、至少一个算子的运算先后顺序或至少一个算子之间的数据流向,确定节点之间的关系,并基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
实际应用时,为了提升***(即包括所述第一功能组件、所述第二功能组件和所述第三功能组件的信息处理***)的性能,比如降低执行所述待处理任务的执行时长,所述第二功能组件可以对计算图进行优化。
基于此,在一实施例中,所述方法还可以包括:
所述第二功能组件对生成的计算图进行优化;
所述第三功能组件基于所述资源图和优化后的计算图,进行任务分配。
这里,所述对生成的计算图进行优化,可以包括以下至少之一:
算子融合(英文可以表示为Operator Fusion);用于将多个相邻的小算子结合成为一个算子;使得在执行所述待处理任务的过程中无需将所述多个相邻的小算子的中间结果保存至全局内存,以通过减少内存访问从而减少执行所述待处理任务的执行时长;
常量合并(或称为常量折叠,英文可以表示为Constant Folding);用于遍历计算图中的节点,找出完全能够静态计算的节点,即完全依赖于常量输入来进行计算的节点,在CPU上将这些节点计算出来,并替换这些节点,也就是将计算图中常量的计算合并起来,这种常量合并算法减少了不必要的重复计算量,提升了计算性能;
静态内存规划传递(或称为静态内存计划传递,英文可以表示为Static MemoryPlanning Pass);用于将内存预分配给所有中间结果张量(英文可以表示为Tensor,中间结果是以Tensor的形式存在的);通过预分配所有中间结果Tensor来进行计算图优化,能够节省运行时代价(例如使一个常数折叠Pass能够在计算图预计算阶段被静态地执行);
数据布局转换(英文可以表示为Data Layout Transformation);用于在数据生产者(英文可以表示为Producer)和数据消费者(英文可以表示为Consumer)之间出现了数据布局不匹配的情况时,进行数据布局转换。这里,Tensor操作是计算图的基本操作符,Tensor中涉及到的运算会根据不同的操作符拥有不同的数据布局需求。例如,一个深度学习加速器可能会使用4x4张量操作,所以需要将数据切割成4x4的块来存储以优化局部访存效率。实际应用时,为了优化数据布局,需要为每个操作符提供定制的数据布局。
实际应用时,所述***性能,可以包含以下至少之一:
执行所述待处理任务的时长;
执行所述待处理任务的能耗;
执行所述待处理任务的可靠性。
实际应用时,执行所述待处理任务的可靠性,可以体现为执行所述待处理任务的成功率。
对于步骤103,在一实施例中,所述基于所述资源图和所述计算图,进行任务分配,可以包括:
所述第三功能组件基于所述资源图和所述计算图,采用第二策略生成至少一种任务分配策略;从所述至少一种任务分配策略中确定性能最佳的任务分配策略;并基于所述性能最佳的任务分配策略,进行任务分配;所述任务分配策略用于将所述待处理任务映射(或分配)到至少一个物联网设备上。
这里,所述任务分配策略表示将待处理任务分配到至少一个物联网设备执行的策略,或者用于为所述计算图的每个节点分配相应资源图的至少一个节点,或者用于将待处理任务和物联网设备之间进行匹配,或者用于将待处理任务与资源之间进行匹配;换句话说,通过所述任务分配策略,可以确定至少一个物联网设备,并利用确定的至少一个物联网设备按照任务分配策略的指示执行待处理任务。可选地,所述任务分配策略也可以称为以下其中一种:任务分配方法、任务分配方式、任务调度策略、任务调度方法、任务调度方式、任务编排策略、任务编排方法、任务编排方式等等。
具体地,实际应用时,所述基于所述性能最佳的任务分配策略进行任务分配,是指:基于所述性能最佳的任务分配策略,将所述待处理任务映射(即分配)到至少一个物联网设备上,以使所述至少一个物联网设备利用自身的至少部分能力,以并行和协作的方式执行所述待处理任务,例如实现所述机器学习模型的训练和/或推理。
实际应用时,所述将所述待处理任务映射到至少一个物联网设备上,还可以理解为:为所述待处理任务的每个算子分配至少一个物联网设备的至少部分能力;换句话说,为所述计算图的每个节点分配所述资源图的至少一个节点。由此可见,通过任务分配,实际上实现了待处理任务与物联网设备之间的匹配,或者说,实现了待处理任务和资源(即物联网设备上的可用资源)之间的匹配。
实际应用时,为所述计算图的每个节点分配的所述资源图的至少一个节点可以相同或不同;也就是说,一个物联网设备可以利用自身的至少部分能力实现多个算子对应的计算单元,同时,多个物联网设备可以以协作的方式实现一个算子对应的计算单元。此外,计算图中没有计算依赖关系的节点(即没有计算依赖关系的算子)可以在相同或不同的物联网设备上并行地执行(即运算或计算)。
实际应用时,由于所述任务分配策略能够指示为所述计算图的每个节点分配的所述资源图的至少一个节点,且所述至少一种任务分配策略可以基于所述资源图确定。因此,所述任务分配策略可以体现为从所述资源图中切分得到的资源子图,并且资源子图中包含了计算图中的每个节点与资源图中的至少一个节点之间的对应关系。所述第二策略可以采用图搜索、图优化、子图匹配、启发式方法等方式实现,或者采用随机游走的方法实现。
基于此,在一实施例中,所述采用第二策略生成至少一种任务分配策略,可以包括:
所述第三功能组件基于所述计算图和资源图,采用第二策略,生成至少一个资源子图;每个资源子图包含一种任务分配策略;所述资源子图的节点代表一个物联网设备的至少部分能力;所述资源子图的边代表相邻两个节点之间的关系。
在一实施例中,所述从所述至少一种任务分配策略中确定性能最佳的任务分配策略,可以包括:
所述第三功能组件预测每个任务分配策略的性能;基于预测的每个任务分配策略的性能,确定性能最佳的任务分配策略。
具体地,在一实施例中,所述预测每个任务分配策略的性能,可以包括:
所述第三功能组件提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集;每个资源子图包含一种任务分配策略;
针对每个任务分配策略,基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能。
实际应用时,所述特征集(即第一特征集和第二特征集)也可以简称为特征,或者,可以称为特征集合、特征向量或特征向量集。
实际应用时,所述第三功能组件可以通过特征提取网络提取所述第一特征集和所述第二特征集。
基于此,在一实施例中,所述提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集,可以包括:
所述第三功能组件通过特征提取网络提取所述计算图的特征,得到第一特征集;并通过所述特征提取网络提取每个资源子图的特征,得到多个第二特征集。
其中,实际应用时,所述计算图的特征,可以包含以下至少之一:
执行所述计算图的每个节点对应的算子需要占用的计算资源;
执行所述计算图的每个节点对应的算子需要占用的存储资源;
执行所述计算图的每个节点对应的算子需要占用的通信资源。
所述资源子图的特征,可以包含以下至少之一:
至少一个物联网设备上可用的计算资源;
至少一个物联网设备上可用的存储资源;
至少一个物联网设备上可用的通信资源。
实际应用时,可以基于图神经网络(GCN,Graph Convolutional Network)构建所述特征提取网络,并可基于训练数据集对特征提取网络进行训练;所述训练过程能够产生优化的网络参数;所述优化的网络参数可以用于提取到有利于提升性能预测准确率的特征。
实际应用时,所述第三功能组件可以通过预测网络预测相应任务分配策略的性能。
基于此,在一实施例中,所述基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能,可以包括:
所述第三功能组件基于所述第一特征集和相应的第二特征集,通过预测网络获得相应任务分配策略对应的预测数据;基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能。
其中,所述预测数据,可以包含以下至少之一:
执行所述待处理任务的预测时长;
执行所述待处理任务的预测能耗;
执行所述待处理任务的预测可靠性。
实际应用时,执行所述待处理任务的预测可靠性,可以体现为执行所述待处理任务的预测成功率。
实际应用时,针对所述待处理任务所对应的不同的应用场景,所述待处理任务对所述任务分配策略的性能的需求不同,比如,所述待处理任务需要在尽可能短的时间内执行完毕;再比如,所述待处理任务需要消耗尽可能少的能耗。
基于此,在一实施例中,所述基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能,可以包括:
所述第三功能组件根据预设权重,对相应任务分配策略对应的预测数据进行加权处理,以确定相应任务分配策略的预测性能。
实际应用时,所述预设权重可以根据需求设置。
示例性地,假设相应任务分配策略对应的预测数据包括三个分量(即包含执行所述待处理任务的预测时长、预测能耗和预测可靠性),则可以通过以下公式按照每个分量对应的预设权重进行加权处理:
η=Q(λt,λe,λr,…) (1)
其中,η表示相应任务分配策略的预测性能,Q(·)表示一种函数,其中包括了对每个分量(即每种预测数据,可以理解为性能指标)的加权信息,λt表示预测时长,λe表示预测能耗,λr表示预测可靠性。
由于表达式(1)中Q(·)的具体形式,即预设权重的具体取值,取决于不同场景对时延、能耗、可靠性等的不同要求,或者说重视程度或关注度,即通过使用特定函数给不同性能指标进行加权来实现多种性能指标之间的权衡,根据所设定的公式计算各项关键性能指标的加权值以得到整体***性能,也就是说,通过表达式(1)得到的预测性能反映了与服务质量(QoS,Quality of Service)相关的整体***性能。
实际应用时,可以基于深度神经网络(DNN,Deep Neural Networks)构建所述预测网络,并可基于训练数据集对预测网络进行训练;所述训练过程能够产生优化的网络参数;所述优化的网络参数可以用于提升性能预测的准确率。
实际应用时,为了提高性能预测的准确率,所述训练数据集可以通过历史数据积累和/或随机游走产生新数据的方式不断更新,以使所述训练过程具有持续学习的能力。这里,所述训练数据可以称为样本或训练样本,并可以包含任务分配策略及其对应的实际性能。
基于此,在一实施例中,所述方法还可以包括:
所述第三功能组件在进行任务分配后,获取所述待处理任务基于所述性能最佳的任务分配策略被执行时的实际性能;并将所述性能最佳的任务分配策略及获取的实际性能存储至所述训练数据集。
实际应用时,所述特征提取网络和所述预测网络可以在所述第三功能组件内部实现,即由所述第三功能组件进行训练和/或推理;也可以在所述第三功能组件外部实现,即由其他功能组件进行训练和/或推理。
相应地,本申请实施例还提供了一种信息处理方法,应用于第二功能组件,如图2所示,该方法包括:
步骤201:获取待处理任务;并生成待处理任务对应的计算图;
这里,所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
步骤202:对生成的计算图进行优化,得到优化后的计算图;
这里,所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力。
其中,在一实施例中,所述生成待处理任务对应的计算图,可以包括:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述将所述待处理任务分解为至少一个算子,可以包括:
采用第一策略对所述待处理任务进行分解,得到至少一个算子。
在一实施例中,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,可以包括:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述对生成的计算图进行优化,可以包括以下至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
这里,需要说明的是,所述第二功能组件的具体处理过程已在上文详述,这里不再赘述。
本申请实施例提供的信息处理方法,第一功能组件通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;第二功能组件获取待处理任务,并生成待处理任务对应的计算图;第三功能组件基于所述资源图和所述计算图,进行任务分配。本申请实施例的方案,通过将物联网设备的能力进行抽象,生成用于管理和/或编排异构物联网设备上的可用能力的资源图,并基于待处理任务对应的计算图及所述资源图进行任务分配;如此,能够对资源受限且高度异构的物联网设备进行高效管理和灵活调度,即充分地利用资源受限且高度异构的物联网设备来执行待处理任务(例如计算密集型的深度学习任务)。
下面结合应用实施例对本申请再作进一步详细的描述。
如图3所示,本应用实施例的目的在于提供一种支持跨异构物联网设备高效深度学习的智能分布式边缘计算(IDEC)***,所述IDEC***也可称为协作式去中心化机器学习(CDML,Collaborative Decentralized Machine Learning)***、协作分布式机器学习***、基于设备协作的去中心化机器学习***、或基于设备协作的分布式机器学习***。通过边缘侧物联网设备的广泛连接和智能感知、统一的资源管理和算力共享、高效的设备协作和智能调度、算子级的计算任务分解、以及基于图卷积的任务分配和优化,实现支持深度模型分布式训练和/或推理的跨异构物联网设备协作的全栈优化的***设计,进一步实现AI模型从云中心向更接近于物联网设备的网络边缘侧下沉,支持边缘智能服务和应用的高效部署和执行,解决物联网应用场景数据处理过程中的时延、可靠性、能耗、通信带宽消耗、用户隐私和安全等问题。
具体地,本应用实施例提供了一种IDEC***,IDEC***主要包括三大模块:边缘资源管理模块(或称为物联网设备资源管理模块,即上述第一功能组件)、计算任务分解模块(或称为机器学习计算任务分解模块,即上述第二功能组件)和智能计算任务分配(ICTA)模块(即上述第三功能组件)。如图4所示,IDEC***南向对接广泛分布的物联网边缘基础设施(即边缘设备,也可称为物联网设备),通过边缘资源管理模块生成支持动态构建和更新的资源图,实现了多种异构物联网设备资源的动态感知、统一管理、高效调度和共享协作。IDEC***北向将来自实际场景中的智能应用和服务的深度学习任务通过计算任务分解模块生成计算图,实现了细粒度的算子级计算任务分解,为并行计算和分布式处理提供条件,同时利于进行深度学习任务执行性能的图级优化。IDEC***的中间层(即核心模块)为ICTA模块,ICTA在生成的资源图和计算图的基础上,实现了底层深度学习算子的跨设备分配,ICTA模块利用图卷积网络(GCN)和深度神经网络(DNN)等深度学习算法,通过对异构物联网设备上不同操作***间复杂多变的任务调度问题的内在统计学规律的学习,实现了对应最佳***性能的任务分配策略的智能决策,最大化地利用了物联网边缘侧的分散异构资源,从而提升了整体***性能;同时,ICTA模块通过引入持续学习机制,使IDEC***具备智能自适应性,实现了“越用越聪明”。
需要说明的是,IDEC***南向联动的物联网基础设施,即边缘设备,主要包括两类:终端设备(即具有计算能力的智能物联网设备,例如:智能摄像头、智能网关、计算盒子、智能手机等,这类设备往往具有较高的异构性和资源受限性)和边缘服务器(即具有稍强的计算能力、存储能力及管理能力的智能物联网设备,负责托管和运行IDEC***,以及一些大型深度学习模型);IDEC***北向对接物联网领域多种智能边缘应用和服务,包括:智慧养老(也可以称为智能老年护理)、智能家居(也可称为智慧家庭)、车联网、智慧社区、智慧城市、工业互联网等。
下面对IDEC***的功能进行详细描述。
首先,结合图5和图6描述边缘资源管理模块的功能。
相关技术中,对边缘侧广泛分布的物联网设备进行统一管理和调度是实现跨设备协作的分布式边缘计算的重要前提,但由于物联网设备的多样性、资源受限性以及硬件后端和网络的异构性,增加了资源共享与交互的复杂性和不确定性。
为解决上述问题,边缘资源管理模块采用虚拟化、软件定义以及知识图谱等技术,通过边缘设备服务能力抽象模块(或称为物联网设备服务能力抽象模块)的功能(如图5所示)及资源知识图谱构建模块的功能(如图6所示),实现对物联网分布式边缘基础设施上的异构资源的统一管理和编排,以及边缘设备的智能感知和协作。从而充分利用有限的边缘资源进行跨异构设备的协作式的资源调度和任务分配,实现资源利用率的最大化,为IDEC***在资源受限的边缘计算环境下充分利用异构的边缘资源高效执行深度模型的分布式训练和/或推理提供了条件。
具体地,边缘设备服务能力抽象模块主要用于解决异构性的问题,其根本目标是打破异构硬件之间的界限,使多种多样的物联网设备能够以协作的方式执行深度学习任务。具体可以包括三层,如图5所示,边缘基础设施层实现对多种异构设备的识别和连接;资源池化层实现对边缘设备上的计算资源(例如:CPU、GPU、FPGA、ARM、AI芯片等)和存储资源(例如:缓存、RAM等)的细粒度感知和调度;能力抽象层利用虚拟化和软件定义技术将计算和存储资源转化成虚拟的计算节点和存储节点,便于统一管理和编排。边缘设备服务能力抽象模块促进了跨异构边缘设备的资源调度,对发现和匹配合适资源以满足特定的计算需求做出了贡献,由此广泛分布的多种边缘资源和处理能力可以被感知、重用和共享,提高了资源利用率,从而提升了边缘侧整体的服务能力。
为了进一步实现对可用边缘资源的动态感知和充分理解,如图6所示,资源知识图谱构建模块可以采用语义和知识引擎技术对互联互通的物联网设备进行描述和建模。在资源知识图谱中,节点代表不同的边缘设备或从边缘设备上抽象得到的细粒度的计算和/或存储能力,基于代表的不同的能力,虚拟化的节点可以包含设备节点、计算节点和存储节点;其中,设备节点的本体描述模型可以包括以下信息:物联网设备信息(包含设备ID、位置、类型、状态值、功能、所有者、接口、IP信息等)、以及能力信息(可用的CPU、GPU、FPGA、DSP、内存资源等)等。资源知识图谱中的边代表相邻节点间的关联关系。关联关系表示了异构边缘设备资源之间的互联互通,进一步体现了边缘设备的内部协作和共享机制。为了适应动态多变的物联网边缘场景,应对可用资源波动变化的挑战,资源知识图谱构建模块中引入了自动更新机制以与物理上的边缘设备的资源情况及连接状态保持一致。此外,调度编排策略和共享协作机制的使用也进一步提高了资源利用率以及整体的计算能力。基于资源知识图谱构建模块,IDEC***能够实现异构分布式边缘设备上有限可用资源的高效管理和灵活调度,以满足计算任务的资源需求。
其次,结合图7描述计算任务分解模块的功能。
计算任务分解模块具备计算图构建和计算图优化的功能。
其中,计算图构建是指生成深度学习计算任务对应的计算图。具体地,深度学习计算任务通常是一些多层的深度神经网络模型,其组成的基本单元是深度学习算子,例如:卷积算子、池化算子等。用抽象化的节点表示算子,用边表示数据流向、数据依赖关系或计算依赖关系,以此可以构成能够表示深度学习模型的算子级程序实现过程的图结构,称为计算图、计算流图或数据流图,如图7所示,计算图是以图的形式对深度学习计算任务的一种表达。
计算图优化是对计算图中的算子在实际分配和执行前进行一些操作,以便于获得更好的***性能,例如降低任务执行时间等。计算图优化的方法主要包括:算子融合、常量合并、静态内存规划传递及数据布局转换等。其中,算子融合是指将多个相邻的小算子结合成为一个算子而不将中间结果保存至全局内存,以通过减少内存访问从而减少执行时间。
通过对深度学习模型的计算图构建以及对计算图的优化,能够实现细粒度的算子级的计算任务分解,为算子的并行处理和分布式执行提供可能;同时,有利于进行算子融合、常量合并等图级优化,并为下一步的计算任务分配和最优化提供前提。
第三,结合图8描述ICTA模块的功能。
一方面,计算任务分解模块构建的计算图提供了算子的全局视图,但却并未指定实现每个算子的具体物联网设备以获得最佳的***性能,即计算任务分配策略尚未确定。另一方面,资源图中提供了能够承载深度学习工作负载的物联网设备上的可用资源。因此,基于计算图和资源图,为了充分利用物联网设备上的分散资源以协作的方式高效地执行计算任务,ICTA模块通过以最优的分配方式将计算图中的深度学习算子合理地分配给资源图中有闲散资源的物联网设备,以达到计算任务和设备资源之间的最佳匹配,实现对应最佳***性能的任务分配策略的智能决策。
如图8所示,ICTA模块具体可以包括:资源子图构建模块、特征提取模块和性能预测模块。
其中,资源子图构建模块用于采用图搜索、图优化、子图匹配、启发式方法或随机游走方法等方式进行资源子图的构建,每个资源子图携带特定的任务分配策略。
特征提取模块用于利用GCN算法分别提取资源图和计算图的图拓扑结构特征,提取的特征涵盖了算力、存储、通信等对深度学习计算任务的高效执行起决定性作用的维度的特征。
性能预测模块用于采用DNN算法对给定的任务分配策略(即每个资源子图携带或对应的任务分配策略)在任务实际执行前进行***性能的预测,重点关注的***性能指标可以包括:执行时间(即时长)、能耗和可靠性(比如成功率)。实际应用时,性能预测模块可以根据不同应用场景的实际需求在这三个指标之间进行权衡(例如对于关注度大的指标乘以一个较大的权重),最终得到一个代表整体***性能的综合指标。最后,性能预测模块根据得到的每个任务分配策略的综合指标,选择能够获得最佳***性能的任务分配策略进行实际的任务分配。
实际应用时,可以对GCN模型(即上述特征提取网络)和DNN模型(即上述预测网络)进行端到端的训练,学习不同任务分配策略和***性能之间的潜在对应关系,以及多种异构的物联网设备之间不同操作***上任务调度的复杂的内在统计学规律,如此,能够提高***性能预测的准确性。
通过资源子图构建模块、特征提取模块和性能预测模块,ICTA模块能够解决计算任务与设备资源的最优匹配问题,从而提高资源利用率和整体***性能。ICTA模块根据***性能最佳的任务分配策略将深度学习模型的计算单元(即算子)合理地分配给多种异构的物联网设备,如此,能够充分利用IDEC***中的跨设备异构资源以多设备协作的方式分布式(或称为去中心化)地执行计算密集型深度学习任务,帮助分布式边缘计算***提升边缘侧智能应用的部署和执行效率。此外,借助于基于历史样本积累和随机游走等策略的持续学习机制,ICTA模块能够实现“越用越聪明”,从而使得整个IDEC***向集成了自适应和自学习能力的智能化更迈进了一步。
基于IDEC***,本应用实施例还提供了一种智能物联网边缘计算平台,该平台北向通过“需求下行,服务上行”的模式与多个垂直行业的智能应用对接,南向通过“数据上行,任务下行”的模式与多种异构且分布广泛的物联网设备联动,整个平台在集成了运维、安全及隐私的多重保障体系下,可为消费者、供应链、协作企业及开发者等多类用户群体提供物联网智能应用和服务,实现多种边缘智能应用和服务在广泛分布的异构物联网设备上的部署和执行,进而实现端到端全栈优化的物联网边缘智能生态***,从而统一市场并加速智能物联网解决方案的部署。如图9所示,该平台具体包括:应用层、核心层和资源层。
其中,应用层集成了多种共性能力和智能算法,用于将来自于行业应用中具体场景的智能服务需求转化为行为识别、人脸识别等功能模块,并进一步将其分解为CNN、RNN等多个深度学习任务和/或模型。
核心层搭载了IDEC***,对上实现对来自应用层的深度学习任务的细粒度(即算子级)分解,对下实现对边缘资源的统一管理和高效调度,并基于两者(即资源图和计算图)通过按照任务和资源的最佳匹配模式进行任务在多个设备上的智能分配和优化,最终实现机器学习模型的分布式训练和/或推理。核心层的主要功能包括:边缘资源管理、深度学习计算任务分解、智能的计算任务分配等。核心层的特点及优势包括:智能感知、异构兼容、调度编排、共享协作、分布式部署和智能自适应等。
资源层通过虚拟化及软件定义等技术,实现对物联网设备上的能力抽象和资源提取,用于计算能力虚拟化、存储能力虚拟化和网络资源虚拟化。
本应用实施例提供的方案,具有以下优点:
1)实现了从顶层边缘智能应用到底层广泛分布的异构物联网边缘设备打通的全栈优化的***设计,并通过全栈优化的***设计,使得IDEC***具有异构兼容、高性能、以及智能自适应的特点,实现了对大量分散的资源受限的多种异构物联网边缘设备的统一管理与资源共享,以支持协作式的跨异构设备的去中心化的深度学习模型分布式训练和/或推理。
2)通过边缘资源管理模块,实现了对物联网边缘设备的智能感知、统一管理和协作,并实现了针对物联网设备的资源共享和高效调度,以充分利用分布广泛的异构的资源受限物联网设备。
3)通过计算任务分解模块,实现了对深度学习任务的算子级分解,生成的计算图有助于并行处理和分布式计算的实施,即有利于算子的并行处理和分布式执行;并且,利于进行图级优化(也可以理解为算子级的优化)以提升任务执行性能。
4)考虑到了多种异构的物联网设备上不同操作***之间任务调度的复杂性和不确定性,通过ICTA模块,基于对多层GCN和DNN网络的端到端训练,学习不同操作***内在复杂的任务调度规律,以及不同任务分配策略和***性能之间潜在的对应关系,实现在任务实际执行前对给定的任务分配策略在实际执行后可能得到的***性能的准确预测,以便选择最优的任务分配策略;通过对计算任务和可用资源之间的最佳匹配,实现对最佳任务分配策略的智能决策,以此最大化对边缘资源的利用率,提升整体***性能。
5)通过持续学习机制,实现自学习和自适应,达到“越用越聪明”的效果。
为了实现本申请实施例的方法,本申请实施例还提供了一种信息处理装置,如图10所示,该装置包括:
第一功能组件1001,用于通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
第二功能组件1002,用于获取待处理任务,并生成待处理任务对应的计算图;
第三功能组件1003,用于基于所述资源图和所述计算图,进行任务分配。
其中,在一实施例中,所述第二功能组件1002,具体用于:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述第二功能组件1002,还用于采用第一策略对所述待处理任务进行分解,得到至少一个算子。
在一实施例中,所述第二功能组件1002,还用于:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述第二功能组件1002,还用于对生成的计算图进行优化;
所述第三功能组件1003,还用于基于所述资源图和优化后的计算图,进行任务分配。
其中,在一实施例中,所述第二功能组件1002,具体用于执行以下至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
在一实施例中,所述第一功能组件1001,具体用于:
发现网络中的物联网设备;检测物联网设备的能力;针对每个物联网设备,基于相应物联网设备的能力,将物联网设备抽象成相应的节点;
基于抽象出的节点,生成资源图。
在一实施例中,所述第一功能组件1001,还用于在监测到物联网设备发生变化时,基于监测到的物联网设备的变化情况,更新所述资源图。
在一实施例中,所述第三功能组件1003,具体用于:
基于所述资源图和所述计算图,采用第二策略生成至少一种任务分配策略;从所述至少一种任务分配策略中确定性能最佳的任务分配策略;并基于所述性能最佳的任务分配策略,进行任务分配;所述任务分配策略用于将所述待处理任务分配到至少一个物联网设备上。
在一实施例中,所述第三功能组件1003,还用于:
基于所述计算图和资源图,采用第二策略,生成至少一个资源子图;每个资源子图包含一种任务分配策略;所述资源子图的节点代表一个物联网设备的至少部分能力;所述资源子图的边代表相邻两个节点之间的关系。
在一实施例中,所述第三功能组件1003,还用于:
预测每个任务分配策略的性能;基于预测的每个任务分配策略的性能,确定性能最佳的任务分配策略。
在一实施例中,所述第三功能组件1003,还用于:
提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集;每个资源子图包含一种任务分配策略;
针对每个任务分配策略,基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能。
在一实施例中,所述第三功能组件1003,还用于通过特征提取网络提取所述计算图的特征,得到第一特征集;并通过所述特征提取网络提取每个资源子图的特征,得到多个第二特征集。
在一实施例中,所述第三功能组件1003,还用于基于所述第一特征集和相应的第二特征集,通过预测网络获得相应任务分配策略对应的预测数据;基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能。
在一实施例中,所述第三功能组件1003,还用于根据预设权重,对相应任务分配策略对应的预测数据进行加权处理,以确定相应任务分配策略的预测性能。
在一实施例中,所述第三功能组件1003,还用于在进行任务分配后,获取所述待处理任务基于所述性能最佳的任务分配策略被执行时的实际性能;并将所述性能最佳的任务分配策略及获取的实际性能存储至所述训练数据集。
这里,所述第一功能组件1001的功能相当于本申请应用实施例中边缘资源管理模块的功能;所述第二功能组件1002的功能相当于本申请应用实施例中计算任务分解模块的功能;所述第三功能组件1003的功能相当于本申请应用实施例中智能计算任务分配(ICTA)模块的功能。
实际应用时,所述第一功能组件1001、所述第二功能组件1002和所述第三功能组件1003可由该装置中的处理器实现。
为了实现本申请实施例的方法,本申请实施例还提供了一种信息处理装置,如图11所示,该装置包括:
第一处理单元1101,用于获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
第二处理单元1102,用于对生成的计算图进行优化,得到优化后的计算图;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力。
其中,在一实施例中,所述第一处理单元1101,具体用于:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述第一处理单元1101,还用于采用第一策略对所述待处理任务进行分解,得到至少一个算子。
在一实施例中,所述第一处理单元1101,还用于:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述第二处理单元1102,具体用于执行以下至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
这里,所述第一处理单元1101的功能和所述第二处理单元1102的功能相当于本申请应用实施例中计算任务分解模块的功能。
实际应用时,所述第一处理单元1101和所述第二处理单元1102可由该装置中的处理器实现。
需要说明的是:上述实施例提供的信息处理装置在基于任务进行信息处理时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的信息处理装置与信息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,如图12所示,该电子设备1200包括:
通信接口1201,能够与其他电子设备进行信息交互;
处理器1202,与所述通信接口1201连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器1203,存储能够在所述处理器1202上运行的计算机程序。
这里,所述电子设备1200上可以设置第一功能组件、第二功能组件和第三功能组件中的至少一个功能组件。
具体地,在所述第一功能组件、所述第二功能组件和所述第三功能组件均设置在所述电子设备1200上的情况下,所述处理器1202用于执行以下操作:
通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
获取待处理任务,并生成待处理任务对应的计算图;
基于所述资源图和所述计算图,进行任务分配。
其中,在一实施例中,所述处理器1202,还用于执行以下操作:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述处理器1202,还用于执行以下操作:
采用第一策略对所述待处理任务进行分解,得到至少一个算子。
在一实施例中,所述处理器1202,还用于执行以下操作:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述处理器1202,还用于执行以下操作:
对生成的计算图进行优化;
基于所述资源图和优化后的计算图,进行任务分配。
在一实施例中,所述处理器1202,还用于执行以下操作中的至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
在一实施例中,所述处理器1202,还用于执行以下操作:
发现网络中的物联网设备;检测物联网设备的能力;针对每个物联网设备,基于相应物联网设备的能力,将物联网设备抽象成相应的节点;
基于抽象出的节点,生成资源图。
在一实施例中,所述处理器1202,还用于执行以下操作:
监测到物联网设备发生变化时,基于监测到的物联网设备的变化情况,更新所述资源图。
在一实施例中,所述处理器1202,还用于执行以下操作:
基于所述资源图和所述计算图,采用第二策略生成至少一种任务分配策略;从所述至少一种任务分配策略中确定性能最佳的任务分配策略;并基于所述性能最佳的任务分配策略,进行任务分配;所述任务分配策略用于将所述待处理任务分配到至少一个物联网设备上。
在一实施例中,所述处理器1202,还用于执行以下操作:
基于所述计算图和资源图,采用第二策略,生成至少一个资源子图;每个资源子图包含一种任务分配策略;所述资源子图的节点代表一个物联网设备的至少部分能力;所述资源子图的边代表相邻两个节点之间的关系。
在一实施例中,所述处理器1202,还用于执行以下操作:
预测每个任务分配策略的性能;基于预测的每个任务分配策略的性能,确定性能最佳的任务分配策略。
在一实施例中,所述处理器1202,还用于执行以下操作:
提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集;每个资源子图包含一种任务分配策略;
针对每个任务分配策略,基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能。
在一实施例中,所述处理器1202,还用于执行以下操作:
通过特征提取网络提取所述计算图的特征,得到第一特征集;并通过所述特征提取网络提取每个资源子图的特征,得到多个第二特征集。
在一实施例中,所述处理器1202,还用于执行以下操作:
基于所述第一特征集和相应的第二特征集,通过预测网络获得相应任务分配策略对应的预测数据;基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能。
在一实施例中,所述处理器1202,还用于执行以下操作:
根据预设权重,对相应任务分配策略对应的预测数据进行加权处理,以确定相应任务分配策略的预测性能。
在一实施例中,所述处理器1202,还用于执行以下操作:
在进行任务分配后,获取所述待处理任务基于所述性能最佳的任务分配策略被执行时的实际性能;并将所述性能最佳的任务分配策略及获取的实际性能存储至所述训练数据集。
相应地,在所述第二功能组件设置在所述电子设备1200上的情况下,所述处理器1202用于执行以下操作:
获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
对生成的计算图进行优化,得到优化后的计算图;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力。
其中,在一实施例中,所述处理器1202,还用于执行以下操作:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述处理器1202,还用于执行以下操作:
采用第一策略对所述待处理任务进行分解,得到至少一个算子。
在一实施例中,所述处理器1202,还用于执行以下操作:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
在一实施例中,所述处理器1202,还用于执行以下操作中的至少之一:
算子融合;
常量合并;
静态内存规划传递;
数据布局转换。
需要说明的是:所述处理器1202具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,电子设备1200中的各个组件通过总线***1204耦合在一起。可理解,总线***1204用于实现这些组件之间的连接通信。总线***1204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线***1204。
本申请实施例中的存储器1203用于存储各种类型的数据以支持电子设备1200的操作。这些数据的示例包括:用于在电子设备1200上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于处理器1202中,或者由处理器1202实现。处理器1202可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1202可以是通用处理器、DSP、GPU,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1202可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1203,处理器1202读取存储器1203中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备1200可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、GPU、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、各类AI芯片、类脑芯片、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器1203可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、FRAM、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous StaticRandom Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous DynamicRandom Access Memory)、增强型同步动态随机存取存储器(ESDRAM,EnhancedSynchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
为了实现本申请实施例提供的方法,本申请实施例还提供了一种信息处理***,包括:
第一功能组件,用于通过将物联网设备的能力进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力;
第二功能组件,用于获取待处理任务,并生成待处理任务对应的计算图;
第三功能组件,用于基于所述资源图和所述计算图,进行任务分配;
其中,所述第一功能组件、所述第二功能组件和所述第三功能组件设置在至少两个电子设备上。
示例性地,如图13所示,该***可以包括:第一电子设备1301和第二电子设备1302;所述第一电子设备1301设置有所述第二功能组件;所述第二电子设备1302设置有所述第一功能组件和所述第三功能组件。
这里,需要说明的是:所述第一功能组件、所述第二功能组件和所述第三功能组件的具体处理过程已在上文详述,这里不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器1203,上述计算机程序可由电子设备1200的处理器1202执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (24)
1.一种信息处理方法,其特征在于,包括:
第一功能组件通过将物联网设备的能力和/或资源进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力和/或资源;
第二功能组件获取待处理任务,并生成待处理任务对应的计算图;所述计算图的节点代表所述待处理任务的一个算子;
第三功能组件基于所述资源图和所述计算图,进行任务分配;其中,
所述生成待处理任务对应的计算图,包括:
所述第二功能组件将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图;
所述方法还包括:
所述第二功能组件对生成的计算图进行优化,所述优化至少包括算子融合;
所述第三功能组件基于所述资源图和优化后的计算图,进行任务分配。
2.根据权利要求1所述的方法,其特征在于,所述将所述待处理任务分解为至少一个算子,包括:
所述第二功能组件采用第一策略对所述待处理任务进行分解,得到至少一个算子。
3.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,包括:
所述第二功能组件将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
4.根据权利要求1所述的方法,其特征在于,所述计算图的边代表相邻两个节点之间的关系。
5.根据权利要求1所述的方法,其特征在于,所述通过将物联网设备的能力和/或资源进行抽象,生成资源图,包括:
第一功能组件发现网络中的物联网设备;检测物联网设备的能力和/或资源;针对每个物联网设备,基于相应物联网设备的能力和/或资源,将物联网设备抽象成相应的节点;
基于抽象出的节点,生成资源图。
6.根据权利要求1所述的方法,其特征在于,所述资源图的节点代表一个物联网设备的至少部分能力和/或资源;所述资源图的边代表相邻两个节点之间的关系。
7.根据权利要求1所述的方法,其特征在于,所述基于所述资源图和所述计算图,进行任务分配,包括:
所述第三功能组件基于所述资源图和所述计算图,采用第二策略生成至少一种任务分配策略;从所述至少一种任务分配策略中确定性能最佳的任务分配策略;并基于所述性能最佳的任务分配策略,进行任务分配;所述任务分配策略用于将所述待处理任务分配到至少一个物联网设备上。
8.根据权利要求7所述的方法,其特征在于,所述采用第二策略生成至少一种任务分配策略,包括:
所述第三功能组件基于所述计算图和资源图,采用第二策略,生成至少一个资源子图;一个资源子图包含或表示一种任务分配策略;所述资源子图的节点代表一个物联网设备的至少部分能力和/或资源;所述资源子图的边代表相邻两个节点之间的关系。
9.根据权利要求7所述的方法,其特征在于,所述从所述至少一种任务分配策略中确定性能最佳的任务分配策略,包括:
所述第三功能组件预测每个任务分配策略的性能;基于预测的每个任务分配策略的性能,确定性能最佳的任务分配策略。
10.根据权利要求9所述的方法,其特征在于,所述预测每个任务分配策略的性能,包括:
所述第三功能组件提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集;一个资源子图包含或表示一种任务分配策略;
针对每个任务分配策略,基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能。
11.根据权利要求10所述的方法,其特征在于,所述提取所述计算图的特征,得到第一特征集;并提取每个资源子图的特征,得到多个第二特征集,包括:
所述第三功能组件通过特征提取网络提取所述计算图的特征,得到第一特征集;并通过所述特征提取网络提取每个资源子图的特征,得到多个第二特征集。
12.根据权利要求10所述的方法,其特征在于,所述基于所述第一特征集和相应的第二特征集,预测相应任务分配策略的性能,包括:
所述第三功能组件基于所述第一特征集和相应的第二特征集,通过预测网络获得相应任务分配策略对应的预测数据;基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能。
13.根据权利要求12所述的方法,其特征在于,所述基于相应任务分配策略对应的预测数据确定相应任务分配策略的预测性能,包括:
所述第三功能组件根据预设权重,对相应任务分配策略对应的预测数据进行加权处理,以确定相应任务分配策略的预测性能。
14.根据权利要求11所述的方法,其特征在于,所述特征提取网络是基于训练数据集训练得到的;所述训练过程能够产生优化的网络参数;所述优化的网络参数用于提取到有利于提升性能预测准确率的特征。
15.根据权利要求12所述的方法,其特征在于,所述预测网络是基于训练数据集训练得到的;所述训练过程能够产生优化的网络参数;所述优化的网络参数用于提升性能预测的准确率。
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
所述第三功能组件在进行任务分配后,获取所述待处理任务基于所述性能最佳的任务分配策略被执行时的实际性能;并将所述性能最佳的任务分配策略及获取的实际性能存储至所述训练数据集。
17.一种信息处理方法,其特征在于,包括:
获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
对生成的计算图进行优化,得到优化后的计算图;所述优化至少包括算子融合;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力和/或资源进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力和/或资源;其中,
所述生成待处理任务对应的计算图,包括:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
18.根据权利要求17所述的方法,其特征在于,所述将所述待处理任务分解为至少一个算子,包括:
采用第一策略对所述待处理任务进行分解,得到至少一个算子。
19.根据权利要求17所述的方法,其特征在于,所述基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图,包括:
将所述至少一个算子中的每个算子抽象成相应的节点;并基于算子之间的关系确定节点之间的关系;
基于确定的节点及节点之间的关系,生成待处理任务对应的计算图。
20.一种信息处理装置,其特征在于,包括:
第一功能组件,用于通过将物联网设备的能力和/或资源进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力和/或资源;
第二功能组件,用于获取待处理任务,并生成待处理任务对应的计算图;所述计算图的节点代表所述待处理任务的一个算子;
第三功能组件,用于基于所述资源图和所述计算图,进行任务分配;其中,
所述第二功能组件,具体用于:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图;
所述第二功能组件,还用于对生成的计算图进行优化,所述优化至少包括算子融合;
所述第三功能组件,还用于基于所述资源图和优化后的计算图,进行任务分配。
21.一种信息处理装置,其特征在于,包括:
第一处理单元,用于获取待处理任务;并生成待处理任务对应的计算图;所述待处理任务包含计算任务;所述计算图的节点代表所述待处理任务的一个算子;所述计算图的边代表相邻两个节点之间的关系;
第二处理单元,用于对生成的计算图进行优化,得到优化后的计算图;所述优化至少包括算子融合;所述优化后的计算图用于结合资源图进行任务分配;所述资源图是通过将物联网设备的能力和/或资源进行抽象生成的;所述资源图用于管理和/或编排异构物联网设备上的可用能力和/或资源;其中,
所述第一处理单元,具体用于:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图。
22.一种信息处理***,其特征在于,包括:
第一功能组件,用于通过将物联网设备的能力和/或资源进行抽象,生成资源图;所述资源图用于管理和/或编排异构物联网设备上的可用能力和/或资源;
第二功能组件,用于获取待处理任务,并生成待处理任务对应的计算图;所述计算图的节点代表所述待处理任务的一个算子;
第三功能组件,用于基于所述资源图和所述计算图,进行任务分配;其中,
所述第一功能组件、所述第二功能组件和所述第三功能组件设置在至少两个电子设备上;
所述第二功能组件,具体用于:
将所述待处理任务分解为至少一个算子;并确定算子之间的关系;
基于所述至少一个算子及算子之间的关系,生成待处理任务对应的计算图;
所述第二功能组件,还用于对生成的计算图进行优化,所述优化至少包括算子融合;
所述第三功能组件,还用于基于所述资源图和优化后的计算图,进行任务分配。
23.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至16任一项所述方法的步骤,或者执行权利要求17至19任一项所述方法的步骤。
24.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16任一项所述方法的步骤,或者实现权利要求17至19任一项所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184807.5A CN114915629B (zh) | 2021-02-10 | 2021-02-10 | 信息处理方法、装置、***、电子设备及存储介质 |
EP22752243.0A EP4293965A1 (en) | 2021-02-10 | 2022-02-08 | Information processing method, apparatus, system, electronic device and storage medium |
JP2023548276A JP2024507133A (ja) | 2021-02-10 | 2022-02-08 | 情報処理方法、装置、システム、電子機器及び記憶媒体 |
PCT/CN2022/075516 WO2022171082A1 (zh) | 2021-02-10 | 2022-02-08 | 信息处理方法、装置、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110184807.5A CN114915629B (zh) | 2021-02-10 | 2021-02-10 | 信息处理方法、装置、***、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114915629A CN114915629A (zh) | 2022-08-16 |
CN114915629B true CN114915629B (zh) | 2023-08-15 |
Family
ID=82761151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110184807.5A Active CN114915629B (zh) | 2021-02-10 | 2021-02-10 | 信息处理方法、装置、***、电子设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4293965A1 (zh) |
JP (1) | JP2024507133A (zh) |
CN (1) | CN114915629B (zh) |
WO (1) | WO2022171082A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117950815A (zh) * | 2022-10-21 | 2024-04-30 | 华为技术有限公司 | 执行任务的方法和异构服务器 |
CN115421930B (zh) * | 2022-11-07 | 2023-03-24 | 山东海量信息技术研究院 | 任务处理方法、***、装置、设备及计算机可读存储介质 |
CN116049908B (zh) * | 2023-04-03 | 2023-06-06 | 北京数力聚科技有限公司 | 一种基于区块链的多方隐私计算方法及*** |
CN116208970B (zh) * | 2023-04-18 | 2023-07-14 | 山东科技大学 | 一种基于知识图谱感知的空地协作卸载和内容获取方法 |
CN116361120B (zh) * | 2023-05-31 | 2023-08-15 | 山东浪潮科学研究院有限公司 | 一种数据库异构资源管理与调度方法、装置、设备及介质 |
CN116700934B (zh) * | 2023-08-04 | 2023-11-07 | 浪潮电子信息产业股份有限公司 | 一种多元异构算力设备调度方法、装置、设备及存储介质 |
CN117255126B (zh) * | 2023-08-16 | 2024-07-23 | 广东工业大学 | 基于多目标强化学习的数据密集任务边缘服务组合方法 |
CN117349026B (zh) * | 2023-12-04 | 2024-02-23 | 环球数科集团有限公司 | 一种用于aigc模型训练的分布式算力调度*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN111290852A (zh) * | 2018-12-06 | 2020-06-16 | 富士通株式会社 | 调度任务图操作的方法、***以及计算机可读介质 |
WO2020125454A1 (zh) * | 2018-12-18 | 2020-06-25 | 电信科学技术研究院有限公司 | 一种信息处理方法、***及装置 |
CN112187859A (zh) * | 2020-08-24 | 2021-01-05 | 国网浙江省电力有限公司信息通信分公司 | 物联网业务与边缘网络能力动态映射的方法及电子设备 |
CN112272227A (zh) * | 2020-10-22 | 2021-01-26 | 华侨大学 | 一种基于计算图的边缘计算任务调度方法 |
CN112328378A (zh) * | 2020-11-05 | 2021-02-05 | 南京星环智能科技有限公司 | 任务调度方法、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812342B2 (en) * | 2010-06-15 | 2014-08-19 | International Business Machines Corporation | Managing and monitoring continuous improvement in detection of compliance violations |
CN107291538B (zh) * | 2017-06-14 | 2020-08-21 | 中国人民解放军信息工程大学 | 面向任务的拟态云构建方法及基于拟态云的任务调度方法、装置、*** |
CN108243246A (zh) * | 2017-12-25 | 2018-07-03 | 北京市天元网络技术股份有限公司 | 一种边缘计算资源调度方法、边缘设备及*** |
-
2021
- 2021-02-10 CN CN202110184807.5A patent/CN114915629B/zh active Active
-
2022
- 2022-02-08 JP JP2023548276A patent/JP2024507133A/ja active Pending
- 2022-02-08 WO PCT/CN2022/075516 patent/WO2022171082A1/zh active Application Filing
- 2022-02-08 EP EP22752243.0A patent/EP4293965A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290852A (zh) * | 2018-12-06 | 2020-06-16 | 富士通株式会社 | 调度任务图操作的方法、***以及计算机可读介质 |
WO2020125454A1 (zh) * | 2018-12-18 | 2020-06-25 | 电信科学技术研究院有限公司 | 一种信息处理方法、***及装置 |
CN110750342A (zh) * | 2019-05-23 | 2020-02-04 | 北京嘀嘀无限科技发展有限公司 | 调度方法、装置、电子设备及可读存储介质 |
CN112187859A (zh) * | 2020-08-24 | 2021-01-05 | 国网浙江省电力有限公司信息通信分公司 | 物联网业务与边缘网络能力动态映射的方法及电子设备 |
CN112272227A (zh) * | 2020-10-22 | 2021-01-26 | 华侨大学 | 一种基于计算图的边缘计算任务调度方法 |
CN112328378A (zh) * | 2020-11-05 | 2021-02-05 | 南京星环智能科技有限公司 | 任务调度方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022171082A1 (zh) | 2022-08-18 |
EP4293965A1 (en) | 2023-12-20 |
CN114915629A (zh) | 2022-08-16 |
JP2024507133A (ja) | 2024-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114915629B (zh) | 信息处理方法、装置、***、电子设备及存储介质 | |
Zhou et al. | Edge intelligence: Paving the last mile of artificial intelligence with edge computing | |
Tran-Dang et al. | Reinforcement learning based resource management for fog computing environment: Literature review, challenges, and open issues | |
WO2022171066A1 (zh) | 基于物联网设备的任务分配方法、网络训练方法及装置 | |
Mirmohseni et al. | Using Markov learning utilization model for resource allocation in cloud of thing network | |
Guim et al. | Autonomous lifecycle management for resource-efficient workload orchestration for green edge computing | |
Kanungo | Edge-to-Cloud Intelligence: Enhancing IoT Devices with Machine Learning and Cloud Computing | |
Qin et al. | Industrial Internet of Learning (IIoL): IIoT based pervasive knowledge network for LPWAN—concept, framework and case studies | |
De Rango et al. | HED-FL: A hierarchical, energy efficient, and dynamic approach for edge Federated Learning | |
Alqarni et al. | A survey of computational offloading in cloud/edge-based architectures: strategies, optimization models and challenges | |
Xiang et al. | Energy-effective artificial internet-of-things application deployment in edge-cloud systems | |
Yu et al. | Efficient computation offloading in edge computing enabled smart home | |
Zare et al. | Imperialist competitive based approach for efficient deployment of IoT services in fog computing | |
Zhou et al. | Semantic-based discovery method for high-performance computing resources in cyber-physical systems | |
US11782689B1 (en) | System, method, and choreographic framework for the design, development, deployment, and management of distributed software and computing systems | |
Filinis et al. | Intent-driven orchestration of serverless applications in the computing continuum | |
Wang et al. | A resource allocation strategy for edge services based on intelligent prediction | |
Qiao et al. | Making big data intelligent storable at the edge: Storage resource intelligent orchestration | |
Doriya | Development of a cloud-based RTAB-map service for robots | |
Arif et al. | A model-driven framework for optimum application placement in fog computing using a machine learning based approach | |
He et al. | An energy-efficient VNE algorithm based on bidirectional long short-term memory | |
Liu et al. | Towards Multi-Task Generative-AI Edge Services with an Attention-based Diffusion DRL Approach | |
Wang et al. | Edge-computing-assisted intelligent processing of AI-generated image content | |
Rafea et al. | AI Workload Allocation Methods for Edge-Cloud Computing: A Review | |
Cheng et al. | Towards computation offloading in edge computing: A survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |