掌桥专利:专业的专利平台
掌桥专利
首页

确定用于分布式基于批的优化应用的最佳计算资源

文献发布时间:2023-06-19 09:46:20


确定用于分布式基于批的优化应用的最佳计算资源

技术领域

本申请一般而言涉及信息技术,并且更具体地涉及确定最佳计算资源。

背景技术

许多优化应用,诸如基于随机梯度下降(SGD)的那些优化应用,迭代地作用于多批输入数据以学习最小化(或最大化)目标函数的模型。基于批的优化应用(诸如深度学习(DL)作业)通常花费数天或甚至数周来对数据集进行训练。随着数据集变得更大和模型变得更深和更复杂,训练时间也增加。例如,DL作业正越来越多地在为此目的定制的DL云上运行。当前,用户预先确定计算单元(GPU/节点)的数量,并基于每小时每计算单元的成本来收费。

发明内容

在本发明的一个实施例中,提供了用于为分布式基于批的优化应用(distributedbatch based optimization application)确定最佳计算资源的技术。一种示例性的计算机实现的方法包括:获得(i)模型的大小和(ii)与要使用分布式计算系统处理的作业对应的输入数据集的批大小集合,其中所述分布式计算系统包括多个节点;至少部分地基于批大小集合,计算与能用于处理所述作业的节点数量对应的一个或多个节点计数;对于所述节点计数中的每一个给定节点计数,估计使用与给定节点计数对应的节点数量来处理作业的执行时间,其中所述估计包括确定(i)一批所述输入数据集的平均计算时间,以及(ii)用于一批所述输入数据集的平均通信时间,其中平均通信时间至少部分地基于模型的大小和与给定节点计数对应的节点数量;和至少部分地基于所述估计,选择所述节点计数中的至少一个来处理作业。

另一个示例性的计算机实现的方法包括至少部分地基于(i)模型的大小和(ii)批大小集合来确定用于处理基于批的作业的分布式计算系统的多个计算资源配置;对于所述计算资源配置中的每个给定计算资源配置,确定(i)使用给定计算资源配置处理一批所述输入数据集的平均计算时间,以及(ii)所述一批所述输入数据集的平均通信时间;和至少部分地基于(i)平均计算时间和(ii)为每个所述计算资源配置确定的平均通信时间,从多个计算资源配置中选择用于处理基于批的作业的最佳计算资源配置。

本发明的另一个实施例或其元素可以以有形地实施计算机可读指令的计算机程序产品的形式来实现,所述计算机可读指令在被实现时,使得计算机执行如本文所描述的多个方法步骤。此外,本发明的另一个实施例或其元素可以以包括存储器和至少一个处理器的系统的形式来实现,该至少一个处理器耦合到存储器并且被配置为执行所述的方法步骤。此外,本发明的另一个实施例或其元素可以以用于执行本文所述的方法步骤的装置或其元素的形式来实现;该装置可以包括(一个或多个)硬件模块或硬件和软件模块的组合,其中软件模块被存储在有形计算机可读存储介质(或多个这样的介质)中。

本发明的这些和其它目的、特征和优点将从结合附图阅读的本发明的说明性实施例的以下详细描述中变得显而易见。

附图说明

图1是示出根据本发明一示例性实施例的系统架构的示图;

图2是示出根据本发明一示例性实施例的技术的流程图;

图3是示出根据本发明一实施例的技术的另一流程图;

图4是可以在其上实现本发明的至少一个实施例的示例性计算机系统的系统图;

图5表示根据本发明一实施例的云计算环境;以及

图6表示根据本发明一实施例的抽象模型层。

具体实施方式

分布式基于批的优化作业的运行时性能和/或可扩展性受到慢通信网络的限制,并且通常没有考虑到通信吞吐量可能跨节点或时间变化的事实,诸如,例如在云计算环境中那样。例如,当使用具有慢互连网络的附加计算节点时,用于深度学习应用的训练时间或者不减少,或者仅减少最小量。这些问题也降低了成本效率,因为为附加计算节点花费更多的钱不能提供成比例的益处。

