CN116997889A - 分布式人工智能结构控制器 - Google Patents
分布式人工智能结构控制器 Download PDFInfo
- Publication number
- CN116997889A CN116997889A CN202180088270.0A CN202180088270A CN116997889A CN 116997889 A CN116997889 A CN 116997889A CN 202180088270 A CN202180088270 A CN 202180088270A CN 116997889 A CN116997889 A CN 116997889A
- Authority
- CN
- China
- Prior art keywords
- candidate
- candidate solutions
- cloud
- solutions
- application
- 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.)
- Pending
Links
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 168
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000013515 script Methods 0.000 claims abstract description 22
- 238000001914 filtration Methods 0.000 claims abstract description 7
- 238000010801 machine learning Methods 0.000 claims description 26
- 238000013439 planning Methods 0.000 claims description 20
- 239000004744 fabric Substances 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 description 40
- 238000003860 storage Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 240000007509 Phytolacca dioica Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 102100032467 Transmembrane protease serine 13 Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000765 microspectrophotometry Methods 0.000 description 1
- 235000019799 monosodium phosphate Nutrition 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Variable-Direction Aerials And Aerial Arrays (AREA)
- Devices For Executing Special Programs (AREA)
- Selective Calling Equipment (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
通常,本公开描述了用于利用分布式人工智能(AI)结构控制器配置和供应AI结构中的网络资源以供AI应用使用的技术。在一个示例中,AI结构控制器被配置为发现通信地耦合到云交换的可用资源;获取一组候选解决方案,一组候选解决方案中的每个候选解决方案包括AI应用和供AI应用使用的资源配置;基于与候选解决方案中的每一个对应的一个或多个执行度量来过滤一组候选解决方案,以生成经过滤的一组候选解决方案;生成针对经过滤的一组候选解决方案的供应脚本;执行供应脚本以针对经过滤的一组候选解决方案中的每个候选解决方案供应资源;以及创建针对所述经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
Description
相关申请
本申请要求于2020年12月29日提交的美国临时专利申请号63/131,695的权益,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络,更具体地,涉及控制计算机网络中的人工智能结构。
背景技术
云计算是指使用可经由网络(如互联网)接入的动态可扩展计算资源。计算资源,通常被称为“云”,可以用于数据存储和向用户提供服务。这些服务可以根据服务类型进行分类,服务类型可以包括例如应用/软件、平台、基础设施、虚拟化以及服务器和数据存储。服务类型的名称通常以“即服务”为前缀,例如,使得应用/软件和基础设施的交付可以分别称为软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。
术语“基于云的服务”,或者更简单地说,”云服务”不仅指由云提供的服务,还指一种服务提供形式,在这种形式中,云客户与云服务提供商签订合同,以在线交付云所提供的服务。云服务提供商管理公共、私有或混合云,以促进向一个或多个云客户在线交付云服务。
人工智能(AI)服务现在正经由云架构提供。例如,训练数据可以从云存储系统提供,并用于训练机器学习模型。此外,可以从云存储系统提供部分或完全训练的机器学习模型。此外,训练算法可以由基于云的服务提供商存储和执行。
发明内容
总体上,本公开描述了用于利用分布式AI结构控制器配置和供应AI结构中的网络资源以供AI应用使用的技术。目前,许多AI应用都集中在AI模型训练中,并且推理发生在同一个位置。然而,为了提高响应时间,可能需要将训练和推理移到更靠近生成数据的边缘。因此,由于性能、成本和隐私的原因,AI应用正在从集中式模型转向分布式模型,在分布式模型中,训练和推理操作正在向设备边缘靠拢。然而,可能还有许多其他因素会影响训练和推理操作的发生地点。例如,AI应用中使用的数据集可能分布在云、私人数据中心和可能位于多个地理位置的数据代理中。此外,不同的云和供应商可以为AI硬件提供各种选择。此外,这些资源的利用率和性能可能会随着时间的推移而变化。AI应用管理员可能需要通过共同考虑模型准确性、隐私和基础设施成本和性能来选择是使用集中式(数据移动到计算资源)还是联合式(计算资源移动到数据)AI训练方法。鉴于上述情况,在试图优化AI应用性能时,可能需要考虑大量网络资源、计算资源和AI应用位置的可能组合。
AI结构控制器可以发现可用的网络和计算资源,使用可用资源的各种组合分析AI应用性能,并确定资源和AI应用位置的适当组合,以优化AI应用的性能。AI结构控制器还可以监控可用的和新发现的资源,并更新AI应用的布局和资源使用情况,如果这样的更新可以提高AI应用性能,或以较低的成本提供足够的AI应用表现。
上面描述的各方面以及本文中描述的另外的方面可以提供呈现至少一个实际应用的一个或多个技术优点。例如,AI结构控制器可以使用本文所述的技术来提供关于最佳站点的建议,以用于在互连站点的网络结构上执行分布式AI训练和推理工作负载,并且可以通知任何所需底层基础设施资源的供应。作为另一个示例,AI结构控制器可以使用本文所述的技术来并发尝试不同的AI模型训练配置,以确定哪种配置提供了性能、模型准确度、成本和隐私的期望组合。AI结构控制器可以确定在哪里通过网络结构提供AI训练和推理工作负载,该网络结构将公共云和城域边缘上的数据源、多个AI训练位置以及多个AI推理位置互连。此外,本文描述的技术可以从各种AI解决方案提供商向AI PaaS层提供AI结构控制层接口,从而使解决方案提供商能够轻松部署分布式AI解决方案。
在一个示例中,本公开描述了一种计算设备,该计算设备包括耦合到存储器的处理电路;人工智能(AI)结构控制器,该AI结构控制器被配置为由所述处理电路执行,其中,所述AI结构控制器包括:监控服务,所述监控服务被配置为发现通信地耦合到云交换的可用资源并监控该可用资源;分析服务,该分析服务被配置为:获取一组候选解决方案,一组候选解决方案中的每个候选解决方案包括AI应用和供AI应用使用的资源配置,其中资源配置针对候选解决方案中的每个候选解决方案不同,并且其中候选解决方案中的每个候选解决方案与对应的执行度量相关联,并且基于对应的执行度量中的一个或多个对应的执行度量来过滤一组候选解决方案以生成经过滤的一组候选解决方案;规划服务,规划服务被配置为生成针对经过滤的一组候选解决方案的供应脚本;以及执行服务,执行服务被配置为执行供应脚本以针对经过滤的一组候选解决方案中的每个候选解决方案供应资源,并创建针对经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
在另一个示例中,本公开描述了一种方法,该方法包括由一个或多个处理器发现通信地被耦合到云交换的可用资源;通过一个或多个处理器获取一组候选解决方案,一组候选解决方案中的每个候选解决方案包括AI应用和供AI应用使用的资源配置,其中资源配置针对每个候选解决方案不同,并且其中候选解决方案中的每个候选解决方案与对应的执行度量相关联,并且由一个或多个处理器基于对应的执行度量中的一个或多个对应的执行度量来过滤一组候选解决方案,以生成经过滤的一组候选解决方案;由一个或多个处理器生成针对经过滤的一组候选解决方案的供应脚本;由一个或多个处理器执行供应脚本以针对经过滤的一组候选解决方案中的每个候选解决方案供应资源;以及创建针对经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
在另一个示例中,本公开描述了一种包括指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器:发现通信地被耦合到云交换的可用资源;获取一组候选解决方案,一组候选解决方案中的每个候选解决方案包括AI应用和供所述AI应用使用的资源配置,其中资源配置针对每个候选解决方案不同,并且其中候选解决方案中的每个候选解决方案与对应的执行度量相关联,并且基于对应的执行度量中的一个或多个对应的执行度量来过滤一组候选解决方案,以生成经过滤的一组候选解决方案;生成针对经过滤的一组候选解决方案的供应脚本;执行供应脚本以针对经过滤的一组候选解决方案中的每个候选解决方案供应资源;并且创建针对经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
在附图和以下描述中阐述了一个或多个示例的细节。根据说明书和附图以及权利要求,其他特征、目的和优点可以是显而易见的。
附图说明
图1是图示出根据本文所述技术的分布在各种边缘系统上并由人工智能结构控制器控制的人工智能系统的概念图的框图。
图2是图示出根据本文所述技术的由人工智能结构控制器控制的示例分布式AI系统的框图。
图3是图示出根据本文所述技术的分布式AI控制器功能堆栈的概念图的框图。
图4是图示出用于分析监视数据的示例分布式AI应用和控制器架构的概念图的框图。
图5是图示出根据本文所述的技术的用于生成供应计划的方法的操作的流程图。
图6是图示出根据本文所述的技术的联合学习的示例的概念图的框图。
图7是图示出根据本文所述技术的分布式AI结构控制器中的服务架构的框图。
图8是图示出根据本文所述技术的具有提供多个云交换点的基于城域网的云交换的网络系统的概念图的框图。
图9是图示出根据本文所述技术的提供分布式AI结构控制器的操作环境的示例数据中心的框图。
图10是图示出根据本公开的一个或多个技术操作的计算设备的一个示例的进一步细节的框图。
在整个附图和文本中,相同的附图标号表示相同的元件。
具体实施方式
图1是图示出根据本文所述技术的分布在各种边缘系统上并由人工智能结构控制器102控制的人工智能系统100的概念图的框图。在图1所示的示例中,系统100的各种部件被示为云边缘、城域边缘、微边缘或设备边缘的一部分。
云边缘可以是云服务提供商110驻留的地方,并且提供云服务提供商110和相关联的云客户端之间的边界。由各种云服务提供商110提供的云服务的示例包括谷歌云(GoogleCloud)、Azure、Oracle云、亚马逊网络服务(AWS)、IBM云、阿里云和Salesforce。
城域边缘(也称为区域混合核心)可以包括云交换104A和104B(统称为“云交换104”)。云交换104可以提供网络和计算基础设施,以提供网络参与者在主要人口中心附近交换业务的方式。云交换104可以为其客户提供对多个不同云架构的接入。城域边缘的组件通常可以在数据中心中找到。
微边缘(也称为“模块化边缘”)可以是微数据中心(MDC)116(也称为模块化边缘数据中心(MEDC))所在的位置。MDC 116可以是非常小的、通常没有人员的设施,其允许高度本地化地布置网络和计算基础设施。MDC 116通常可以提供小的、灵活的占地面积、互连和交换,以及支持应用的能力,这些应用可以从对数据或动作的请求发生时以及数据被提供或动作被执行时的相对较短的往返时间(RTT)中受益。
设备边缘是设备106可以为AI应用提供源数据的地方。设备106可以包括相机、音频设备、传感器、智能电话、无人机设备、机器人设备等。AI应用可以是被配置为从设备边缘中的设备106接收源数据并训练诸如神经网络的机器学习模型的训练应用。AI应用可以是推理应用。例如,可以部署经训练的机器学习模型以供AI推理应用的推理引擎使用,从而从来自设备边缘中的设备106的源数据进行推理。例如,这样的应用可以由设备106执行。
AI应用可能对网络RTT敏感。例如,执行推理的AI应用可能需要相对较低的RTT,以便提供快速响应时间。在这种情况下,将AI应用定位在微边缘(通常为3-5ms RTT)或城域边缘(通常5-10ms RTT)可能是合乎情理的,因为该RTT通常小于当数据或算法处于云边缘中(通常为40-60ms RTT)时的RTT。AI训练应用可能对RTT不太敏感,并且可能位于城域边缘或云边缘处。
AI结构控制器102可以在云交换104、云服务提供商110(公共云)和微数据中心116之间动态地提供网络和计算资源。在一些方面,AI结构控制器102可以监控网络和计算资源利用率和性能,以自动提供和配置网络和计算资源,并基于客户要求和客户使用的AI应用的性质(即,训练与推理)来编排在何处提供AI训练和推理工作负载。
在图1所示的示例中,人工智能系统100被示为分布在云边缘、城域边缘、微边缘和/或设备边缘上。然而,人工智能系统100可以以不同于图1所示的方式分布,并且本文描述的技术可以容易地应用于不同的组织和类型的边缘系统。此外,人工智能系统100中的边缘系统的数目可以与图1的示例中所示的不同。
图2是图示出根据本文所述技术的由AI结构控制器102控制的示例分布式AI系统200的框图。除了AI结构控制器102之外,AI系统200还可以包括AI应用220、云交换结构201、公共网络212、虚拟机(VM)208以及云服务提供商210A和210B(统称为“云服务提供商210”)。公共网络212可以是在很少或没有限制的情况下公开可用的网络。例如,公共网络212可以是作为互联网的一部分的网络。
云交换结构201可以包括每个位于不同位置的云交换204A、204B和204C(统称为“云交换204”)。在图2所示的示例中,云交换204A、204B和204C分别位于城市A、城市B和城市C中。云交换204可以提供到公共云系统或私有云系统的连接性。在某些方面,云交换结构201可以是加利福尼亚州雷德伍德(Redwood,California)的Equinix股份有限公司提供的Equini云交换结构。
AI应用系统220可以托管AI应用222。AI应用222可以是AI训练应用或AI推理应用。AI应用222可以从云服务提供商210接收用于训练机器学习模型的数据集。AI应用还可以接收来自数据代理、私有云和边缘处IoT设备的数据集。例如,在AI应用222是训练应用的情况下,AI应用222可以从云服务提供商210A接收一个或多个数据集,并且从云服务提供商210B接收一个或多个不同的数据集。云服务提供商210A和210B中的任一个或两者经由公共或私有云系统提供服务。此外,AI应用222可以使用经由公共网络212、云交换结构201和云服务提供商210提供的网络和计算资源。云服务提供商210还可以提供由AI应用222使用以训练机器学习模型的机器学习算法。此外,在AI应用是推理应用的情况下,云服务提供商210可以提供机器学习模型,AI应用可以使用该模型基于输入数据进行推理。AI应用222可以利用由虚拟机(VM)208提供的计算资源来训练或进行推理。VM 208中的每一个都模拟硬件。换句话说,VM 208中的每一个提供虚拟化操作系统和应用套件,以支持训练机器学习模型或基于机器学习模型进行推理。
AI结构控制器102可以分析在云交换结构201内提供的可用资源、可从云服务提供商210获取的资源以及VM 208资源,并确定可用资源中的哪一个应该由AI应用222使用。该确定可以基于资源成本和/或资源性能来进行。
图3是图示出根据本文所述技术的分布式AI控制器功能堆栈300的概念图的框图。在一些方面,AI控制器功能堆栈300包括AI应用层302、AI平台即服务(PaaS)层304、分布式AI结构控制器层306和分布式基础设施层308。在一些方面,每个层可以利用应用编程接口(API)在相邻层之间进行通信。
AI应用层302包括用于AI应用的AI应用代码和数据。例如,AI应用层302可以在不同的位置执行训练和/或推理算法。
AI平台即服务(PaaS)层304执行AI工作流编排。例如,AI PaaS层304可以跨多个位置部署训练和推理工作流。在一些方面,工作流可以作为容器(例如,诸如由开源DockerContainer应用提供的那些容器)被植入。在一些方面,可以使用Kubeflow植入工作流的编排。关于Kubeflow的信息可在统一资源定位符(URL)“www.kubeflow.org/docs/”上获取,该URL通过引用并入本文。
分布式AI结构控制器层306与使用本文所描述的技术来动态监控资源利用率和AI模型准确度要求并确定在哪里提供或移动AI训练和推理工作流的分布式AI结构控制器接口。
分布式基础设施层308与可以跨越多个云和数据中心的网络、数据和计算资源接口。这样的资源可以包括裸机服务器或虚拟化计算基础设施,其可以用于在数据中心内进行分配。
图4是图示出用于分析监视数据的示例分布式AI应用和控制器架构400的概念图的框图。在一些方面,架构400包括互联网协议(IP)相机402、视频服务器403、云交换结构404、推理系统406、训练系统420、分布式基础设施控制器414、服务门户416和客户应用418。在图4所示的示例中,IP相机402向视频服务器403提供视频数据,视频服务器403可通信地耦合到云交换结构404的云交换405。视频数据可以经由云交换结构404被传送到推理系统406和/或训练系统420。AI结构控制器102可以根据与训练系统420和推理系统406相关联的约束(容量、可用性、成本、性能、隐私等)来确定最佳资源分配。
训练系统420和推理系统406包括与分布式AI控制器功能堆栈300(图3)相对应的层。例如,训练系统420包括对应于AI应用层302的AI应用训练层422、对应于AI PaaS层304的AI编排层410B以及对应于分布式基础设施层308的公共云基础设施层424。公共云基础设施层424可以与公共云系统接口以存储经由视频服务器403从IP相机402接收到的视频数据,并且使用所存储的数据来训练可由推理系统406用于提供自动化监视能力的机器学习模型。
推理系统406包括对应于AI应用层302的AI应用推理层408、对应于AI PaaS层304的AI编排层410A以及对应于分布式基础设施层308的裸机基础设施层412。裸机基础设施层412可以与裸机服务器进行接口,该裸机服务器使用机器学习模型基于经由视频服务器403从IP相机402接收到的视频数据来检测监视问题。推理系统406可以使用裸机服务器,以便实现较低的响应时间,如果机器学习模型由基于云的处理资源使用,则会出现这种情况。虽然被示出和描述为裸机基础设施,但是分布式基础设施层308可以使用虚拟化计算基础设施(诸如基于容器或基于虚拟机的计算基础设施)在城域边缘推理站点中实现。
分布式基础设施控制器414可以提供底层计算、存储和联网基础设施资源。服务门户416可以是基础设施供应门户(即,可以是AI或基础设施供应PaaS层)。在一些方面,客户应用418可以是诸如联合分析框架(例如,KubeFATE)和AIOps框架(例如,Kubeflow)之类的中间件应用。
图5是图示出根据本文所述的技术的用于生成供应计划的方法的操作的流程图。AI结构控制器可以接收数据位置510、应用意图数据512、基础设施能力514和策略516中的一个或多个。数据位置510可以指定供AI应用使用的一个或多个源数据位置。数据位置的示例包括云位置、边缘位置、私有数据中心或数据代理位置。应用意图数据512可以限定AI应用所使用或请求的各种资源的参数。此类参数的示例包括网络带宽、网络延迟上限、网络数据包丢弃百分比和网络可用性百分比。用于计算和/或存储资源的应用意图数据512的示例可以包括处理器内核的数目、图形处理器单元(GPU)的数目、带宽百分比、内存量、存储设备的类型和存储容量。基础设施能力514可以是描述当前可用的网络、计算和经由云交换结构可用的数据资源的数据。所述数据可以包括性能数据、可用性数据、容量数据、安全数据等。策略516可以是描述客户或资源所有者的规则和对资源使用的约束的策略。AI结构控制器可以基于接收到的数据来过滤候选解决方案(例如,候选资源分配和配置)(502)。
AI结构控制器可以对经过滤的候选解决方案进行排序(504)。例如,AI结构控制器可以根据资源成本、符合商业政策、符合适用法律或法规(例如,隐私法)、供应商对资源使用的约束等的各种组合来排序经过滤的候选解决方案。在一些方面,排序可以基于因素的加权组合。
AI结构控制器可以基于排序选择候选解决方案,并生成实现该解决方案的脚本(506)。例如,AI结构控制器可以生成供应脚本和规划脚本518,当针对候选解决方案中标识的资源执行这些供应和规划脚本时,在分布式基础设施内实现所选择的解决方案。供应和规划脚本可以利用现有的虚拟资源(例如,虚拟提供边缘(Virtual Provide Edges))物理资源(例如,裸机服务器)和云提供商API。在一些方面,由于执行脚本和脚本所使用的API可能需要花费时间,所以供应和规划脚本可以以批处理模式执行。
在一些方面,操作502和504独立于供应商和云。也就是说,操作不一定与任何特定的供应商或云API、数据格式、协议等绑定。在一些方面,生成供应和规划脚本可以是供应商特定的,以考虑供应商特定的配置参数、例程、API等。
图6是图示出根据本文所描述的技术的联合学习的示例的概念图的框图。联合学习是一种通过组合多个机器学习模型来开发单个机器学习模型的技术,这些模型是使用分散的城域边缘位置上的本地数据进行训练的。在图6所示的示例中,主系统602可以将初始机器学习模型和/或机器学习算法发送到一组工作者系统604A-604N(统称为“工作者系统604”)。工作者系统604使用本地数据训练其版本的机器学习模型,并且与主系统602共享其本地训练的机器学习模型。主系统602聚合从工作者系统604A-604N中的每一个接收到的机器学习模型,以建立可以被称为“全局模型”的单个模型。
如上所述,AI结构控制器可以使用应用位置、数据位置和操作参数的各种组合来运行AI应用,以确定每个组合的性能特征。下面的表1表示出了示例输出,其示出了各种组合资源位置和操作参数的测量的机器学习模型性能。在该示例中,输出可用于确定集中式还是分布式(例如,联合)训练架构是合乎需要的。表中的每一行都示出了用于候选解决方案的位置和配置参数。
表1
表1中的列(释义)如下:
差别隐私:即使使用模型共享,原始数据也可能因回溯模型而受到损害。为了解决这个问题,可以使用隐私模式,该隐私模式允许工作者系统只向主机发送一定数目的模型权重。
主系统:主流程的位置(仅在分布式训练中)。
工作者1:分布式训练中第一个工作者流程的位置。
工作者1:分布式训练中第二个工作者流程的位置。
往返:主系统将模型发送给客户端,每个客户端使用本地数据训练模型并将其发送给主系统。主系统聚合所有模型以生成单个全局模型。整个过程被定义为一个往返。
骰子得分:用于评估所得的机器学习模型的性能的度量(数字越大表示准确度越高)。
Epoch:通过训练数据进行一次完整的迭代。
从表1中可以看出,集中式训练模式产生了最准确的机器学习模型(正如预期的那样)。然而,利用阿什本中的主节点和洛杉矶中的工作者节点的分布式训练模式可以产生可接受的结果,并且可以具有较低的训练时间和/或资源成本。
图7是图示出根据本文所述技术的分布式AI结构控制器中的服务架构的框图。在一些实现方式中,AI结构控制器102可以包括监控服务702、分析服务704、规划服务706和执行服务708。在一些方面,一个或多个服务可以被实现为微服务。
监控服务702可以发现变得可用的未供应的资源,并且可以监控所提供的服务的可用性、容量、性能等。例如,当新的资源(例如,计算、存储或网络资源)变得可用时,监控服务702可以将该资源添加到AI训练和推理节点的图中。监控服务702可以针对资源利用率、可用性、容量、性能等来监控图中的资源。
分析服务704可以对各种候选解决方案进行建模,并确定候选解决方案中的哪一个应该部署到生产中。该确定可以基于AI应用的一个或多个执行度量。执行度量可以包括AI应用性能、机器学习模型准确度、基础设施成本(包括数据传输成本)、资源使用成本、业务逻辑、业务约束、隐私约束等。可以响应于向系统添加新资源或者期望从多个候选解决方案中确定最佳解决方案的其他情况来触发分析服务以供执行。作为一个示例,分析服务704可以获取一组候选解决方案以及每个候选解决方案的模型准确度、成本和隐私设置。分析服务704可以基于例如由候选解决方案产生的机器学习模型的模型准确度得分来过滤候选解决方案。例如,具有低于阈值的准确度得分的候选解决方案可以从考虑中移除。经过滤的一组候选解决方案可以基于例如候选解决方案的模型准确度以及该解决方案是联合解决方案还是集中式解决方案来排序。经过滤的一组候选解决方案可以基于其他标准(诸如差别隐私设置)进一步排序。
规划服务706执行针对不同候选解决方案的供应规划。例如,规划服务706可以基于候选解决方案创建Kubeflow AI管道。规划服务706可以执行用于训练AI应用和推理AI应用两者的供应规划。规划服务706可以被触发以在新的供应请求期间或当成本、性能、数据源位置或隐私要求发生变化时执行。在一些方面,规划服务706可以确定经过滤的一组候选解决方案是否能够满足应用意图。如上所述,应用意图可以描述AI应用所使用或请求的资源的属性。这些属性包括网络带宽、网络延迟上限、网络数据包丢弃百分比和网络可用性百分比、处理器内核数目、GPU数目、带宽百分比、内存量、存储设备类型和存储容量。规划服务706还可以确定AI应用是否可以以联合模式操作。如果是,则规划服务706可以生成除了集中式训练解决方案之外的附加候选训练解决方案。规划服务706可以基于成本(例如,资源使用成本)来排序特定联合或集中式候选解决方案以供部署。规划服务706可以基于业务约束(如果有的话)来过滤候选解决方案(在排序之前或之后)。一组候选解决方案可以被输出以供执行服务708进行部署。
执行服务708在系统的分布式资源上提供由规划服务706生成的资源计划。在一些方面,对于候选解决方案中的每一个,执行服务708可以提供计算节点(例如,裸机服务器、虚拟机、基于云的服务等)和存储节点。执行服务708可以制作数据的副本和/或标识到数据源的连接。在一些方面,执行服务708可以在计算节点、存储节点和数据源之间创建虚拟私有边缘(VPE)云。在一些方面,执行服务708可以在计算节点和存储节点处提供集群,并创建针对集群的执行环境。在一些方面,执行服务708可以包括容器编排平台(图7中未示出),该容器编排平台可以用于创建执行环境和调度针对执行环境的资源。容器编排平台可用于部署、管理和扩展打包为“容器”的应用。容器编排平台的示例实例包括Kubernetes、Docker-swarm、Mesos/Marathon、OpenShift、OpenStack、Google Cloud Run和Amazon ECS等。所提供的候选解决方案可以被执行以获取执行度量,该执行度量可以用于选择用于部署到生产环境中的最佳候选解决方案。执行服务708还可以以与候选解决方案相同的方式在生产环境中提供所选择的候选解决方案。
图8是图示出根据本文所述技术的具有提供多个云交换点的基于城域网的云交换的网络系统的概念图的框图。分布式AI结构控制器102可以使用多个云交换点来提供到分布式AI应用中使用的资源的连接。基于云的服务交换800(“云交换800”)的基于云的服务交换点828A-828C中的每一个(以下描述为“云交换点”,统称为“云交换点828”)可以表示地理上位于同一大都市区域内的不同数据中心(“基于城域网的”,例如,纽约的纽约市;加利福尼亚州硅谷;华盛顿的西雅图-塔科马;明尼苏达州保罗的明尼阿波利斯大街;英国伦敦;等)以提供弹性和独立的基于云的服务交换,通过该交换,基于云的服务客户(“云客户”)和基于云的服务提供商(“云提供商”)连接以分别接收和提供云服务。在各种示例中,云交换800可以包括更多或更少的云交换点828。在一些实例中,云交换800仅包括一个云交换点828。如本文所使用的,对“云交换”或“基于云的服务交换”的引用可以指代云交换点。云交换提供商可以在多个不同的大都市区域中部署云交换800的实例,每个云交换800的实例具有一个或多个云交换点828。
云交换点828中的每一个都包括网络基础设施和操作环境,云客户808A-808C(统称为“云客户808”)通过该网络基础设施或操作环境从多个云服务提供商810A-810N(统称为“云服务提供商810”)接收云服务。云服务提供商810可以托管一个或多个云服务815。如上所述,云服务提供商810可以是公共或私有云服务提供商。
云交换800为交换机的客户(例如,企业、网络运营商、网络服务提供商和SaaS客户)提供到全球多个云服务提供商(CSP)的安全、私有、虚拟连接。多个CSP由于其在云交换中具有至少一个可接入端口而参与云交换,客户可以通过该端口分别连接到由CSP提供的一个或多个云服务。云交换800允许任何客户的私有网络在公共点直接交叉连接到任何其他客户,从而允许在客户的网络之间直接交换网络业务。
云客户808可以经由与云交换点828中的一个的第3层对等和物理连接直接接收基于云的服务,或者经由网络服务提供商806A-806B中的一个(统称为“NSP 806”,或者备选地,“运营商806”)间接接收基于云的服务。NSP 806通过在一个或多个云交换点828内保持物理存在并会聚来自一个或多个客户808的第3层接入来提供“云传输”。NSP 806可以在第3层处直接与一个或多个云交换点828对等,并且在这样做的过程中提供到一个或多个客户808的间接第3层连接和对等,客户808可以通过该连接和对等从云交换800获取服务。在图8的示例中,云交换点828中的每一个都被分配了不同的自治系统号(ASN)。例如,云交换点828A被分配ASN 1,云交换点828B被分配ASN 2,等等。因此,每个云交换点828是从云服务提供商810到客户808的路径向量路由协议(例如,BGP)路径中的下一跳。因此,尽管每个云交换点828不是具有一个或多个广域网链路和伴随的互联网接入和传输策略的传输网络,但它可以经由外部BGP(eBGP)或其他外部网关路由协议与多个不同的自治系统进行对等,并将服务业务从一个或多个云服务提供商810路由到客户。换句话说,云交换点828可以将云服务提供商810和客户808将在成对的基础上维持的eBGP对等关系内部化。相反,客户808可以配置与云交换点828的单个eBGP对等关系,并经由云交换从一个或多个云服务提供商810接收多个云业务。虽然本文主要针对云交换点与客户、NSP或云服务提供商网络之间的eBGP或其他第3层路由协议对等进行描述,但云交换点将以其他方式从这些网络学习路由,诸如通过静态配置,或经由路由信息协议(RIP)、开放式最短路径优先(OSPF)、中间系统到中间系统(IS-IS)或其他路由分配协议。
作为以上的示例,客户808C被图示为已经与云交换800的云交换提供商签订了经由云交换点828C直接接入第3层云服务的合同。以这种方式,例如,客户808C接收到云服务提供商810A的冗余第3层连接。相反,客户808C被示为已经与云交换800的云交换提供商签订了经由云交换点828C直接接入第3层云服务的合同,并且还已经与NSP 806B签订了经由NSP 806B的传输网络接入第3级云服务的合同。客户808B被示出为已经与多个NSP 806A、806B签订了合同,以经由NSP 806A、806B的相应传输网络对云交换点828A、828B进行冗余云接入。通过在NSP 806和云交换点828的交换设备内的L3对等配置以及在云交换点826内建立的L3连接(例如,第3层虚拟电路)来在云交换点828的网络基础设施中实例化上述合同,以将云服务提供商810的网络互连到NSP 806网络和客户808网络,所有这些都具有在一个或多个云交换点828内提供连接的至少一个端口。
在一些示例中,云交换800允许任何网络服务提供商(NSP)或“运营商”806A–806B(统称为“运营商806”)的客户808A、808B中的对应一个或包括客户808C在内的其他云客户经由虚拟第2层(L2)或第3层(L3)连接直接连接到任何其他客户网络和/或直接连接到任何CSP 810,从而允许在客户网络和CSP 810之间直接交换网络业务。虚拟L2或L3连接可以被称为“虚拟电路”。
运营商806中的每一个可以表示与传输网络相关联的网络服务提供商,通过该传输网络运营商的网络用户806可以经由云交换800接入由CSP 810提供的云服务。通常,CSP810的客户可以包括网络运营商、大型企业、托管服务提供商(MSP),以及用于CSP 810经由云交换800提供的此类基于云的服务的软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)、虚拟化即服务(VaaS)和数据存储即服务(dSaaS)客户。
以这种方式,云交换800以透明和中立的方式流线型化并简化了合作CSP 810和客户(经由运营商806或直接)的过程。云交换800的一个示例应用是同位置和互连数据中心,其中CSP 810和运营商806和/或客户808可能已经具有网络存在,诸如通过在数据中心内具有可用于互连的一个或多个可接入端口,该可接入端口可以表示云交换点828中的任何一个。这使得参与的运营商、客户和CSP能够在同一设施内拥有广泛的互连选项。以这种方式,运营商/客户可以具有仅通过与一个或多个云交换点828的一次性连接来创建多对多互连的选项。换句话说,云交换800允许客户互连到多个CSP和云服务,而不是必须跨传输网络建立单独的连接来接入不同的云服务提供商或一个或多个云服务提供商的不同云服务。
云交换800包括可编程网络平台820,以用于动态地对云交换800进行编程以响应并确保地满足服务请求,该服务请求封装了由云交换800和/或耦合到云交换800的云服务提供商810提供的服务的业务需求。可编程网络平台820可以包括处理租户(例如,云客户端)对资源部署的请求或AI结构控制器102对供应和部署的请求的网络服务编排器832。例如,网络服务编排器832可以通过VM 136(或容器)以及其他软件和网络子系统来组织、指导和集成底层服务,以用于管理各种服务(例如,资源的部署)。因此,可编程网络平台820可以根据定义良好的服务策略、服务质量策略、服务级别协议和成本,并且进一步根据业务级别服务的服务拓扑,跨异构云服务提供商810编排业务级别服务。
可编程网络平台820使得管理云交换800的云服务提供商能够动态地配置和管理云交换800,以例如促进从多个云服务提供商810到一个或多个云客户808的基于云的服务交付的虚拟连接。云交换800可以使云客户808能够绕过公共互联网来直接连接到云服务提供商810,从而提高性能、降低成本、增加连接的安全性和隐私性,并利用云计算来进行额外的应用。通过这种方式,例如,企业、网络运营商和SaaS客户至少可以在某些方面将云服务与其内部应用集成,就好像这些服务是他们自己的数据中心网络的一部分或以其他方式直接耦合到他们自己的数据中心网络一样。
在其他示例中,可编程网络平台820使得云服务提供商能够利用云客户808请求的L3实例来配置云交换800,如本文所述的。例如,客户808可以请求L3实例通过L3实例链接多个云服务提供商(例如,用于在两个云服务供应商之间传输客户的数据,或者用于从多个云提供商获取服务网格)。
可编程网络平台820可以表示在云交换800的一个或多个数据中心内执行的应用,或者可替代地,在后台或云提供商的分支机构(例如)的非现场执行的应用。可编程网络平台820可以全部或部分分布在数据中心之间,每个数据中心与不同的云交换点828相关联以构成云交换800。尽管示出为管理单个云交换800,但是可编程网络平台820可以控制用于多个不同云交换的服务供应。可替代地或附加地,可编程网络平台820的多个单独实例可以控制用于相应的多个不同云交换的服务供应。
在所示示例中,可编程网络平台820包括服务接口(或“服务API”)814,该服务接口定义了方法、字段和/或其他软件原语,应用830(诸如客户门户)可以通过其调用可编程网络平台820。服务接口814可以允许运营商806、客户808、云服务提供商810和/或云交换提供商根据本文描述的技术对云交换800的能力和资产进行可编程接入。
例如,服务接口814可以促进机器对机器通信,以实现云交换中的用于互连客户和/或云服务提供商网络的虚拟电路的动态供应。以这种方式,可编程网络平台820实现云服务供应的各方面的自动化。例如,服务接口814可以为客户提供自动化和无缝的方式来建立、卸载和管理参与云交换的多个不同云提供商之间的互连。
基于云的服务交换的进一步示例细节可以在2016年4月14日提交的题为“基于云的业务交换”的美国专利申请号15/099,407、2015年10月29日提交的题为“用于基于云的服务交换的实时配置和管理的互连平台”的美国专利申请号14/927,451、2015年10月29日提交的题为“用于基于云的服务交换内互连的实时配置和管理的编排引擎”的美国专利申请号14/927,306中找到;每一个专利申请都以其各自的完整性通过引用并入本文。
图9是图示出根据本文所述技术的提供分布式AI结构控制器的操作环境的示例数据中心901的框图。在该示例数据中心901中,云交换800允许任何NSP 806A–806C或其他客户的客户网络902A、902B和NSP网络904A–404C中对应的一个(统称为“NSP或‘运营商’网络904”)经由第2层(L2)或第3层(L3)连接直接交叉连接到任何其他客户网络,从而允许在客户网络和CSP 810之间交换服务业务。数据中心901可以完全位于集中区域内,诸如仓库或本地化的数据中心综合体,并向将其各自的网络定位在数据中心901(例如,用于主机代管)内和/或通过一个或多个外部链路连接到数据中心901的NSP、客户和云服务提供商提供电力、布线、安全和其他服务。
云交换800包括网络基础设施922和操作环境,通过该操作环境,客户网络902可以经由互连从一个或多个CSP 810接收服务。在图9的示例中,网络基础设施922表示云交换800的互连设施的交换结构,并且包括可以通过例如调用可编程网络平台820的服务接口814与虚拟电路动态互连的多个端口。每个端口都与NSP 806、客户808和CSP 810相关联。这使得NSP客户能够具有仅通过到交换网络和底层网络基础设施922的一次性连接来创建多对多互连的选项,其中底层网络基础结构922为云交换800提供互连平台。换句话说,云交换800允许客户使用数据中心901内的网络基础设施922互连到多个CSP 810,而不是必须跨传输网络建立单独的连接来接入不同的CSP 810。
如本文所述的互连可以指例如物理交叉连接、诸如第2层VPN或虚拟专用LAN(例如,E-LINE、E-LAN、E-TREE或E-Access)之类的以太网连接、基于互联网交换的互连,在该互连中,互连客户的相应网络设备(例如,路由器和/或交换机)直接对等并且交换层3路由经由网络基础设施922交换的服务业务,以及云交换,在该云交换中,客户路由器与网络基础设施922(或“提供商”)网络设备对等,而不是直接与其他客户对等。云交换800可以向客户提供到由CSP 810提供的网络服务的互连服务。也就是说,云交换800的互连服务提供对CSP810提供的网络服务的接入。
对于第3层或以上的互连,客户808可以直接经由第3层对等和到主机代管设施交换点中的一个的物理连接来接收服务,或者间接经由NSP 806中的一个来接收服务。NSP806通过维持数据中心901内的物理存在并会聚来自一个或多个客户808的第3层接入来提供“传输”。NSP 806可以在第3层处直接与数据中心901对等,并且在这样做的过程中提供到一个或多个客户808的间接第3层连接和对等,客户808可以通过该连接和对等从云交换800获取服务。
在云交换800提供互联网交换的实例中,网络基础设施922可以被分配不同的自主系统号码(ASN)。因此,网络基础设施922是从CSP 810到客户808和/或NSP 806的路径向量路由协议(例如,BGP)路径中的下一跳。因此,尽管云交换800不是具有一个或多个广域网链路和伴随的互联网接入和传输策略的传输网络,但它可以经由外部BGP(eBGP)或其他外部网关路由协议与多个不同的自治系统进行对等,以便从一个或多个CSP 810向客户808交换、聚合和路由服务业务。换句话说,云交换800可以将CSP 810和客户808将在成对的基础上维持的eBGP对等关系内部化。相反,客户808可以配置与云交换800的单个eBGP对等关系,并经由云交换从一个或多个CSP 810接收多个服务。虽然本文主要针对主机代管设施点与客户、NSP或服务提供商网络之间的eBGP或其他第3层路由协议对等进行描述,但主机代管设施点将以其他方式从这些网络学习路由,诸如通过静态配置,或经由路由信息协议(RIP)、开放式最短路径优先(OSPF)、中间系统到中间系统(IS-IS)或其他路由分配协议。
作为以上针对云交换部署的示例,图9中的客户网络902B被图示为已经与云交换800的云交换提供商签订了经由云交换800直接接入第3层服务的合同,并且还已经与NSP806B签订了经由NSP 806的传输网络接入第3层服务的合同。客户网络902A被示为已经与NSP 806B签订了经由NSP 806B的传输网络接入第3层服务的合同。上述合同可以通过NSP806和云交换800的交换设备内的L3对等配置以及在云交换800内建立的L3连接(例如,第3层虚拟电路)在云交换800的网络基础设施922中实例化,以将CSP 810互连到NSP 806和客户网络902,所有这些都具有在云交换800内提供连接的至少一个端口。
图10是图示出根据本公开的一个或多个技术操作的计算设备的一个示例的进一步细节的框图。图10可以示出服务器或其他计算设备1000的特定示例,其包括用于执行本文所述的任何系统、应用或模块中的任何一个或多个的一个或多个处理器1002。例如,一个或多个处理器1002可以执行VM 1026和AI结构控制服务1024。计算设备1000的其他示例可以用于其他实例中。尽管出于示例的目的在图10中示出为独立计算设备1000,但计算设备可以是包括一个或多个处理器或其他合适的用于执行软件指令的计算环境的任何部件或系统,并且例如,不一定需要包括图10中所示的一个或多个元件(例如,通信单元1006;并且在一些示例中,诸如一个或多个存储设备1008的部件可能与其他部件不处于同一位置或不在同一机箱中)。
如图10的特定示例中所示,计算设备1000包括一个或多个处理器1002、一个或多个输入设备1004、一个或多个通信单元1006、一个或多个输出设备1012、一个或多个存储设备1008、用户界面(UI)设备1010以及通信单元1006。在一个示例中,计算设备1000还包括可由计算设备1000执行的一个或多个应用1022、AI结构控制服务1024、VM 1026和操作系统1016。部件1002、1004、1006、1008、1010和1012中的每一个被耦合(物理地、通信地和/或可操作地)以用于部件间通信。在一些示例中,通信信道1014可以包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法。作为一个示例,部件1002、1004、1006、1008、1010和1012可以通过一个或多个通信信道1014耦合。
在一个示例中,处理器1002被配置为实现用于在计算设备1000内执行的功能和/或处理指令。例如,处理器1002可能够处理存储在存储设备1008中的指令。处理器1002的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效的离散或集成逻辑电路中的任何一个或多个。
一个或多个存储设备1008可以被配置为在操作期间将信息存储在计算设备1000内。在一些示例中,存储设备1008被描述为计算机可读存储介质。在一些示例中,存储设备1008是临时存储器,这意味着存储设备1008的主要目的不是长期存储。在一些示例中,存储设备1008被描述为易失性存储器,这意味着当计算机关闭时,存储设备1006不维护所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域中已知的其他形式的易失性存储器。在一些示例中,存储设备1008用于存储由处理器1002执行的程序指令。在一个示例中,存储设备1008由运行在计算设备1000上的软件或应用用来在程序执行期间临时存储信息。
在一些示例中,存储设备1008还包括一个或多个计算机可读存储介质。存储设备1008可以被配置为存储比易失性存储器更大量的信息。存储设备1008可以进一步被配置用于信息的长期存储。在一些示例中,存储设备1008包括非易失性存储元件。这种非易失性存储元件的示例包括磁硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
在一些示例中,计算设备1000还包括一个或多个通信单元1006。在一个示例中,计算设备1000利用通信单元1006经由一个或多个网络(诸如一个或多个有线/无线/移动网络)与外部设备通信。通信单元1006可以包括网络接口卡,诸如以太网卡、光学收发器、射频收发器,或者可以发送和接收信息的任何其他类型的设备。在一些示例中,计算设备1000使用通信单元1006与外部设备进行通信。
在一个示例中,计算设备1000还包括一个或多个用户界面设备1010。在一些示例中,用户界面设备1010被配置为通过触觉、音频或视频反馈接收来自用户的输入。一个或多个用户界面设备1010的示例包括存在感显示器、鼠标、键盘、语音响应系统、相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在感显示器包括触敏屏幕。
一个或多个输出设备1012也可以包括在计算设备1000中。在一些示例中,输出设备1012被配置为使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备1012包括存在感显示器、声卡、视频图形适配卡或用于将信号转换为人类或机器可理解的适当形式的任何其他类型的设备。输出设备1012的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或能够向用户产生可理解输出的任何其他类型的设备。
计算设备1000可以包括操作系统1016。在一些示例中,操作系统1016控制计算设备1000的部件的操作。例如,在一个示例中,操作系统1016促进一个或多个应用1022、VM1026和AI结构控制服务1024与处理器1002、通信单元1006、存储设备1008、输入设备1004、用户界面设备1010和输出设备1012的通信。
应用1022、VM 1026和AI结构控制服务1024还可以包括可由计算设备1000执行的程序指令和/或数据。
本文描述的技术可以用硬件、软件、固件或其任何组合来实现。描述为模块、单元或部件的各种特征可以在集成逻辑器件中一起实现,或者作为离散但可互操作的逻辑器件或其他硬件器件单独实现。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。
如果以硬件实现,则本公开可涉及诸如处理器或集成电路器件诸如集成电路芯片或芯片组的装置。可替代地或另外地,如果以软件或固件实现,则该技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,指令在被执行时使处理器执行上述方法中的一种或多种方法。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂态介质。术语“非暂态”可以指示存储介质不实施在载波或传播信号中。在某些示例中,非暂态存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以为由处理电路执行的软件和/或固件,处理电路包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或适合于实现本文所述技术的任何其他结构。另外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能。
Claims (20)
1.一种计算设备,包括:
被耦合到存储器的处理电路;
人工智能(AI)结构控制器,所述AI结构控制器被配置用于由所述处理电路执行,其中所述AI结构控制器包括:
监控服务,所述监控服务被配置为发现通信地被耦合到云交换的可用资源以及监控所述可用资源;
分析服务,所述分析服务被配置为:
获取一组候选解决方案,所述一组候选解决方案中的每个候选解决方案包括AI应用和供所述AI应用使用的资源配置,其中所述资源配置针对所述候选解决方案中的每个候选解决方案不同,并且其中所述候选解决方案中的每个候选解决方案与对应的执行度量相关联,以及
基于所述对应的执行度量中的一个或多个对应的执行度量,过滤所述一组候选解决方案,以生成经过滤的一组候选解决方案;
规划服务,所述规划服务被配置为生成针对所述经过滤的一组候选解决方案的供应脚本;以及
执行服务,所述执行服务被配置为执行所述供应脚本以针对所述经过滤的一组候选解决方案中的每个候选解决方案供应资源,以及所述执行服务被配置为创建针对所述经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
2.根据权利要求1所述的计算设备,其中所述AI结构控制器被配置为根据与所述候选解决方案中的对应的候选解决方案相关联的所述资源配置,执行针对所述对应的候选解决方案的所述AI应用的实例,以确定与所述对应的候选解决方案相关联的所述执行度量。
3.根据权利要求1所述的计算设备,其中所述AI结构控制器被配置为基于与所述候选解决方案中的每个候选解决方案相关联的所述执行度量,从所述经过滤的候选解决方案选择最佳候选解决方案,以及所述AI结构控制器被配置为将所述最佳候选解决方案部署到生产环境。
4.根据权利要求1所述的计算设备,其中所述监控服务将描述可用资源的资源数据作为节点添加到可用资源的图,并且所述监控服务监控与所述图中的所述节点相关联的所述可用资源。
5.根据权利要求1所述的计算设备,其中所述监控服务监控针对所述可用资源中的每个对应的可用资源的以下一项或多项:资源利用率、资源可用性、资源容量、以及资源性能。
6.根据权利要求1所述的计算设备,其中所述分析服务响应于新的资源被添加为可用资源而被触发以执行。
7.根据权利要求1所述的计算设备,其中针对与对应的解决方案相关联的所述执行度量包括以下一项或多项:机器学习模型准确度、资源成本、以及隐私设置。
8.根据权利要求1所述的计算设备,其中所述分析服务根据与所述一组候选解决方案中的每个相应候选解决方案相关联的基础设施成本来对所述一组候选解决方案进行排序。
9.根据权利要求1所述的计算设备,其中候选解决方案包括被配置为以集中式模式操作的所述AI应用,并且其中所述规划服务被配置为:
响应于所述AI应用能够以联合模式执行的确定,生成与以所述联合模式操作所述AI应用相对应的附加候选解决方案,以及将所述附加候选解决方案添加到所述一组候选解决方案。
10.根据权利要求1所述的计算设备,其中创建针对所述相应候选解决方案中的每个相应候选解决方案的所述执行环境包括:使用容器编排平台来创建所述执行环境。
11.一种方法,包括:
由一个或多个处理器发现通信地被耦合到云交换的可用资源;
由所述一个或多个处理器获取一组候选解决方案,所述一组候选解决方案中的每个候选解决方案包括AI应用和供所述AI应用使用的资源配置,其中所述资源配置针对所述候选解决方案中的每个候选解决方案不同,并且其中所述候选解决方案中的每个候选解决方案与对应的执行度量相关联,以及
由所述一个或多个处理器基于所述对应的执行度量中的一个或多个对应的执行度量来过滤所述一组候选解决方案,以生成经过滤的一组候选解决方案;
由所述一个或多个处理器生成针对所述经过滤的一组候选解决方案的供应脚本;
由所述一个或多个处理器执行所述供应脚本以针对所述经过滤的一组候选解决方案中的每个候选解决方案供应资源;以及
创建针对所述经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
12.根据权利要求11所述的方法,还包括:根据与所述候选解决方案的对应的候选解决方案相关联的所述资源配置来执行针对所述对应的候选解决方案的所述AI应用的实例,以确定与所述对应的候选解决方案相关联的所述执行度量。
13.根据权利要求11所述的方法,还包括:
基于与所述经过滤的候选解决方案中的每个候选解决方案相关联的所述执行度量,从所述经过滤的一组候选解决方案选择最佳候选解决方案;以及
将所述最佳候选解决方案部署到生产环境。
14.根据权利要求11所述的方法,还包括:将描述可用资源的资源数据作为节点添加到可用资源的图;
监控与所述图中的所述节点相关联的所述可用资源。
15.根据权利要求14所述的方法,其中监控所述可用资源包括:监控针对所述可用资源中的每个对应的可用资源的以下一项或多项:资源利用率、资源可用性、资源容量、以及资源性能。
16.根据权利要求11所述的方法,其中与对应的解决方案相关联的所述执行度量包括以下一项或多项:机器学习模型准确度、资源成本、以及隐私设置。
17.根据权利要求11所述的方法,还包括:根据与所述一组候选解决方案中的每个相应候选解决方案相关联的基础设施成本来对所述一组候选解决方案进行排序。
18.根据权利要求11所述的方法,其中候选解决方案包括被配置为以集中式模式操作的所述AI应用,并且其中所述方法还包括:
响应于确定所述AI应用能够以联合模式执行,生成与以所述联合模式操作所述AI应用相对应的附加候选解决方案;以及
将所述附加候选解决方案添加到所述一组候选解决方案。
19.根据权利要求11所述的方法,其中创建针对所述相应候选解决方案中的每个相应候选解决方案的所述执行环境包括:使用容器编排平台来创建所述执行环境。
20.一种非暂态计算机可读介质,所述非暂态计算机可读介质包括指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器:
发现通信地被耦合到云交换的可用资源;
获取一组候选解决方案,所述一组候选解决方案中的每个候选解决方案包括AI应用和供所述AI应用使用的资源配置,其中所述资源配置针对所述候选解决方案中的每个候选解决方案不同,并且其中所述候选解决方案中的每个候选解决方案与对应的执行度量相关联,以及
基于所述对应的执行度量中的一个或多个对应的执行度量来过滤所述一组候选解决方案,以生成经过滤的一组候选解决方案;
生成针对所述经过滤的一组候选解决方案的供应脚本;
执行所述供应脚本以针对所述经过滤的一组候选解决方案中的每个候选解决方案供应资源;以及
创建针对所述经过滤的一组候选解决方案中的每个候选解决方案的执行环境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063131695P | 2020-12-29 | 2020-12-29 | |
US63/131,695 | 2020-12-29 | ||
PCT/US2021/064136 WO2022146726A1 (en) | 2020-12-29 | 2021-12-17 | Distributed artificial intelligence fabric controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116997889A true CN116997889A (zh) | 2023-11-03 |
Family
ID=79730389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180088270.0A Pending CN116997889A (zh) | 2020-12-29 | 2021-12-17 | 分布式人工智能结构控制器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220206865A1 (zh) |
EP (1) | EP4272078A1 (zh) |
CN (1) | CN116997889A (zh) |
AU (1) | AU2021413737B2 (zh) |
WO (1) | WO2022146726A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240086248A1 (en) * | 2022-09-12 | 2024-03-14 | International Business Machines Corporation | Learning-based automatic selection of AI applications |
WO2024063757A1 (en) * | 2022-09-20 | 2024-03-28 | Rakuten Mobile, Inc. | Inventory management system for managing functions, resources and services of a telecommunications network |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372362B2 (en) * | 2017-03-30 | 2019-08-06 | Intel Corporation | Dynamically composable computing system, a data center, and method for dynamically composing a computing system |
US11711268B2 (en) * | 2019-04-30 | 2023-07-25 | Intel Corporation | Methods and apparatus to execute a workload in an edge environment |
-
2021
- 2021-12-17 CN CN202180088270.0A patent/CN116997889A/zh active Pending
- 2021-12-17 EP EP21844858.7A patent/EP4272078A1/en active Pending
- 2021-12-17 WO PCT/US2021/064136 patent/WO2022146726A1/en active Application Filing
- 2021-12-17 US US17/644,961 patent/US20220206865A1/en active Pending
- 2021-12-17 AU AU2021413737A patent/AU2021413737B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2021413737A1 (en) | 2023-07-13 |
WO2022146726A1 (en) | 2022-07-07 |
US20220206865A1 (en) | 2022-06-30 |
AU2021413737B2 (en) | 2024-02-08 |
EP4272078A1 (en) | 2023-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10567519B1 (en) | Service overlay model for a co-location facility | |
US11395308B2 (en) | Monitoring-based edge computing service with delay assurance | |
US10892937B1 (en) | Inter-metro service chaining | |
CN104363159B (zh) | 一种基于软件定义网络的开放虚拟网络构建系统和方法 | |
US9756121B2 (en) | Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration | |
US9584369B2 (en) | Methods of representing software defined networking-based multiple layer network topology views | |
AU2021413737B2 (en) | Distributed artificial intelligence fabric controller | |
JP2015056182A5 (zh) | ||
EP3682597B1 (en) | Modeling access networks as trees in software-defined network controllers | |
KR102438214B1 (ko) | Ict 서비스 제공 방법 및 시스템 | |
Sonkoly et al. | Scalable edge cloud platforms for IoT services | |
CN115804073A (zh) | 针对虚拟网络功能的租户驱动的动态资源分配 | |
Riggio et al. | Progressive virtual topology embedding in openflow networks | |
CN109863726A (zh) | 分布式客户驻地装置 | |
Habibi et al. | Virtualized SDN-based end-to-end reference architecture for fog networking | |
Tusa et al. | Multi-domain orchestration for the deployment and management of services on a slice enabled NFVI | |
Corici et al. | Organic 6G Networks: Vision, Requirements, and Research Approaches | |
EP3280102A1 (en) | Optical path allocation method and apparatus | |
Shefu et al. | Fruit fly optimization algorithm for network-aware web service composition in the cloud | |
CN108027902B (zh) | 用于互连设施的互连引擎 | |
Vilalta et al. | Fully automated peer service orchestration of cloud and network resources using ACTN and CSO | |
US11405284B1 (en) | Generating network link utilization targets using a packet-loss-versus-link utilization model | |
CN117203950A (zh) | 通过网络服务提供商连接的云交换机的回调服务 | |
US10810033B2 (en) | Propagating external route changes into a cloud network | |
Vilalta et al. | Experimental validation of resource allocation in transport network slicing using the ADRENALINE testbed |
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 |