一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

大数据机器学习用例的自主云节点范围界定框架的制作方法

2022-06-12 03:42:44 来源:中国专利 TAG:

大数据机器学习用例的自主云节点范围界定框架


背景技术:

1.云容器在商业界中已看到越来越多的使用。云容器是封装应用程序及其依赖性的逻辑包装,从而允许容器化的应用程序运行在诸如linux、windows、mac、操作系统、虚拟机或裸机服务器之类的各种主机环境上。这样的容器的一个示例是容器。云容器技术使商业企业能够在因特网上轻松部署和访问软件即服务。容器化提供了关注点分离,因为商业企业可以专注于其软件应用程序逻辑和依赖性,而不关注部署和配置细节,而云供应商可以专注于部署和配置,而不担心软件应用程序细节。使用云容器实现应用程序还提供了高度的定制化,并降低了商业企业的运营和基础设施成本(相对于运营他们自己的数据中心的相对高的成本)。
2.使用云容器技术实现软件应用程序还使软件能够根据商业企业的计算需求缩放。诸如oracle之类的云计算服务供应商可能基于具体用例、用户数量、存储空间和计算成本对云容器服务收费。因此,购买云容器服务的商业企业将只为购买的服务付费,并将选取适合商业企业预算的套餐。主要的云供应商(包括amazon、google、microsoft和oracle)提供云容器服务。
3.然而,由于供应的可用存储器、供应的总gpu和cpu能力、信号总数以及控制吞吐量和延迟的传感器流的采样率之间的高度复杂的相互关系,机器学习软件应用程序的实现已无法使用云容器技术轻松扩展。


技术实现要素:

4.在一个实施例中,一种计算机实现的方法,包括:对于参数值的多个组合中的每一个,(i)设置描述使用场景的参数值的组合,(ii)在目标云环境上根据参数值的组合执行机器学习应用程序,以及(iii)测量执行机器学习应用程序的计算成本;以及基于测量的计算成本生成关于用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的推荐。
5.在一个实施例中,方法还包括:模拟来自一个或多个传感器的一组信号;以及在机器学习应用程序执行期间向机器学习应用程序提供该组信号作为机器学习应用程序的输入。
6.在一个实施例中,该方法,其中参数值的组合是以下的组合:来自一个或多个传感器的信号数量的值;每单位时间流式传输的观察结果的数量的值;以及要提供给机器学习应用程序的训练向量的数量的值。
7.在一个实施例中,该方法,其中机器学习应用程序导致参数值的组合与计算成本之间的非线性关系。
8.在一个实施例中,方法还包括:生成示出与每个组合的计算成本相关联的参数值组合的一个或多个图形表示;以及创建指令以在图形用户界面上显示该一个或多个图形表示以允许对用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的选择。
9.在一个实施例中,方法还包括根据推荐的配置自动配置目标云环境中的云容器。
10.在一个实施例中,该方法,其中参数值的组合根据蒙特卡罗模拟设置,该方法还包括在机器学习应用程序的执行期间向机器学习应用程序提供参数值作为机器学习应用程序的输入。
11.在一个实施例中,方法还包括针对目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的一组可用配置中的每一个重复设置、执行和测量的步骤,这些步骤针对参数值的多个组合中的每一个重复。
12.在一个实施例中,一种存储计算机可执行指令的非暂时性计算机可读介质,当计算机可执行指令至少由计算机的处理器执行时,导致计算机:对于参数值的多个组合中的每一个,(i)设置描述使用场景的参数值的组合,(ii)在目标云环境上根据参数值的组合执行机器学习应用程序,以及(iii)测量执行机器学习应用程序的计算成本;以及基于测量的计算成本生成关于用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的推荐。
13.在一个实施例中,非暂时性计算机可读介质还包括指令,当该指令至少由处理器执行时,使得计算机:模拟来自一个或多个传感器的一组信号;以及在机器学习应用程序执行期间向机器学习应用程序提供该组信号作为机器学习应用程序的输入。
14.在一个实施例中,该非暂时性计算机可读介质,其中参数值的组合是以下的组合:来自一个或多个传感器的信号数量的值;每单位时间流式传输的观察结果的数量的值;以及要提供给机器学习应用程序的训练向量的数量的值。
15.在一个实施例中,非暂时性计算机可读介质还包括指令,当这些指令至少由处理器执行时,使得计算机:生成示出与每个组合的计算成本相关联的参数值组合的一个或多个图形表示;创建指令以在图形用户界面上显示该一个或多个图形表示以允许对用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的选择;以及响应于接收到选择,根据所选择的配置,自动配置目标云环境中的云容器。
16.在一个实施例中,一种计算系统,包括:处理器;可操作地耦合到处理器的存储器;一种存储计算机可执行指令的非暂时性计算机可读介质,当计算机可执行指令至少由访问存储器的处理器执行时,使得计算系统:对于参数值的多个组合中的每一个,(i)设置描述使用场景的参数值的组合,(ii)在目标云环境上根据参数值的组合执行机器学习应用程序,以及(iii)测量执行机器学习应用程序的计算成本;以及基于测量的计算成本生成关于用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的推荐。
17.在一个实施例中,该计算系统,其中计算机可读介质还包括指令,这些指令使得计算系统:针对一组容器形状中的每个容器形状,针对跨信号数量范围的信号数量的每个增量,针对跨采样率范围的采样率的每个增量,以及针对跨训练向量数量范围的训练向量数量的每个增量,根据采样率下的信号数量与根据容器形状配置的容器中的训练向量数量的组合来执行机器学习应用程序。
18.在一个实施例中,该计算系统,其中计算机可读介质还包括指令,这些指令使得计算系统:生成示出与每个组合的计算成本相关联的参数值组合的一个或多个图形表示;创
建指令以在图形用户界面上显示该一个或多个图形表示以允许对用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的选择;以及响应于接收到选择,根据所选择的配置,自动配置目标云环境中的云容器。
附图说明
19.被并入并构成说明书一部分的附图图示了本公开的各种系统、方法和其他实施例。应当理解,图中所示的元素边界(例如,框、框的组或其他形状)表示边界的一个实施例。在一些实施例中,一个元素可以被实现为多个元素,或者多个元素可以被实现为一个元素。在一些实施例中,示为另一元素的内部组件的元素可以被实现为外部组件,反之亦然。此外,元素可能未按比例绘制。
20.图1图示了与大数据机器学习用例的自主云节点范围界定相关联的云计算系统的一个实施例。
21.图2图示了与大数据机器学习用例的自主云节点范围界定相关联的方法的一个实施例。
22.图3图示了与大数据机器学习用例的自主云节点范围界定相关联的方法的一个实施例,并且示出了参数值组合的嵌套循环遍历的一个实施例的细节。
23.图4示出了用于与大数据机器学习的自主云节点范围界定相关联的特定用例的方法的一个示例。
24.图5a-图5d示出了示例三维(3d)图,该图被生成为示出根据观察结果数量和训练向量数量的被称为多元状态估计技术(mset)的预测机器学习技术的训练过程的计算成本。
25.图6a-图6d示出了示例三维(3d)图,该图被生成以示出使用根据观察结果数量和训练向量数量的mset进行流式监视的计算成本。
26.图7a-图7d示出了示例三维(3d)图,该图被生成以示出根据观察结果数量和信号数量的mset的训练过程的计算成本。
27.图8a-图8d示出了示例三维(3d)图,该图被生成以示出使用根据观察结果数量和信号数量的mset进行流式监视的计算成本。
28.图9图示了与大数据机器学习用例的自主云节点范围界定相关联的用于评估多个计算形状的方法的一个实施例。
29.图10示出了用于呈现容器形状、成本计算(costing)和3d性能信息曲线以及容器形状推荐的示例gui 1000的一个实施例。
30.图11图示了配置有所公开的示例系统和/或方法的计算系统的实施例。
具体实施方式
31.本文描述了提供大数据机器学习用例的自主云节点范围界定框架的系统和方法。
32.机器学习(ml)技术可应用于为物联网(iot)应用程序生成预测信息。在一些实现中,机器学习技术应用于由密集传感器iot应用程序生成的数据集。密集传感器应用程序具有大量传感器生成的信息,该信息需要低延迟和高吞吐量的数据处理。通常,预测应用程序由本地(“on-prem”)数据中心资产运行。诸如中央处理单元(cpu)、图形处理单元(gpu)、存
储器和输入/输出(i/o)处理之类的数据中心中的资源将不时被重新配置,以随着用例需求增长。
33.云计算提供了对本地计算的替代。在云容器环境中实现其预测机器学习应用程序的商业企业将节省与运行他们自己的数据中心相关联的巨大开销成本。此外,商业企业还可以获得对云环境原生的高级预测机器学习模式识别的访问,以识别流式传感器信号中的异常。但是,在云计算环境中使用预测ml算法(诸如的mset2)实现大规模流式预测应用程序的低延迟和高吞吐量指标需要在预测应用程序被部署在云环境中之前将云计算环境与性能指标正确匹配。计算环境的大小涉及识别正确数量的cpu和/或gpu、正确数量的计算核心、正确量的存储装置和/或在gpu到cpu方面的容器“形状”的容器配置。为商业企业的应用程序正确调整云容器的大小以确保商业企业具有良好的实时流式预测性能带来了许多技术挑战。
34.对于已经在其本地数据中心中具有大数据流式分析的商业企业,由于多种原因,不可能扩展以近似oracle云基础设施(oci)云容器中所需的cpu、gpu、存储器和/或存储占用空间。
35.机器学习预测通常是“受计算限制的”,这意味着它完成任务的时间主要由中央处理器的速度决定。但是,实现流式分析的商业企业不仅关心gpu/cpu性能跟得上实时(流式预测的基本指标),而且同样关心吞吐量和延迟。对于流式机器学习预测,吞吐量和延迟以非常复杂的方式依赖于供应的可用存储器量、供应的总gpu和cpu能力、以及传感器流中每秒的信号和观察结果总数。通常,计算成本与信号数量成二次比例,与观察结果数量成线性比例。此外,商业企业对机器学习预测准确性的期望也影响云容器的配置要求——训练向量数量除了增加机器学习模型训练的计算成本开销外,还直接影响容器的存储器需求。
36.过去,由于机器学习预测的这些复杂关系,商业企业需要进行多次试错运行,以及顾问的努力,来为商业企业的典型用例发现最佳云配置。发现最佳云配置的试错性质阻止了商业企业从小规模起步以及随着计算动态影响通过弹性自主发展其云容器能力。为了响应于预测机器学习应用程序的现实生活使用中的计算动态而实现云容器能力的自主增长,部署在云容器中的机器学习技术的性能必须被评估。
37.为了解决这些和其他技术挑战,本技术提供了一种自主容器范围界定工具(或自动范围界定工具),该工具使用基于嵌套循环蒙特卡罗的模拟来跨目标云容器堆栈中可用的云cpu-gpu“形状”(云容器中的cpu和/或gpu配置,诸如oci容器)范围自动缩放任何大小的客户机器学习用例。在一个实施例中,自主容器范围界定工具作为嵌套循环多参数方法中的观察结果中信号总数、观察结果数量和训练向量数量的参数化函数对机器学习应用程序的候选云容器进行压力测试。自主容器范围界定工具作为客户预期的信号数量和那些信号的采样率的函数生成在吞吐量和延迟方面的预期的云容器性能,这是一种前所未有的能力。
38.自主容器范围界定工具是机器学习友好的框架,其允许对任何可插拔机器学习算法执行自动范围界定评估。在一个实施例中,自动范围界定工具采用可容纳各种形式的机器学习技术的可插拔框架。根据用例的定义范围,任何容器化机器学习技术,诸如包括多元状态估计技术(mset)、神经网络、支持向量机、自动关联核回归和客户专用机器学习应用程序之类的应用程序,可以被简单地插入到工具中用于评估。因此,自主容器范围界定工具可
以在任何指定类型的用例下评估容器化机器学习应用程序的性能。在一个实施例中,自动范围界定工具可以针对机器学习技术估计适当大小和形状的云容器。
39.mset、神经网络、支持向量机和自动关联核回归机器学习技术中的每一个是一种类型的高级非线性非参数化(nlnp)模式识别。这样的nlnp模式识别的计算成本和存储器占用空间以复杂的非线性方式随传感器数量、每单位时间的观察结果或样本数量(或采样率)、用于训练的样本总数以及被选为训练向量的训练数据的子集而缩放。
40.有利地,在一个实施例中,自动范围界定工具就在感兴趣的平台——机器学习应用程序将部署在其上的目标云计算平台上执行范围界定分析。这可能是重要的,因为计算成本开销以及延迟和吞吐量度量在各种本地计算平台(诸如商业企业的传统计算系统或oracle数据库机器和云计算基础架构中可用的容器形状,诸如oracle云基础设施(oci))之间将有所不同。
41.在一个实施例中,自动范围界定工具可完全自主,不需要来自商业企业的数据科学家和/或顾问。这使商业实体能够随着其处理需求的增加而通过弹性自主地增长其云容器能力。此外,自动范围界定工具使商业实体能够自主地将机器学习应用程序从其本地数据中心迁移到云计算环境中的云容器中。
42.在一个实施例中,自动范围界定工具可用于为涉及高级预测机器学习技术的新用例快速界定云容器的大小。自动范围界定工具可以指示适当的云容器配置的范围,包括cpu、gpu,和/或在各种共享存储器配置中包括cpu和gpu两者的一个或多个“形状”。在一个实施例中,得到的配置可以与定价表相结合,以然后为商业企业提供解决方案的成本估算的范围。
43.除了本文描述的自动范围界定工具之外,没有工具、技术或框架可以为大数据机器学习用例估计云容器大小(即cpu数量、gpu数量、存储器量,和/或描述容器的适当“形状”)。
44.—示例环境—
45.图1图示了与大数据机器学习用例的自主云节点范围界定相关联的云计算系统100的一个实施例。云计算系统100包括由一个或多个网络105(诸如与目标云容器堆栈101相关联的因特网或专用网络)互连的目标云容器堆栈101和自动范围界定工具103。云计算系统100可以被配置为通过网络105向与商业企业相关联的企业网络107中的客户端计算机提供一个或多个软件应用程序作为服务。
46.在一个实施例中,目标云容器堆栈101可以是oracle云基础设施堆栈。在另一个实施例中,目标云容器堆栈可以是ge堆栈、microsoft堆栈、amazon web services堆栈(例如包括amazon弹性容器服务(elastic container service))或能够支持基于容器的应用程序的其他可扩展云计算堆栈。
47.在一个实施例中,目标云容器堆栈101包括基础设施层109、操作系统层111、容器运行时引擎113和容器层115。基础设施层109包括由基础设施网络121互连的一个或多个服务器117和一个或多个存储设备119。每个服务器117包括一个或多个中央处理单元(cpu)123和/或图形处理单元(gpu)125,以及存储器127。存储设备可以包括固态存储器驱动器、硬盘驱动盘、网络附加存储(nas)设备或其他存储设备。
48.在一个实施例中,操作系统层111是linux、windows、mac、unix或其他操作系统中
的任何一种。这些操作系统可以是全特征的操作系统,或仅包括支持容器运行时引擎113对基础设施层109的使用所必需的特征的最小操作系统配置。在一个实施例中,操作系统111不被包括在目标云容器堆栈101中并且容器运行时引擎113被配置为直接与(诸如由oracle云基础设施裸机云提供的)裸机类型配置中的基础设施层109对接。
49.容器运行时引擎113使容器化的应用程序部署、缩放和管理自动化。在一个实施例中,容器运行时引擎113是oracle container cloud在一个实施例中,容器运行时引擎113是引擎。容器运行时引擎113支持容器层115中的容器的操作。在一个实施例中,容器层中的容器129、131是容器,即以docker镜像格式构建的容器。在一种环境中,用于测试应用程序133的容器129被部署到容器层115。支持测试应用程序127的二进制文件和库135被包括在容器123中。在一个实施例中,用于生产应用程序137的容器131被部署到容器层115。支持生产应用程序137的二进制文件和库139被包括在容器125中。
50.部署到容器层115的容器(例如,测试应用程序容器129或生产应用程序容器131)可以指定计算资源的“形状”(以cpu 123、gpu125和存储器127的量表示)以专用于该容器。此“形状”信息可以存储在容器镜像文件中。在一个实施例中,通过设置“docker run”命令的运行时配置标志(或其他容器格式的等效命令和标志),“形状”信息被传送到容器运行时引擎。
51.在一个实施例中,自动范围界定工具103包括容器化模块141、测试执行模块143、计算成本记录模块145、界面模块147和评估模块149。在一个实施例中,自动范围界定工具103是配置有模块141-149的专用计算设备。在一个实施例中,自动范围界定工具是目标云容器堆栈101的一部分,例如容器运行时引擎113的组件。
52.在一个实施例中,容器化模块141自动构建docker容器。容器化模块141至少接受应用程序、支持该应用程序的二进制文件和库以及容器的“形状”信息作为输入。至少从这些输入,容器化模块141创建适合部署到目标云容器堆栈101的容器层115的容器镜像文件(诸如docker镜像)。在一个实施例中,容器化模块141包括可从docker公司获得的自动容器化工具和/或与自动容器化工具对接,这些工具可以扫描应用程序并识别应用程序代码和相关的二进制文件和/或库。容器化模块141然后部分地基于这些代码、二进制文件和/或库自动生成docker镜像文件。在一个实施例中,容器镜像文件至少部分地基于模板来创建。容器化模块141可以从一个或多个模板的库中检索模板。
53.在一个实施例中,测试执行模块143操作用于特定的容器化的应用程序的一系列基准或压力测试操作。例如,测试执行模块143接受至少以下各项作为输入:(i)每观察结果的信号数量的范围和信号数量范围上的增量,(ii)观察结果数量的范围和观察结果数量范围上的增量,(iii)训练向量数量的范围和训练向量数量范围上的增量,(iv)特定的容器化的应用程序,以及(v)测试数据。测试执行模块将使得目标云容器堆栈101针对信号数量、观察结果数量和训练向量数量的每个排列随着它们每个在它们各自的范围上增加而执行特定的容器化的应用程序。训练向量的数量也可以被称为训练数据集的大小。
54.在一个实施例中,特定的容器化的应用程序是测试应用程序133。容器化模块141可以使得测试应用程序133及其相关联的二进制文件和/或库135例如从与商业企业相关联
的本地服务器151被扫描,并通过网络105从企业网络107发送到自动范围界定工具103。在一个实施例中,测试应用程序133是用于使用机器学习预测来分析大规模时间序列数据库的密集传感器iot应用程序。容器化模块141根据测试应用程序133及其相关联的二进制文件和/或库135创建测试应用程序容器129。
55.响应于测试应用程序容器将用于测试的指示,容器化模块将测试应用程序容器129配置为具有(指派的cpu 123、指派的gpu 125和分配的存储器127的)特定计算形状。在一个实施例中,计算形状选自适合由目标云容器堆栈101实现的计算形状的集或库。适当的计算形状可以基于目标云容器堆栈101的特征,诸如目标云容器堆栈101的硬件配置和/或软件配置。适当的形状集可以在具有不同硬件或软件配置的目标云容器堆栈之间不同。与每个可能的目标云容器堆栈相关联的计算形状库可由自动范围界定工具103维护,并且与目标云容器堆栈101相关联的计算形状可在容器化测试应用程序133时由容器化模块141从库中检索。
56.在一个实施例中,存在适合与目标云容器堆栈配置一起使用的多个计算形状。每个测试应用程序容器129可以是用于选择作为生产应用程序容器131的候选。在一个实施例中,响应于测试应用程序容器将用于测试的指示,容器化模块将测试应用程序容器129配置为具有第一未评估的计算形状,以及在下一次测试迭代时到下一个未评估的计算形状的增量。以此方式,测试应用程序容器129是针对适合于目标云容器堆栈101的每个计算形状创建的,并且每个候选容器形状被依次评估。
57.容器运行时引擎113和自动范围界定工具103可以各自配置有应用程序编程接口(api)以接受和发送信息和命令。例如,api可以是代表性状态转移(rest)api。容器化模块141可以向容器运行时引擎113发送api命令,该命令指示容器运行时引擎113将测试应用程序容器129部署到容器层115中。容器化模块还可以将测试应用程序容器129发送到容器运行时引擎113用于部署。
58.在一个实施例中,测试执行模块143在由目标云容器堆栈101执行期间访问测试数据主体以供测试应用程序133使用。测试数据应该包括训练向量和观察结果。训练向量是用于表示由传感器监控或监视的系统的正常操作的传感器观察结果的存储器向量。测试数据应包括足够量的训练向量,以允许对测试的每个训练排列的执行。观察结果是传感器观察结果的存储器向量,这些传感器观察结果对于它们是否表示由传感器监控的系统的正常操作而言是未知的。测试数据应包括足够量的观察结果,以允许对测试的每个观察结果排列的执行。在一个实施例中,观察结果和训练向量中的信号数量与当前正在被测试的信号数量相匹配。在一个实施例中,观察结果和训练向量中的信号数量是最大的信号数量,并且未使用的信号被测试忽略。
59.在一个实施例中,测试数据主体是由例如本地服务器151从来自一个或多个物联网(iot)(或其他)传感器153的读数编译的历史数据。传感器153的数量可能非常高。在一些实现中,机器学习技术应用于由密集传感器iot应用程序生成的数据集。密集传感器应用程序具有大量传感器生成的信息,该信息需要低延迟和高吞吐量的数据处理。测试执行模块143通过网络105从本地服务器151接受或检索测试数据主体。测试执行模块143在由目标云容器堆栈101执行期间使得测试数据主体被提供给测试应用程序133。
60.在一个实施例中,测试数据主体是基于由例如本地服务器151编译的历史数据生
成的合成数据。自动范围界定工具103可以包括信号合成模块(未示出)。
61.在一个实施例中,计算成本记录模块145跟踪测试中的信号数量、观察结果数量和训练向量数量的每个排列的计算成本。在一个实施例中,计算成本以启动和完成计算之间经过的毫秒为单位来测量。在一个实施例中,计算成本通过目标云容器堆栈101执行针对排列的测试应用程序133所花费的时间来测量。在一个实施例中,测试应用程序容器129被配置为通过网络105向计算成本记录模块145发送测试应用程序133的执行在目标云容器堆栈101上开始和完成的相应时间。在一个实施例中,对于每个排列,计算成本记录模块145被配置为在与自动范围界定工具103相关联的数据存储库中记录性能。性能可以被记录为表示元组的数据结构,该元组指示(i)针对排列的每观察结果的信号数量,(ii)针对排列的观察结果数量,(ii)针对排列的训练向量数量,以及(iv)针对排列的测试应用程序133的执行开始和完成的时间之间的差异。其他计算成本度量也可能是适当的,诸如针对排列完成测试应用程序133的执行所需的处理器周期计数或存储器交换计数,并且可以类似地被跟踪并报告给计算成本记录模块,并记录在数据存储库中。
62.在一个实施例中,计算成本被分解为训练周期的计算成本和监视周期的计算成本。测试应用程序容器129被配置为向计算成本记录模块145发送(i)测试应用程序133的训练周期的执行在目标云容器堆栈101上开始和完成的相应时间,以及(ii)测试应用程序133的监视周期的执行在目标云容器堆栈101上开始和完成的相应时间。此性能可以记录在与自动范围界定工具103相关联的数据存储库中。记录可以是表示元组的数据结构,该元组指示i)针对排列的每观察结果的信号数量,(ii)针对排列的观察结果数量,(ii)针对排列的训练向量数量,(iv)针对排列的测试应用程序133的训练周期的执行开始和完成的时间之间的差异,以及(iv)针对排列的测试应用程序133的监视周期的执行开始和完成的时间之间的差异。
63.在一个实施例中,界面模块147被配置为生成和发送指令,这些指令使得用于自动范围界定工具103的用户界面显示在客户端计算设备上。例如,用户界面可以包括图形用户界面(gui),其并入了用于从自动范围界定工具103和/或云计算系统100的用户或管理员收集信息和命令的gui元素。这些gui元素包括各种图形按钮、单选按钮、复选框、文本框、诸如下拉菜单之类的菜单以及其他元素。
64.界面模块147可以被配置为显示在与自动范围界定工具103相关联的数据存储库中记录的性能数据的可视化。在一个实施例中,可视化是示出了计算成本与测试的一组排列上的信号数量、观察结果数量和训练向量数量中的一个或多个之间的关系的图。在一个实施例中,可视化可以专用于测试的训练周期或测试的监视周期。
65.在一个实施例中,评估模块149确定推荐的容器“形状”(也被称为“计算形状”)以用于操作从本地服务器151扫描的应用程序的生产应用程序137版本。评估模块149接受以下各项作为输入:(i)处理观察结果的速率的最小延迟阈值,或目标延迟,(ii)将被包括在每个观察结果中的目标信号数量,(iii)每单位时间的目标观察结果数量或目标采样率,以及(iv)训练向量的目标数量。这些可以被称为机器学习应用程序的性能约束,并表示现实世界预期的操作条件。评估模块149还接受(v)由计算成本记录模块记录的性能数据作为输入。至少部分地基于这些输入,评估模块149可以创建(以cpu123的量、gpu 125的量和分配的存储器来描述的)推荐的容器形状以部署在目标云容器堆栈上。此推荐的形状可以由界
面模块在gui中呈现,以供自动范围界定工具103的用户查看和确认。gui还可以显示性能数据的一个或多个可视化以支持推荐的形状。在一个实施例中,评估模块149生成指令以形成具有推荐形状的生产应用程序容器131,并将它发送到容器化模块141以生成生产应用程序容器131。在一个实施例中,gui包括被配置为接受批准使用推荐形状创建生产应用程序容器的输入。
66.在一个实施例中,评估模块149还接受针对cpu和gpu的每一个的使用的每单位时间的价格作为输入。推荐的“形状”还可以基于cpu和gpu的每单位时间的价格。例如,推荐的形状可能是使维持观察结果的最小吞吐速率的总体成本最小化的形状。
67.在一个实施例中,评估模块149根据标准(诸如操作容器形状的货币成本)对一组可能的容器形状进行排序。在一个实施例中,评估模块将从该组可能的容器形状中排除不满足性能约束的那些容器形状,以创建可以被进一步排序的可行容器形状列表。
68.除了本地服务器151和iot传感器153之外,企业网络107还可以包括多种多样的计算设备和/或联网设备。这样的计算设备的示例包括服务器计算机,比如本地服务器151、诸如台式计算机155、膝上型或笔记本计算机157、平板计算机或个人数字助理(pda)之类的个人计算机、蜂窝电话、智能电话159、或其他移动设备、机器控制设备、ip电话设备和并入一个或多个计算设备组件(诸如一个或多个电子处理器、微处理器、中央处理单元(cpu)或控制器)的其他电子设备。在目标云容器堆栈101对生产应用程序137的执行期间,企业网络107的设备中的一个或多个可以向生产应用程序137提供信息或从生产应用程序137请求和接收信息。例如,iot传感器153可以提供由生产应用程序137监视或监控的观察结果。或者,例如,在台式计算机155、膝上型计算机157和/或智能电话159上执行的客户端应用程序可以请求关于由生产应用程序137监视或监控的系统的信息。
69.—示例方法—
70.本说明书中描述了用于大数据机器学习用例的自主云节点范围界定的计算机实现方法。在一个实施例中,具有可操作地连接的处理器(诸如处理器1110)和存储器(诸如存储器1115)和其他组件的一个或多个计算设备(诸如参考图11示出和描述的计算机1105)可被配置有使得计算设备执行方法的步骤的逻辑(诸如自主云节点范围界定逻辑1130)。例如,处理器从存储器访问和读取或写入存储器以执行参考图2示出和描述的步骤。这些步骤可以包括(i)检索任何必要的信息,(ii)计算、确定、生成、分类、或以其他方式创建任何数据,以及(iii)存储计算、确定、生成、分类或以其他方式创建的任何数据。在一个实施例中,本文描述的方法可以由(如参考图1示出和描述的)自动范围界定工具103或目标云容器堆栈101来执行。
71.在一个实施例中,方法的每个后续步骤响应于解析接收到的信号或检索到的存储的数据而开始,该信号或数据指示先前步骤已被至少执行到后续步骤开始所必须的程度。通常,接收到的信号或检索到的存储数据指示先前步骤的完成。
72.图2图示了与大数据机器学习用例的自主云节点范围界定相关联的方法200的一个实施例。在一个实施例中,提出了一种计算机实现的方法。方法包括,对于参数值的多个组合中的每一个,(i)设置描述使用场景的参数值的组合的步骤,(ii)在目标云环境上根据参数值的组合执行机器学习应用程序的步骤,以及(iii)测量执行机器学习应用程序的计算成本的步骤。方法还包括基于测量的计算成本生成用于执行机器学习应用程序的目标云
环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的推荐的配置。在一个实施例中,方法200可以由自动范围界定工具103和/或目标云容器堆栈101来执行。
73.方法200可以基于各种触发来启动,诸如通过网络接收信号或解析存储数据,该信号或数据指示(i)云计算系统100的用户(或管理员)已经启动方法200,(ii)方法200被计划在定义的时间启动,或(iii)用于将机器学习应用程序从第一计算机系统迁移到目标云环境的自动化过程正被执行。方法200响应于解析接收到的信号或检索到的存储数据并确定该信号或存储数据指示方法200应该开始而在开始框205处启动。处理继续到过程框210。
74.在过程框210处,处理器设置描述使用场景的参数值的组合。
75.在一个实施例中,处理器从存储器或存储装置中检索参数值的下一个组合。参数可以是每个观察结果的信号数量、观察结果的数量和训练向量的数量。处理器向测试应用程序133(用特定计算形状容器化的机器学习应用程序)生成其应该使用检索到的参数值的组合来执行的指令。处理器将指令发送到测试应用程序133,例如作为rest命令。指令可以通过容器运行时引擎113被发送到测试应用程序。过程框210的步骤可以例如由自动范围界定工具103的测试执行模块143来执行。
76.一旦处理器因此已经完成了设置描述使用场景的参数值的组合,则过程框210处的处理完成,并且处理继续到过程框215。
77.在过程框215,处理器在目标云环境上根据参数值的组合执行机器学习应用程序。
78.在一个实施例中,测试应用程序133包括机器学习算法。处理器向测试应用程序133生成测试应用程序133应该开始执行的指令,例如rest命令。生成指令以开始执行的此步骤可以例如由自动范围界定工具103的测试执行模块143来执行。作为响应,处理器检索由参数值的组合定义的一组测试数据。处理器在该组测试数据上执行测试应用程序133,包括机器学习算法。在一个实施例中,处理器在存储器中记录处理器开始执行测试应用程序133的第一时间,并且在存储器中记录处理器完成执行测试应用程序的第二时间。在一个实施例中,处理器在存储器中记录处理器开始执行测试应用程序133的训练周期的第一时间,并且在存储器中记录处理器完成执行测试应用程序的训练周期的第二时间。在一个实施例中,处理器在存储器中记录处理器开始执行测试应用程序133的监视周期的第一时间,并且在存储器中记录处理器完成执行测试应用程序133的监视周期的第二时间。在一个实施例中,处理器对执行测试应用程序133的期间使用的存储器处理器(cpu和/或gpu)周期、测试应用程序133的训练周期和/或测试应用程序133的监视周期计数。例如可以由目标云容器堆栈101执行检索测试数据集、执行测试应用程序以及记录时间或处理器周期的这些步骤。
79.一旦处理器因此已经在目标云环境上根据参数值组合完成执行机器学习应用程序,则过程框215处的处理完成,并且处理继续到过程框220处。
80.在过程框220处,处理器测量执行机器学习应用程序的计算成本。
81.在一个实施例中,处理器向测试应用程序容器129生成返回第一和第二时间的记录和/或处理器周期的计数的请求。此请求例如可以是通过容器运行时引擎113定向到测试应用程序容器129的rest请求。此请求还可以是例如由计算成本记录模块145生成和发送的。执行应用程序容器的处理器(目标云容器堆栈101的一个或多个处理器)然后将所请求的时间和/或计数返回到计算成本记录模块145。执行计算成本记录模块145的处理器然后组成包括参数值的当前组合和计算成本的计算成本记录(数据结构)并将其存储在存储器
或存储装置中。参数值的组合可以包括信号的数量、观察结果的数量和训练向量的数量。计算成本可以包括所返回的第一和第二时间之间的(一个或多个)差异,和/或所返回的处理器周期的计数。
82.一旦处理器因此已经完成测量执行机器学习应用程序的计算成本,处理从过程框210针对剩余的参数值的多个组合中的每一个重复,直到没有参数值的其他组合剩余。处理器增加参数值中的一个以在可能用于存储的增量值的参数值组合的嵌套循环遍历中移动到参数值的下一个组合。参数的增量值可以从存储器或存储装置中检索。以此方式,参数值的组合被设置来描述每个预期用例,机器学习应用程序针对每个预期用例的参数值执行,并且机器学习应用程序的性能针对每个预期用例测量。然后过程框220处的处理完成,并且处理继续到过程框225。
83.在过程框225处,处理器基于测量的计算成本生成关于用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的推荐。
84.在一个实施例中,处理器检索信号、观察结果和训练向量的数量的目标组合的计算成本记录。处理器确定目标组合处的计算成本是否超过机器学习应用程序在目标组合处的性能的目标延迟。目标延迟和目标组合是用户提供的信息。如果目标延迟被超过,则指派给测试应用程序133中的机器学习应用程序的计算形状(目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置)不足,并且将导致未处理的观察结果的备份。因此,如果目标延迟被超过,则处理器将生成反对测试应用程序133的计算形状的推荐。如果目标延迟未被超过,则指派给测试应用程序133中的机器学习应用程序的计算形状是足够的,并且将及时处理提供给测试应用程序133的观察结果。因此,如果目标延迟未被超过,则处理器将生成支持该计算形状的推荐。处理器还可以选择测试应用程序的计算形状(目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置)作为用于将机器学习应用程序部署到(创建生产应用程序137的)目标云容器堆栈的容器配置的计算形状。
85.在一个实施例中,在多个测试应用程序的计算成本未超过目标延迟的情况下,处理器还可以评估多个测试应用程序中的哪个具有最便宜的计算形状(如本文进一步讨论的)。
86.一旦处理器因此已经完成基于测量的计算成本生成关于用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的推荐,则过程框225处的处理完成,并且处理继续到结束框230,过程200在此结束。
87.在一个实施例中,参数值的组合是根据蒙特卡罗模拟来设置的,并且在机器学习应用程序的执行期间,机器学习应用程序的参数值作为机器学习应用程序的输入。因此,图3图示了与大数据机器学习用例的自主云节点范围界定相关联的方法300的一个实施例,并且示出了参数值组合的嵌套循环遍历的一个实施例的细节。方法300可以基于各种触发来启动,诸如通过网络接收信号或解析存储数据,该信号或数据指示(i)云计算系统100的用户(或管理员)已经启动方法300,(ii)方法300被计划在定义的时间启动,(iii)用于将机器学习应用程序从第一计算机系统迁移到目标云环境的自动化过程正被执行;或(iv)方法300正在作为对多个计算形状的评估的一部分针对特定计算形状被执行。方法300响应于解
析接收到的信号或检索到的存储数据并确定该信号或存储数据指示方法300应该开始而在开始框305处启动。处理继续到过程框310。
88.在过程框310处,处理器通过将信号数量设置为等于信号的初始数量(s
initial
)来初始化信号数量(numsig)。在一个实施例中,处理器检索信号数量的范围的起始值(诸如由测试执行模块143作为输入接受的范围的初始值)作为信号的初始数量。处理器将信号数量设置为等于检索到的值。过程框310处的处理完成并且处理在判定框315处继续。
89.在判定框315处,处理器确定信号数量(numsig)是否小于信号的最终数量(s
final
)。处理器检索信号数量范围的结束值(诸如由测试执行模块143作为输入接受的范围的最终值)作为信号的最终数量。处理器将信号数量与信号的最终数量进行比较。如果信号数量小于信号的最终数量为真,则判定框315处的处理完成并且处理在过程框320处继续。
90.在过程框320处,处理器通过将观察结果数量设置为等于观察结果的初始数量(o
initial
)来初始化观察结果数量(numobs)。在一个实施例中,处理器检索观察结果数量的范围的起始值(诸如由测试执行模块143作为输入接受的范围的初始值)作为观察结果的初始数量。处理器将观察结果数量设置为等于检索到的值。过程框320处的处理完成并且处理在判定框325处继续。
91.在判定框325处,处理器确定观察结果数量(numobs)是否小于观察结果的最终数量(o
final
)。在一个实施例中,处理器检索观察结果数量范围的结束值(诸如由测试执行模块143作为输入接受的范围的最终值)作为观察结果的最终数量。处理器将观察结果数量与观察结果的最终数量进行比较。如果观察结果数量小于观察的最终数量为真,则判定框325处的处理完成并且处理在过程框330处继续。
92.在过程框330处,处理器通过将训练向量数量设置为等于训练向量的初始数量(v
initial
)来初始化训练向量数量(numvec)。在一个实施例中,处理器检索训练向量数量的范围的起始值(诸如由测试执行模块143作为输入接受的范围的初始值)作为训练向量的初始数量。处理器将训练向量数量设置为等于检索到的值。过程框330处的处理完成并且处理在判定框335处继续。
93.在判定框335处,处理器确定训练向量数量(numvec)是否小于训练向量的最终数量(v
final
)。在一个实施例中,处理器检索训练向量数量范围的结束值(诸如由测试执行模块143作为输入接受的范围的最终值)作为训练向量的最终数量。处理器将训练向量数量与训练向量的最终数量进行比较。如果训练向量数量小于训练向量的最终数量为真,则判定框335处的处理完成并且处理在过程框340处继续。
94.在过程框340处,处理器针对信号数量(numsig)、观察结果数量(numobs)和训练向量数量(numvec)执行机器学习应用程序,该机器学习应用程序插入到容器并部署到目标云容器堆栈。在一个实施例中,处理器向机器学习应用程序生成指令,该指令告诉它从测试数据主体中提取观察结果数量和训练向量数量。观察结果和训练向量中的每一个都被限制为信号数量的长度。处理器从提取的观察结果和训练向量中截断附加信号列。处理器记录机器学习应用程序的训练开始的第一时间。处理器使用提取的训练向量训练机器学习应用程序。处理器记录机器学习应用程序的训练结束的第二时间。处理器记录机器学习应用程序的监控(或监视)开始的第三时间。处理器监控(或监视)提取的观察结果。处理器记录机器学习应用程序的监控(或监视)结束的第四时间。过程框340处的处理完成并且处理在过程
框345处继续。
95.在过程框345处,处理器记录用于由执行的机器学习应用程序执行的训练和监控(或监视)的计算成本。在一个实施例中,处理器(例如,在自动范围界定工具103的计算成本记录模块145的执行中)向部署到目标云容器堆栈的容器生成并发送请求。请求是让容器返回第一、第二、第三和第四时间。容器从存储器中检索第一、第二、第三和第四时间,并生成包括时间的消息。容器将消息发送到计算成本记录模块145。作为响应,计算成本记录模块145将第一、第二、第三和第四时间,或第二时间和第一时间以及第四时间和第三时间之间的差异,以及计算成本数据结构中的信号数量、观察结果数量和训练向量数量写入数据存储库中。过程框345处的处理完成并且处理在过程框350处继续。
96.在过程框350处,处理器将训练向量数量增加向量增量(v
increment
)。在一个实施例中,处理器检索向量增量值(诸如测试执行模块143接受的训练向量数量的范围上的增量)作为向量增量值。处理器将向量数量指派或设置为一个新值——向量数量的当前值与向量增量值的总和。一旦处理器因此已经将向量数量增加了向量增量,则过程框350处的处理完成并且处理返回到判定框335。
97.当训练向量数量小于训练向量的最终数量仍然为真时,判定框335和350之间的处理针对向量数量的每个增量重复。这形成了一组嵌套循环的最内层循环。一旦训练向量数量小于训练向量的最终数量变为假(即训练向量数量大于或等于训练向量的最终数量),则循环终止,并且处理在过程框355处继续。
98.在过程框355处,处理器将观察结果数量增加观察结果增量(o
increment
)。在一个实施例中,处理器检索观察结果增量值(诸如测试执行模块143接受的观察结果数量的范围上的增量)作为观察结果增量值。处理器将观察结果数量指派或设置为一个新值——观察结果数量的当前值与观察结果增量值的总和。一旦处理器因此已经将观察结果数量增加了观察结果增量,则过程框355处的处理完成并且处理返回到判定框325。
99.当观察结果数量小于观察结果的最终数量仍然为真时,判定框325和355之间的处理针对观察结果数量的每个增量重复。这形成了一组嵌套循环的中间循环。一旦观察结果数量小于观察结果的最终数量变为假(即观察结果数量大于或等于观察结果的最终数量),则循环终止,并且处理在过程框360处继续。
100.在过程框360处,处理器将信号数量增加信号增量(s
increment
)。在一个实施例中,处理器检索信号增量值(诸如测试执行模块143接受的信号数量的范围上的增量)作为信号增量值。处理器将信号数量指派或设置为一个新值——信号数量的当前值与信号增量值的总和。一旦处理器因此已经将信号数量递增了信号增量,则过程框360处的处理完成并且处理返回到判定框315。
101.当信号数量小于信号的最终数量仍然为真时,判定框315和360之间的处理针对信号数量的每个增量重复。这形成了一组嵌套循环的外层循环。一旦信号数量小于信号的最终数量变为假(即信号数量大于或等于信号的最终数量),则循环终止,并且处理在过程框365处继续。
102.在过程框365处,处理器输出信号数量、观察结果数量和训练向量数量的所有排列的计算成本。在一个实施例中,(例如,执行界面模块147的)处理器从数据存储库中检索每个计算成本数据结构。处理器生成指令以显示一个或多个图形,该一个或多个图形呈现由
一个或多个计算成本数据结构定义的柱状图和/或曲面图。处理器然后发送指令以使得一个或多个图形被显示。然后过程框365处的处理完成,并且处理继续到结束框370,过程300在此终止。
103.—模拟信号—
104.在一个实施例中,方法300还可以包括用于以下的步骤:(i)模拟来自一个或多个传感器的一组信号;以及(ii)在机器学习应用程序执行期间向机器学习应用程序提供该组信号作为机器学习应用程序的输入。例如,处理器执行(参考上面的图1讨论的)信号合成模块的功能。信号合成模块分析由本地服务器151编译的历史数据,并生成与历史数据在统计上等同的测试数据主体,从而模拟信号。信号合成模块将测试数据主体存储在与自动范围界定工具103相关联的数据存储库中。测试执行模块143访问合成的测试数据主体以在由目标云容器堆栈101执行期间供测试应用程序133使用。
105.在一个实施例中,信号合成模块分析历史数据并生成数学公式,该数学公式可用于生成与历史数据在统计上等同的测试数据。信号合成模块将数学公式存储在与自动范围界定工具103相关联的数据存储库中。信号合成模块根据需要生成合成的测试数据以在目标云容器堆栈101执行期间供测试应用程序133使用。在所需的存储装置和可移植性方面,使用数学公式根据需要合成数据比使用历史数据或合成的测试数据主体具有优势——测试数据的主体可以是若干太字节的数据,而数学公式可能仅几千字节。
106.合成的测试数据具有与“真实”历史数据相同的确定性和随机结构、单变量时间序列的序列相关性、多变量时间序列的互相关性以及噪声分量的随机内容(方差、偏斜度、峰度)。在一个实施例中,用于训练向量和用于观察结果的数据合成是分开执行的。用于测试数据主体的训练向量合成是基于历史传感器观察结果的,这些观察结果表示由传感器监控或监视的系统的正常操作。用于测试数据主体的观察结果的合成是基于历史传感器观察结果的,这些观察结果对于它们是否表示由传感器监控的系统的正常操作而言是未知的。
107.—参数变量—
108.在一个实施例中,在方法300中,参数值组合是以下的组合:(i)来自一个或多个传感器的信号数量的值;(ii)每单位时间流式传输的观察结果的数量的值;以及(iii)提供给机器学习应用程序的训练向量数量的值。
109.在图中,变量“numsig”是指用于观察结果或训练向量的信号(或接收的离散传感器输出)的数量。变量“numobs”是指在给定时间单位内要从被监视的系统的传感器接收的观察向量(长度为numsig的存储器向量)的数量(numobs也可以被称为采样率)。在一个实施例中,观察结果是在范围界定操作期间从模拟数据提取的,并且是从最终部署中的实时数据中提取的。变量“numvec”是指提供给机器学习应用程序以训练机器学习应用程序的训练向量(长度为numsig的存储器向量)的数量(numvec也可以被称为训练集的大小)。在一个实施例中,训练向量被选择来表征由传感器监视的系统的正常操作。
110.—与计算成本的非线性关系—
111.在一个实施例中,在方法300中,机器学习应用程序导致参数值的组合与计算成本之间的非线性关系。如上所讨论的,流式机器学习预测的计算成本不与信号数量和每单位时间的观察结果数量成线性关系缩放。通常,计算成本与信号数量成二次比例,并且与观察结果数量成线性比例。计算成本还进一步受到供应的可用存储器量、供应的总gpu和cpu能
力的影响。因此,容器化的机器学习应用程序将具有在参数值的组合和计算成本之间的非线性关系。
112.客户用例通常变化很大,从例如用于监控具有10个传感器和缓慢采样率的一台机器的简单企业用例,到例如具有数十万个高采样率传感器的跨国商业企业用例。下面的示例说明了用于云实现的机器学习预测的典型客户用例场景的范围:
113.·
客户a具有仅有20个信号的用例,以每小时仅一次的慢速率采样,使得典型的一年数据是几mb。
114.·
客户b具有空客320机队,每架飞机上具有75000个传感器,每秒采样一次,使得每架飞机每月生成20tb的数据。
115.其他商业企业客户通常落入a和b之间非常广泛的用例范围中的某处。
116.在一个实施例中,自动范围界定工具103(在一个实施例中,使用容器化模块141)接受非线性非参数化(nlnp)模式识别应用程序作为可插拔机器学习应用程序。在一个实施例中,nlnp模式识别应用程序是mset应用程序、多元状态估计技术2(mset2)应用程序、神经网络应用程序、支持向量机应用程序和自动关联核回归应用程序中的至少一种。
117.图4示出了用于与大数据机器学习的自主云节点范围界定相关联的特定用例的方法300的一个示例400。在示例方法400中,信号数量的范围是10个信号到100个信号,增量为10个信号,如在过程框405处将信号数量初始化为10,在判定框410处确定信号数量是否小于100,以及在过程框415处将信号数量加10所指示的。观察结果数量(即,采样率或每单位时间的观察结果数量)的范围为10,000个观察结果到100,000个观察结果,增量为10,000个观察结果,如在过程框420处将观察结果数量初始化为10,000,在判定框425处确定观察结果数量是否小于100,000,以及在过程框430处将观察结果数量加10,000所指示的。训练向量数量(即,训练数据集的大小)的范围是100个训练向量到2,500个训练向量,增量为100个训练向量,如在过程框435处将训练向量数量初始化为100,在判定框440处确定训练向量数量是否小于2,500,以及在过程框445处将训练向量数量加100所指示的。在此示例方法400中,机器学习应用程序是mset应用程序,如过程框450所示。如过程框455所示,针对信号数量、观察结果数量和训练向量数量的每个排列执行mset应用程序的计算成本由处理器记录在存储器中。如过程框460所示,针对信号数量、观察结果数量和训练向量数量的每个排列执行mset应用程序的计算成本由处理器从存储器中输出。例如,输出可以是图形表示的形式,诸如参考图5a-图8d所示和描述的那些。
118.在一个实施例中,示例400由自动范围界定工具103执行。自动范围界定工具103(在一个实施例中,使用容器化模块141)接受mset机器学习应用程序作为可插拔机器学习应用程序的输入。自动范围界定工具103将mset机器学习应用程序置于候选云容器中。自动范围界定工具103(在一个实施例中,使用测试执行模块使得容器化的mset机器学习应用程序针对信号数量、这些信号的观察结果以及训练数据集的大小的可能组合而被执行。在一个实施例中,自动范围界定工具103运行遍历所有可能的这样的组合。在另一个实施例中,组合以规则的间隔在每个参数的宽度上被选择,如与参数相关联的增量所规定的。
119.—性能信息的图形表示—
120.在一个实施例中,方法300还可以包括用于以下的步骤:(i)生成一个或多个图形表示,该图形表示示出与每个组合的计算成本相关联的参数值的组合;(ii)创建指令以在
图形用户界面上显示一个或多个图形表示,以允许对用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的选择。
121.在一个示例中,自动范围界定工具针对候选云容器中的mset机器学习预测技术被执行以确定计算成本如何关于信号数量、观察结果数量和训练向量数量而变化,其中mset被用作云服务,如在示例方法400中。在一个实施例中,结果被呈现为信息的图形表示,诸如柱状图和曲面图,示出了真实的计算成本测量结果和观察到的趋势以审视(scope out)mset的云实现。在一个实施例中,结果的各种呈现被呈现为对于自动范围界定工具的用户选择容器的形状的帮助。
122.图5a-图5d示出了示例三维(3d)图,该图被生成为示出作为观察结果数量和训练向量数量的函数的mset机器学习技术的训练过程的计算成本。这些图图示了mset技术的训练过程的计算成本、存储器向量数量和观察结果数量之间的参数经验关系。信号数量在每个单独的图5a、图5b、图5c和图5d中被指定。基于对图的观察,可以得出结论,mset机器学习技术的训练过程的计算成本主要取决于存储器向量数量和信号数量。
123.图6a-图6d示出了示例三维(3d)图,该图被生成以示出作为观察结果数量和训练向量数量的函数的使用mset机器学习技术进行流式监视的计算成本。这些图图示了使用mset机器学习技术进行流式监视的计算成本、存储器向量数量和观察结果数量之间的参数经验关系。信号数量在每个单独的图6a、图6b、图6c和图6d中被指定。可以得出结论,流式监视的计算成本主要取决于观察结果数量和信号数量。
124.图7a-图7d示出了示例三维(3d)图,该图被生成以示出作为观察结果数量和信号数量的函数的mset机器学习技术的训练过程的计算成本。因此,图7a-图7d示出了图5a-图5d的替代布局,以及mset机器学习技术的训练过程中的计算成本相对于信号数量和观察结果数量,而存储器向量数量在每个单独的图7a、图7b、图7c和图7d中指定。
125.图8a-图8d示出了示例三维(3d)图,该图被生成以示出作为观察结果数量和信号数量的函数的使用mset机器学习技术进行流式监视的计算成本。因此,图8a-图8d示出了图6a-图6d的替代布局,以及使用mset机器学习技术进行流式监视中的计算成本相对于信号数量和观察结果数量,而存储器向量数量在每个图8a、图8b、图8c和图8d中指定。
126.因此,系统呈现的3d结果向系统的用户示出了关于在所选的计算形状((一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置)中容器化的所选机器学习应用程序的目标云环境中的性能的大量信息。这使系统用户能够快速评估所选计算形状中机器学习应用程序的性能。例如,3d结果直观地向用户示出了机器学习应用程序的“计算成本”(计算的延迟),该机器学习应用程序针对(i)传感器,(ii)观察结果(等效于机器学习应用程序的输入的采样率),以及(iii)训练向量中的每一个的给定数量,使用特定计算形状被容器化。在一个实施例中,系统可以呈现可用于(适用于)目标云计算堆栈的每个计算形状的3d结果。
127.此外,对于这些计算形状中的每一个,系统还可以计算与形状相关联的美元成本并将它们显示给用户。在一个实施例中,定价基于计算形状的每个方面可用于使用的时间量。在一个实施例中,其中服务按小时计费,给定计算形状的价格可以被给出为shape_price/hr=(cpu_qty*cpu_price/hr) (gpu_qty*gpu_price/hr) (memory_qty*memory_price/hr)。例如,数据中心可以针对cpu的使用每小时收费0.06美元,针对gpu的使用每小
时收费0.25美元,并且针对1gb ram的使用每小时收费0.02美元。因此,数据中心将每小时收费1.14美元来操作具有8个cpu、2个gpu和8gb ram的第一示例计算形状;并且将每小时收费3.28美元来操作具有16个cpu、6个gpu和16gb ram的第一示例计算形状。
128.至少,向用户呈现与特定形状相关联的3d结果和美元成本自动向用户呈现最大的信息,这些信息否则将使用户花费很长时间来尝试从试错运行中弄清。
129.—多种计算形状的评估—
130.在一个实施例中,系统针对可以部署在目标云计算堆栈中的一组形状中的每一个来评估机器学习应用程序的性能。此组可以包括由数据中心提供的对形状的选择,或者可以包括所有可能的形状组合,或者用于部署在目标云计算堆栈中的一些其他组的形状。然后,系统的用户可以选择适当的计算形状来容器化机器学习应用程序。例如:
131.(1)如果所有可用的计算形状都满足“计算成本”约束(满足针对(i)最大信号数量、(ii)最大采样率和(iii)最大训练向量数量的目标延迟的机器学习应用程序),则系统可能推荐用户选择具有最低货币成本的计算形状。
132.(2)如果可用的计算形状中的一些不满足“计算成本”约束,则系统可能推荐具有最低货币成本的也满足“计算成本”约束的计算形状。
133.此外,所呈现的3d结果和成本计算信息给予了用户评估(例如通过减少传感器数量或观察结果数量(采样率),或通过减少训练向量数量来降低(back off)整体预测准确性)重新配置机器学习应用程序所需的信息。在没有系统提供的结果的情况下,理解在减少信号数量、或观察结果数量或训练向量数量之间的权衡以满足用户的计算成本约束涉及到不确定性、猜测和数周的试错实验。使用系统提供的3d曲线和成本计算信息,用户可以快速决定,例如,“让我们扔掉10个最没有帮助的传感器”或“让我们将采样率降低8%”或“我们对预测准确性用力过度(overkill),所以让我们将训练向量数量减少25%”。调节模型参数以满足他们自己的预测指标的此机会以前从未从云提供商那里可用以用于机器学习用例。
134.在一个实施例中,对于目标云环境的一组可用计算形状中的每一个,进一步重复针对参数值的多个组合中的每一个重复的设置、执行和测量的重复步骤(参考图2讨论的步骤210、215和220)。
135.图9图示了与大数据机器学习用例的自主云节点范围界定相关联的用于评估多个计算形状的方法900的一个实施例。在一个实施例中,方法900是添加到过程300的附加的最外层循环,针对一组计算形状中的每一个重复。方法900可以基于各种触发来启动,诸如通过网络接收信号或解析存储数据,该信号或数据指示(i)云计算系统100的用户(或管理员)已经启动方法900,(ii)方法900被计划在定义的时间启动,或(iii)用于将机器学习应用程序从第一计算机系统迁移到目标云环境的自动化过程正被执行。方法900响应于解析接收到的信号或检索到的存储数据并确定该信号或存储数据指示方法900应该开始而在开始框905处启动。处理继续到过程框910。
136.在过程框910,处理器从可用于目标云环境的一组计算形状中检索下一个可用计算形状。在一个实施例中,处理器解析适合于在目标云计算环境上实现的计算形状库的地址。库可以作为数据结构存储在存储装置或存储器中。库可以是列出计算形状的配置的表。处理器在方法900的执行期间选择库中尚未被评估的下一个计算形状。处理器将检索到的计算形状的配置存储在存储器中。过程框910处的处理完成并且处理在过程框315处继续。
137.在过程框915处,处理器根据检索到的计算形状将机器学习应用程序容器化。在一个实施例中,处理器解析检索到的配置以识别计算形状的具体配置,至少包括(一个或多个)中央处理单元和(一个或多个)图形处理单元以及分配的存储器的量。然后处理器根据计算形状为机器学习应用程序构建测试应用程序容器。例如,处理器可以执行或调用(如参照图1所示和描述的)容器化模块141的功能以自动构建容器。处理器至少将机器学习应用程序和检索到的形状作为输入提供给容器化模块141。然后处理器使得容器化模块141根据检索到的计算形状自动生成机器学习应用程序的容器化版本。过程框915处的处理完成并且处理在过程框920处继续。
138.在过程框920处,处理器启动过程300,为容器化机器学习应用程序执行该过程的步骤,如上面参考图3所示和描述的。过程框920完成并且处理在判定框925处继续。
139.在判定框925处,处理器确定在可用于目标云环境的一组计算形状中是否有任何计算形状仍未被评估。例如,处理器可以解析库的下一个条目以确定下一个条目是否描述另一个形状,或者下一个条目是否为null、空或以其他方式指示没有其他形状。如果下一个条目描述了另一个形状(判定框925:是),则处理返回到步骤910,并且方法900针对下一个计算形状重复。
140.注意,(在过程框920中执行的)过程框365将使得每个计算形状的计算成本信息要被输出。在一个实施例中,计算成本信息在与特定计算形状相关联的数据结构中被输出到存储器,用于稍后评估该计算形状在执行机器学习应用程序中的性能。
141.如果该组计算形状中的下一个条目指示没有其他形状(判定框925:否),则判定框925处的处理完成,并且处理继续到结束框930,方法900在此处结束。
142.因此,在一个实施例中,针对一组容器形状中的每个容器形状,针对跨信号数量范围的信号数量的每个增量,针对跨采样率的范围的采样率的每个增量,以及针对跨训练向量数量的范围的训练向量数量的每个增量,处理器在根据容器形状配置的容器中根据采样率下的信号数量与训练向量数量的组合来执行机器学习应用程序。
143.在一个实施例中,系统和方法假定用户将自动想要使用(在目标延迟、传感器的目标数量、观察结果的目标数量或目标采样率以及训练向量的目标数量方面)满足用户性能约束的最低货币成本的计算形状容器。这里,在评估了多个计算形状的测试应用程序的性能后,处理器自动呈现满足性能约束的最低成本选项。例如,系统和方法可以向用户呈现说明“具有n个cpu和m个gpu的形状c以每小时8.22美元的最低成本满足您的性能要求”的输出。在此情况下,处理器对满足客户的计算成本指标(性能约束)的可行形状进行排序,然后从可行形状列表中挑选出具有最低货币成本的形状。在一个实施例中,评估和排序的这些步骤可以是通过处理器对评估模块149的实现来执行的。
144.在一个实施例中,处理器根据推荐配置来在目标云环境中自动配置云容器。例如,这可以通过处理器针对机器学习应用程序以及由推荐的配置或形状指示的(一个或多个)中央处理单元、(一个或多个)图形处理单元以及分配的存储器的量来实现容器化模块141来执行。
145.在一个实施例中,可行容器形状列表的其他成员(一些或全部)被呈现给用户以供选择。在一个实施例中,这些过程的步骤可以通过处理器对界面模块147和评估模块149的实现来执行。在一个实施例中,处理器生成示出与每个组合的计算成本相关联的参数值的
组合的一个或多个图形表示,并创建指令以在图形用户界面上显示一个或多个图形表示以允许对用于执行机器学习应用程序的目标云环境的(一个或多个)中央处理单元、(一个或多个)图形处理单元和存储器的配置的选择。图10示出了用于呈现容器形状、成本计算和3d性能信息曲线以及容器形状推荐的示例gui 1000的一个实施例。示例gui 1000具有描述每个可行容器形状的一系列行1005、1010、1015。通过在gui中向下滚动,描述其他容器形状的附加行可以是可见的。行1005、1010、1015中的每一行还在一个或多个图形表示1020、1025、1030的行组中显示由该行描述的特定容器形状中的机器学习应用程序的性能。例如,图形表示可以是3d图形,诸如参考图5a-图8d所示和描述的那些。
146.行中的每一个描述该行的(在cpu、gpu和分配的存储器的量方面的)配置信息和(在每单位时间收取的费用方面的)成本计算信息。在一个实施例中,这些行以诸如货币成本之类的标准的升序显示,将最便宜的可行容器形状放置在最上面的行中。在一个实施例中,示例gui 1000可以示出一种特定容器形状被推荐的具体指示1035。
147.行中的每一个与用于指示对与该行相关联的容器形状的选择的部件(诸如单选按钮、复选框或其他按钮)相关联。例如,gui 1000的用户可以通过保持单选按钮1040b不被选择来决定不选择推荐选项,以及通过选择单选按钮1045(例如通过鼠标点击)来决定选择下一个最昂贵的选项。然后用户可以通过选择(例如通过鼠标点击)“选择容器形状”按钮1050来完成此选择。因此,在一个实施例中,用户可以通过选择与所需容器形状的描述相邻的单选按钮然后选择“选择容器形状”按钮1050来输入对配置的选择。
148.在一个实施例中,响应于接收到选择,处理器可以根据选定的配置在目标云环境中自动配置云容器。例如,这可以通过针对机器学习应用程序以及由所选配置或形状指示的(一个或多个)中央处理单元和(一个或多个)图形处理单元以及分配的存储器的量来实现容器化模块141来执行。
149.gui 1000还可以包括“调整目标参数并重新评估”按钮1055。选择此按钮1055(例如,通过鼠标点击)指示gui 1000显示允许用户调整目标参数的调整菜单。例如,可以使得用户能够将目标延迟、信号的目标数量和/或观察结果的目标数量、训练向量的目标数量的更新值输入到文本字段中。替代地,这些变量的值可以通过图形滑块、按钮、旋钮或其他图形用户界面元素进行调整。“接受并重新评估”按钮可以被包括在调整菜单中。对“接受并重新评估”按钮的选择将导致处理器鉴于新的目标参数重新评估各个容器形状的性能数据。在一个实施例中,这些过程的步骤可以通过处理器对界面模块147和评估模块149的实现来执行。
150.因此,系统和方法跨越了从想要(从任何其他方法不可用的)最大详细信息以实现对信号、观察结果和训练向量的数量的调整以达到令人满意的成本的那些客户到只想被告知什么形状以最低的货币成本满足客户预测机器学习应用程序的所有所需性能指标的那些客户的客户复杂度的范围。
151.—云或企业实施例—
152.在一个实施例中,本文所示和描述的自动范围界定工具103和/其他系统是包括数据库应用程序或分布式数据库应用程序集合的计算/数据处理系统。应用程序和数据处理系统可被配置为与基于云的联网系统、软件即服务(saas)架构、平台即服务(paas)架构、基础设施即服务(iaas)架构或其他类型的网络计算解决方案一起操作或被实现为基于云的
联网系统、软件即服务(saas)架构、平台即服务(paas)架构、基础设施即服务(iaas)架构或其他类型的网络计算解决方案。在一个实施例中,云计算系统100是服务器侧系统,其至少提供本文公开的功能并且可由许多用户经由通过计算机网络与(用作服务器的)云计算系统100通信的计算设备/终端来访问。
153.—软件模块实施例—
154.通常,软件指令被设计为由适当编程的处理器执行。这些软件指令可以包括例如计算机可执行代码和可被编译成计算机可执行代码的源代码。这些软件指令还可以包括以诸如脚本语言之类的解释性编程语言编写的指令。
155.在复杂系统中,这样的指令通常被安排到程序模块中,其中每个这样的模块执行具体的任务、过程、功能或操作。整组模块可以在其操作中由操作系统(os)或其他形式的组织平台来控制或协调。
156.在一个实施例中,本文描述的组件、功能、方法或过程中的一个或多个被配置为存储在非暂时性计算机可读介质中的模块。模块配置有存储的软件指令,当这些软件指令由访问存储器或存储装置的至少一个处理器执行时,使得计算设备执行如本文所述的(一个或多个)对应功能。
157.—计算设备实施例—
158.图11示出了示例计算设备,其被配置和/或编程有本文描述的示例系统和方法中的一个或多个,和/或等效物。示例计算设备可以是包括通过总线1125可操作地连接的处理器1110、存储器1115和输入/输出端口1120的计算机1105。在一个示例中,计算机1105可以包括自主云节点范围界定逻辑1130,其被配置为促进大数据机器学习用例的自主云节点范围界定(例如,确定机器学习应用程序的云容器的适当计算形状),类似于参考图1-图10所示和描述的逻辑、系统和方法。在不同的示例中,逻辑1130可以在硬件、具有存储的指令的非暂时性计算机可读介质、固件和/或它们的组合中实现。虽然逻辑1130被图示为附接到总线1125的硬件组件,但是应当理解,在其他实施例中,逻辑1130可以在处理器1110中实现,存储在存储器1115中,或存储在盘1135中。
159.在一个实施例中,逻辑1130或计算机是用于执行所描述的动作的装置(例如,结构:硬件、非暂时性计算机可读介质、固件)。在一些实施例中,计算设备可以是在云计算系统中操作的服务器、在软件即服务(saas)架构中配置的服务器、智能手机、膝上型电脑、平板计算设备等。
160.装置可以被实现为例如被编程以使过程发现和促进自动化的asic。装置还可以被实现为存储的计算机可执行指令,这些指令作为数据1140被呈现给计算机1105,数据1140被临时存储在存储器1115中,然后由处理器1110执行。
161.逻辑1130还可以提供用于执行自动化的过程发现和促进的装置(例如,硬件、存储可执行指令的非暂时性计算机可读介质、固件)。
162.一般地描述计算机1105的示例配置,处理器1110可以是各种各样的处理器,包括双微处理器和其他多处理器架构。存储器1115可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如rom、prom、eprom、eeprom等。易失性存储器可以包括例如ram、sram、dram等。
163.存储盘1135可以经由例如由至少一个输入/输出(i/o)控制器1147控制的输入/输
出接口(例如,卡、设备)1145和输入/输出端口1120可操作地连接到计算机1105。盘1135可以是例如磁盘驱动器、固态盘驱动器、软盘驱动器、带驱动器、zip驱动器、闪存卡、记忆棒,等等。此外,盘1135可以是cd-rom驱动器、cd-r驱动器、cd-rw驱动器、dvd rom等。例如,存储器1115可以存储过程1150和/或数据1140。盘1135和/或存储器1115可以存储控制和分配计算机1105的资源的操作系统。
164.计算机1105可以通过输入/输出(i/o)控制器1147、输入/输出(i/o)接口1145和输入/输出端口1120与输入/输出设备交互。输入/输出设备可以是例如键盘、麦克风、指向和选择设备、相机、视频卡、显示器、盘1135、网络设备1155等。输入/输出端口1120可以包括例如串行端口、并行端口和usb端口。
165.计算机1105可以在网络环境中操作,因此可以经由i/o接口1145和/或i/o端口1120连接到网络设备1155。通过网络设备1155,计算机1105可以与网络1160交互。通过网络1160,计算机1105可以被逻辑连接到远程计算机1165。计算机1105可以与之交互的网络包括但不限于lan、wan和其他网络。
166.计算机1105可以通过i/o端口1120控制一个或多个输出设备,或者由一个或多个输入设备控制。输出设备包括一个或多个显示器1170、打印机1172(诸如喷墨、激光、或3d打印机)和音频输出设备1174(诸如扬声器或耳机)。输入设备包括一个或多个文本输入设备1180(诸如键盘)、光标控制器1182(诸如鼠标、触摸板或触摸屏)、音频输入设备1184(诸如麦克风)和视频输入设备1186(诸如摄像机和照相机)。
[0167]-定义和其他实施例-[0168]
在另一个实施例中,所描述的方法和/或其等效物可以用计算机可执行指令来实现。因此,在一个实施例中,非暂时性计算机可读/存储介质被配置有算法/可执行应用程序的存储的计算机可执行指令,当这些指令由(一个或多个)机器执行时,使得该(一个或多个)机器(和/或相关联的组件)执行该方法。示例机器包括但不限于处理器、计算机、在云计算系统中操作的服务器、在软件即服务(saas)架构中配置的服务器、智能电话等)。在一个实施例中,计算设备是用一个或多个可执行算法来实现的,这些算法被配置为执行任何公开的方法。
[0169]
在一个或多个实施例中,所公开的方法或其等效物由以下任一项执行:被配置为执行该方法的计算机硬件;或体现在存储在非暂时性计算机可读介质中的模块中的计算机指令,其中指令被配置为可执行算法,该可执行算法被配置为在由计算设备的至少一个处理器执行时执行该方法。
[0170]
虽然出于解释简单的目的,图中所示的方法被示为和描述为一系列算法框,但是应当理解,方法不受框的顺序限制。一些框可以以与所示和描述的不同的顺序发生和/或与所示和描述的其他框同时发生。此外,少于所有图示的框可被用来实现示例方法。框可以组合或分离成多个动作/组件。此外,附加和/或替代方法可以采用未在框中图示的附加动作。
[0171]
以下包括本文所用的选定术语的定义。定义包括落入术语范围内并且可用于实现的组件的各种示例和/或形式。示例不旨在进行限制。术语的单数和复数形式两者都可以在定义内。
[0172]
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示这样描述的(一个或多个)实施例或(一个或多个)示例可以包括特定的特征、结构、特性、属性、元素或限制,
但并非每个实施例或示例都必须包括该特定特征、结构、特性、属性、元素或限制。此外,对短语“在一个实施例中”的重复使用不一定指相同的实施例,尽管可能是这样。
[0173]
asic:专用集成电路。
[0174]
cd:压缩盘。
[0175]
cd-r:可记录cd。
[0176]
cd-rw:可重写cd。
[0177]
dvd:数字多功能盘和/或数字视频盘。
[0178]
lan:局域网。
[0179]
ram:随机存取存储器。
[0180]
dram:动态ram。
[0181]
sram:同步ram。
[0182]
rom:只读存储器。
[0183]
prom:可编程rom。
[0184]
eprom:可擦除prom。
[0185]
eeprom:电可擦除prom。
[0186]
usb:通用串行总线。
[0187]
wan:广域网。
[0188]
如本文所用,“数据结构”是存储在存储器、存储设备或其他计算机化系统中的计算系统中的数据组织。数据结构可以是例如数据字段、数据文件、数据数组、数据记录、数据库、数据表、图、树、链表等中的任何一种。数据结构可以由许多其他数据结构形成并包含许多其他数据结构(例如,数据库包括许多数据记录)。根据其他实施例,数据结构的其他示例也是可能的。
[0189]
如本文所用,“计算机可读介质”或“计算机存储介质”是指存储指令和/或数据的非暂时性介质,该指令和/或数据被配置为在执行时执行所公开的功能中的一个或多个。在一些实施例中,数据可以用作指令。计算机可读介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。计算机可读介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁性介质、专用集成电路(asic)、可编程逻辑器件、光盘(cd)、其他光学介质、随机存取存储器(ram)、只读存储器(rom)、存储芯片或卡、记忆棒、固态存储设备(ssd)、闪存驱动器和计算机、处理器或其他电子设备可以与其一起工作的其他介质。每种类型的介质,如果在一个实施例中被选择用于实现,则可以包括被配置为执行公开的和/或要求保护的功能中的一个或多个的算法的存储指令。
[0190]
如本文所用,“逻辑”表示用计算机或电子硬件实现的组件、具有可执行应用程序或程序模块的存储指令的非暂时性介质和/或这些的组合以执行如本文公开的任何功能或动作,和/或使得来自另一逻辑、方法和/或系统的功能或动作如本文公开的那样执行。等效逻辑可以包括固件、用算法编程的微处理器、离散逻辑(例如,asic)、至少一个电路、模拟电路、数字电路、编程逻辑设备、包含算法指令的存储器设备,等等,其中任何一个都可以被配置为执行所公开的功能中的一个或多个。在一个实施例中,逻辑可以包括一个或多个门、门的组合或被配置为执行所公开的功能中的一个或多个的其他电路组件。在多个逻辑被描述
的情况下,可能可以将多个逻辑并入到一个逻辑中。类似地,在单个逻辑被描述的情况下,可能可以在多个逻辑之间分配该单个逻辑。在一个实施例中,这些逻辑中的一个或多个是与执行所公开和/或要求保护的功能相关联的对应结构。实现哪种类型的逻辑的选择可以基于所需系统条件或指标。例如,如果考虑更高的速度,则将选择硬件来实现功能。如果考虑较低的成本,则将选择存储的指令/可执行应用程序来实现功能。
[0191]“可操作的连接”或实体通过其被“可操作地连接”的连接是信号、物理通信和/或逻辑通信可以在其中被发送和/或接收的连接。可操作的连接可以包括物理接口、电接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体可以可操作地连接以直接或通过一个或多个中间实体(例如,处理器、操作系统、逻辑、非暂时性计算机可读介质)相互传送信号。逻辑和/或物理通信信道可用于创建可操作的连接。
[0192]
如本文所用,“用户”包括但不限于一个或多个人、计算机或其他设备,或这些的组合。
[0193]
尽管已经相当详细地说明和描述了所公开的实施例,但并不意图将所附权利要求的范围限制或以任何方式局限到这样的细节。当然,不可能出于描述主题的各个方面的目的而描述组件或方法的每个可想到的组合。因此,本公开不限于所示和描述的具体细节或说明性示例。因此,本公开旨在涵盖落入所附权利要求范围内的变更、修改和变化。
[0194]
就具体实施方式或权利要求中使用的术语“包括(includes或including)”而言,旨在以类似于术语“包含(comprising)”的方式是包含性的,因为该术语在使用时被解释为权利要求中的过渡词。
[0195]
就具体实施方式或权利要求中使用术语“或”(例如,a或b)而言,旨在意味着“a或b或两者”。当申请人旨在指示“仅a或b而不是两者”时,则短语“仅a或b而不是两者”将被使用。因此,本文对术语“或”的使用是包含性的,而不是排他性使用。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献