本文所述主题的示例实施例提供了在运行分布式基于批的优化应用时提高效率(例如,货币成本和/或计算效率)的技术。例如,至少一个示例实施例认识到作业可以在大批模拟模式(large batch simulation mode)下运行,而不是使用附加资源/节点来减少通信时间。大批模拟模式通常是指运行其中较少数量的节点处理更多单元的工作(也称为批)的作业。例如,如果作业使用十个节点并且每个节点处理一个单元的工作,则使用大批模拟模式处理相同作业可以仅使用五个节点来处理相同的十个单元的工作(即,每个节点处理两个单元的工作)。在这种情况下,每个节点执行两次计算,但是数据通信仅跨五个节点而不是十个节点进行。如果N个节点需要时间T来完成作业,则在所有节点上花费的总时间是N×T。在慢速网络上使用2N个节点运行作业可能花费比T/2多得多的时间,因此在所有节点上花费的总时间(其与成本成比例)可能比N×T多得多。因此,从成本效率的角度来看,最好是使用大批模拟模式利用较少(N)个节点运行该作业,而不是利用较多(2N)个节点运行该作业。当节点之间的通信较慢时,使用大批模拟模式可能是有用的,因为数据需要在较少的节点之间传送。

由此,一个示例实施例包括用于基于计算时间、通信开销和来自用户的关于作业执行时间和成本的限制的输入约束来确定用于分布式基于批的优化作业的最佳计算资源的技术。如本文所使用的,计算时间是指在单个节点上处理某物(例如,诸如一批数据)所花费的时间,而通信时间是指跨不同节点传输(或交换、传送等)数据所花费的时间。

图1是示出根据本发明一实施例的系统架构100的简化框图。作为说明,图1包括获得模型大小102、数据大小104、应用特定参数106以及可任选地获得用户约束108的资源优化模块110。用户约束108可以包括执行特定作业的成本和/或作业执行时间。作为示例,数据可以对应于深度学习作业的训练图像集合,并且数据大小104可以对应于训练图像的数量。应用特定参数106可以包括例如范围(例如,BS

资源优化模块110确定节点计数,如框112所示,其中每个节点计数对应于可以用来处理特定作业的节点的可能数量。例如,确定节点计数可以包括确定可以使用的节点的最小数量(N

资源优化模块110估计用于每个节点计数的总执行时间,如116所示。在一些示例中,估计总执行时间可以包括基于模型大小102和节点计数中的给定节点计数来确定每批数据的通信时间。

资源优化模块110然后识别并输出如118所示的最佳资源120。最佳资源120可以指示最佳满足用户约束108的一个或多个推荐节点计数。如果没有提供用户约束108,则最佳资源120可以包括指示与不同数量的节点相关联的作业执行时间和成本的信息(例如,表格和/或图表)。然后,用户可以(例如,经由图形用户界面)交互以提供反馈和/或基于该信息选择用于处理作业的节点的数量。

因此,本文所述主题的一个或多个示例实施例提供了用于在计算时间、通信时间和批模拟因子方面对优化作业的运行时进行建模以确定不同数量的节点的执行时间和成本的技术。与成本和/或运行时相关的信息可以用于自动选择(例如,无需用户输入)要用于处理作业的多个节点,或者该信息可以被输出给用户以帮助用户选择多个节点。通常,用户成本(C)与作业的运行时(T)和所使用的节点/计算单元的数量(N)成比例,即,CαT*N(注意,成本可能不是节点数量的线性函数)。

作为示例,给定输入数据大小(TI)、模型大小(M)和每个节点的批大小(BSPN),用于对应于节点数量(N)的给定节点计数的每个纪元(epoch)的时间可以计算为:T(每个纪元)=TI/(BSPN*N)*[每批的计算时间+1/SF*AR(M,N)],其中AR是使用缓冲区大小M在N个节点上的Allreduce时间(AR时间)(例如,消息传递接口(MPI)Allreduce时间),并且SF是用于N个节点的最大批模拟因子以使得所得到的批大小(BS)

然后,可以如下确定每个节点计数的总成本:成本=时间*C(N)=TI/BSPN*C(N)/N*[每批的计算时间+1/SF*AR(M,N)],其中,C(N)是每单位时间使用N个节点的成本。在一些示例实施例中,“每批的计算时间”通过在节点的子集(例如,单个节点)上运行作业达预定数量的纪元或迭代然后取平均来测量。

针对不同数量的节点周期性地测量Allreduce(AR)时间。作为示例,可以通过针对不同数量的节点N=2

图2是根据本发明一示例性实施例的过程的流程图。在步骤202,获得数据大小、模型大小和批大小。步骤204包括计算要使用的节点的最小和最大数量(N

可选地,步骤220包括输出用于不同数量的节点的执行时间和成本以及模拟因子。例如,当没有提供用户约束时,可以执行步骤220。在步骤222,选择最佳节点数量和批大小。如果提供了用户约束,则可以自动选择最佳节点数量以满足用户约束。例如,给定对执行成本(C)和/或执行时间(T)的用户约束,可以基于以下等式来选择节点的最佳数量:Min(a×执行时间+b×执行成本),使得执行成本<C并且执行时间<T,其中a和b分别是时间和成本的缩放因子。还可以响应于输出关于用于不同数量的节点的执行时间和成本的信息,基于用户反馈来确定节点的最佳数量。

图3是示出根据本发明一实施例的过程300的流程图。过程300的步骤302包括获得(i)模型的大小和(ii)对应于要使用分布式计算系统处理的作业的输入数据集的批大小集合,其中所述分布式计算系统包括多个节点。步骤304包括至少部分地基于批大小集合,计算与可用于处理所述作业的节点数量对应的一个或多个节点计数。步骤306包括针对所述节点计数中的每个给定节点计数,估计使用与该给定节点计数对应的节点数量来处理作业的执行时间,其中所述估计包括确定(i)用于一批所述输入数据集的平均计算时间和(ii)用于所述一批所述输入数据集的平均通信时间,其中平均通信时间至少部分地基于模型的大小和与该给定节点计数对应的节点数量。步骤308包括至少部分地基于所述估计来选择所述节点计数中的至少一个节点计数以用于处理作业。

步骤306处的估计可以包括使用与给定节点计数对应的节点数量来估计处理作业的成本。估计处理作业的成本可以至少部分地基于与使用所述节点相关联的定价信息和所估计的执行时间。

过程300可包括使信息被输出到用户界面,该信息包括用于每个所选择的节点计数的所估计的执行时间,并且响应于使信息被输出,使作业基于经由用户界面接收的用户输入利用所选择的节点计数之一来处理。

在步骤308的选择可以至少部分地基于由用户提供的一个或多个约束,其中所述选择至少部分地基于由用户提供的一个或多个约束,其中所述一个或多个约束包括(i)成本约束和(ii)时间约束中的至少一个。选择可以包括选择用于一个或多个用户约束的最佳节点计数。过程300可包括使作业以最佳节点计数来处理。

确定一批输入数据集的平均计算时间可以包括确定使用节点中的单个节点处理一批或多批输入数据集的时间量。

确定平均通信时间可以包括基于一个或多个通信定时测量来获得每个节点计数的汇聚通信定时信息。获得汇聚通信定时信息可以包括针对不同节点数量和等于模型大小的缓冲区大小调用Allreduce函数。确定平均通信时间可以包括对节点计数中的第一节点计数和节点计数中的第二节点计数的汇聚通信定时信息进行插值,以确定节点计数中的至少第三节点计数的汇聚通信定时信息。

作业可以包括以下项中的至少一个:深度学习作业(例如,诸如训练神经网络);高阶奇异值分解(例如,诸如Tucker分解);以及储层表征中的历史匹配作业。

在步骤302处的获得可以包括获得每个节点的批大小,并且计算一个或多个节点计数可以至少部分地基于每个节点的所述批大小。

根据另一个实施例,一种计算机实现的方法包括:至少部分地基于(i)模型的大小和(ii)批大小集合来确定用于处理基于批的作业的分布式计算系统的多个计算资源配置;对于所述计算资源配置中的每个给定计算资源配置,确定(i)使用给定计算资源配置处理一批所述输入数据集的平均计算时间,以及(ii)所述一批所述输入数据集的平均通信时间;和至少部分地基于(i)平均计算时间和(ii)为每个所述计算资源配置确定的平均通信时间,从多个计算资源配置中选择用于处理基于批的作业的最佳计算资源配置。该方法可以包括获得与(i)处理基于批的作业的总时间和(ii)处理基于批的作业的总成本中的一个或多个对应的至少一个用户约束,并且其中该选择可以包括选择满足至少一个用户约束的最佳资源配置。该方法可以包括向用户输出指示以下项中的一个或多个的信息:(i)使用多个计算资源配置中的每一个处理基于批的作业的总时间,以及(ii)使用多个计算资源配置中的每一个处理基于批的作业的总成本,并且其中所述选择可以包括基于响应于所述输出而获得的用户输入来选择最佳资源配置。用于每个给定计算资源配置的总时间和/或总成本可以基于对应的平均计算时间和对应的平均通信时间。

如本文所述,图3中所描绘的技术还可以包括提供一种系统,其中该系统包括不同的软件模块,每个不同的软件模块被实施在有形的计算机可读可记录存储介质上。例如,所有模块(或其任何子集)可以在相同的介质上,或者每个可以在不同的介质上。模块可以包括图中所示和/或本文所述的任何或所有组件。在本发明的实施例中,模块可以例如在硬件处理器上运行。然后,可以使用如上所述的在硬件处理器上执行的系统的不同软件模块来执行方法步骤。此外,计算机程序产品可以包括有形计算机可读可记录存储介质,其具有适于被执行以执行本文描述的至少一个方法步骤的代码,包括向系统提供不同的软件模块。

另外,图3中所描绘的技术可以经由计算机程序产品来实现,该计算机程序产品可以包括存储在数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中该计算机可用程序代码是通过网络从远程数据处理系统下载的。此外,在本发明的实施例中,计算机程序产品可以包括存储在服务器数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中计算机可用程序代码通过网络下载到远程数据处理系统,以便在具有远程系统的计算机可读存储介质中使用。

本发明的实施例或其元素可以以包括存储器和至少一个处理器的装置的形式实现,该至少一个处理器耦合到存储器并且被配置为执行示例性方法步骤。

另外,本发明的实施例可以利用在计算机或工作站上运行的软件。参考图4,这样的实现可以采用例如处理器402、存储器404和例如由显示器406和键盘408形成的输入/输出接口。这里使用的术语“处理器”旨在包括任何处理设备,诸如,例如包括CPU(中央处理单元)和/或其他形式的处理电路的处理设备。此外,术语“处理器”可以指多于一个的单个处理器。术语“存储器”旨在包括与处理器或CPU相关联的存储器,诸如,例如RAM(随机存取存储器)、ROM(只读存储器)、固定存储器设备(例如,硬盘驱动器)、可移动存储器设备(例如,磁盘)、闪存等。另外,这里使用的短语“输入/输出接口”旨在包括例如用于向处理单元输入数据的机构(例如,鼠标)和用于提供与处理单元相关联的结果的机构(例如,打印机)。处理器402、存储器404和诸如显示器406和键盘408的输入/输出接口可以例如经由作为数据处理单元412的一部分的总线410互连。例如经由总线410的适当互连也可以提供给网络接口414,例如网卡,其可以被提供以与计算机网络接口,以及提供给介质接口416,诸如磁盘或CD-ROM驱动器,其可以被提供以与介质418接口。在至少一个示例实施例中,数据处理系统412表示分布式计算系统中的单个节点,其中分布式计算系统包括例如经由网络I/F 414通过计算机网络互连的多个这样的节点。

因此,包括用于执行如本文所述的本发明的方法的指令或代码的计算机软件可以存储在相关的存储器设备(例如,ROM、固定或可移动存储器)中,并且当准备使用时,由CPU部分或全部加载(例如,加载到RAM中)并实现。这种软件可以包括但不限于固件、驻留软件、微代码等。

适于存储和/或执行程序代码的数据处理系统将包括至少一个处理器402,其通过系统总线410直接或间接地耦合到存储器元件404。存储器元件可以包括在程序代码的实际实现期间采用的本地存储器、大容量存储装置、以及提供至少一些程序代码的临时存储以便减少在实现期间必须从大容量存储装置检索代码的次数的高速缓冲存储器。

输入/输出或I/O设备(包括但不限于键盘408、显示器406、指示设备等)可以直接(诸如经由总线410)或通过中间I/O控制器(为了清楚被省略)耦合到系统。

诸如网络接口414的网络适配器也可以耦合到系统,以使数据处理系统能够通过中间的专用或公共网络耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。

如本文(包括权利要求书)所使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,图4中所示的系统412)。可以理解,这样的物理服务器可以包括或可以不包括显示器和键盘。

本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(一个或多个),所述计算机可读程序指令用于使处理器执行本发明的实施例。

计算机可读存储介质可以是能够保留和存储要由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何适当组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,诸如Python、Smalltalk、C++等,以及过程式编程语言,诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,该网络包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的实施例,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

在本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的实施例。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些可替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用基于硬件的系统来实现。

应当注意,本文描述的任何方法可以包括提供包括在计算机可读存储介质上实现的不同软件模块的系统的附加步骤;模块可以包括例如本文详述的任何或所有组件。然后,可以使用在硬件处理器402上执行的如上所述的系统的不同软件模块和/或子模块来执行方法步骤。此外,计算机程序产品可以包括计算机可读存储介质,其具有适于被实现以执行本文描述的至少一个方法步骤的代码,包括向系统提供不同的软件模块。

在任何情况下,应当理解,本文所示的组件可以以硬件、软件或其组合的各种形式来实现,例如,专用集成电路(ASICS)、功能电路、具有相关联的存储器的适当编程的数字计算机等。在给出本文提供的本发明的教导的情况下,相关领域的普通技术人员将能够设想本发明的组件的其它实现。

此外,应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图5,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图5显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图6,其中显示了云计算环境50(图5)提供的一组功能抽象层。首先应当理解,图6所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图6所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。

虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。

在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。

工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及根据本发明的一个或多个实施例的为分布式基于批的优化应用96确定最佳计算资源。

本文所用的术语仅是为了描述特定实施例的目的,而不是要限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还应当理解,术语“包括”和/或“包含”在本说明书中使用时,表示存在所述的特征、步骤、操作、元件和/或组件,但不排除存在或添加另一特征、步骤、操作、元件、组件和/或其组。

本发明的至少一个实施例可以提供一个或多个有益效果,诸如,例如:优化分布式计算系统中的计算资源,减少用于处理分布式基于批的优化作业(例如,诸如DL作业)的执行时间,减少与处理分布式基于批的优化作业相关联的成本,和/或以高效且及时的方式在运行分布式作业时辅助深度学习即服务(DLaaS)用户。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 确定用于分布式基于批的优化应用的最佳计算资源
  • 用于帮助健康护理顾问和医院管理者确定医院的最佳人力资源计划的基于模拟的系统和方法
技术分类

06120112289622