用于网络和存储器-感知虚拟机布置的方法和装置制造方法

文档序号:6497975阅读:154来源:国知局
用于网络和存储器-感知虚拟机布置的方法和装置制造方法
【专利摘要】各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,因此基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能明显改进。
【专利说明】用于网络和存储器-感知虚拟机布置的方法和装置

【技术领域】
[0001]本发明总的涉及用于提供云网络中的虚拟机的布置(placement)的方法和装置。

【背景技术】
[0002]这部分介绍了在促进本发明更好地理解上可能有用的方面。因此,这部分的叙述将从这个角度来阅读,并且将不被理解为关于什么在现有技术中或什么不在现有技术中的承认。
[0003]在一些已知的云网络中,分散式云中虚拟机的布置唯一地基于网络层度量标准。网络层约束条件例如,网络延迟、网络吞吐量和网络转移成本是这个优化中最常见的度量标准。


【发明内容】

[0004]各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,因此基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能的明显改进。
[0005]在一个实施方式中,提供了一种用于提供云网络中虚拟机的布置的装置,该装置包括数据存储器和通信地耦合到所述数据存储器的处理器。该处理器被编程(也就是配置)为:收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中一个或多个存储阵列的性能特征,在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中所述虚拟机的布置位置。
[0006]在一些实施方式中,该装置还包括通信地耦合到所述处理器的I/O接口。该处理器还被编程为:经由该I/o接口检索所述第一组存储性能数据,并且经由该I/O接口检索所述第二组存储性能数据。
[0007]在一些实施方式中,所述第一组存储性能数据的检索包括经由API与一个或多个存储阵列的至少一个存储设备进行通信。
[0008]在一些实施方式中,所述布置位置的确定是基于优化目标函数和一个或多个约束条件的。
[0009]在一些实施方式中,所述优化目标函数将延迟输出和/或成本输出最小化。
[0010]在一些实施方式中,所述优化目标函数是基于多个目标的加权排序(ranking)的。
[0011]在一些实施方式中,所述处理器还被编程为:收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行所述布置位置的确定。
[0012]在一些实施方式中,所述第三组应用程序需求数据包括数据存取模式。
[0013]在第二实施方式中,虚拟机布置系统提供了云网络中虚拟机的布置。该系统包括:多个存储阵列;多个资源;以及虚拟机布置装置,该虚拟机布置装置通信地耦合到多个存储阵列和多个资源,所述虚拟机布置装置被编程为:收集第一组存储性能数据,该第一组存储性能数据表示多个存储阵列的性能特征,收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定虚拟机,该虚拟机包括多个存储阵列中的至少一个和多个资源中的至少一个。
[0014]在一些实施方式中,所述布置位置的确定是基于优化目标函数和一个或多个约束条件的。
[0015]在一些实施方式中,所述虚拟机布置装置还被配置为:收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行所述虚拟机的确定。
[0016]在第三实施方式中,提供了一种用于在云网络中布置虚拟机的方法,该方法包括:收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中一个或多个存储阵列的性能特征,收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中所述虚拟机的布置位置。
[0017]在一些实施方式中,确定述布置位置的步骤是基于优化目标函数和一个或多个约束条件的。
[0018]在一些实施方式中,该方法还包括:在所述数据存储器中,收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行确定所述布置位置的步骤。
[0019]在一些实施方式中,该方法还包括:进一步基于预留约束条件进行确定所述布置位置的步骤。
[0020]在一些实施方式中,该方法还包括:响应于确定所述布置位置不满足所述优化目标函数的一个或多个约束条件,发送客户端通知。

【专利附图】

【附图说明】
[0021]各种实施方式在附图中举例说明,其中:
[0022]图1示出包括虚拟机(VM)布置体系结构110的实施方式的云网络100 ;
[0023]图2描述了示出用于提供网络和存储器-感知虚拟机(VM)布置的方法的实施方式的流程图;以及
[0024]图3按照图式示出VM布置装置的实施方式。
[0025]为了方便理解,已经使用相同的参考数字来标出具有实质相同或相似的结构和/或实质相同或相似的函数的元素。

【具体实施方式】
[0026]各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能的明显改进。
[0027]图1示出包括虚拟机(VM)布置体系结构110的实施方式的云网络100。该云网络100包括一个或多个客户端120-a?120-C(统称为客户端120),该一个或多个客户端120-a?102-c经由通信路径向资源180_a?180_f (统称为资源180)发送应用程序请求。该通信路径可以包括客户端通信信道125-a、125-b和125_c (统称为客户端通信信道125)之一、包括一个或多个边缘交换机140-a和/或140_b (统称为边缘交换机140)的网络130、边缘通信信道145-a?145_e(统称为边缘通信信道145)之一、具有一个或多个本地交换机150-a和150-b (统称为本地交换机150)的一个或多个本地网络、以及资源通信信道185-a?185-f (统称为资源通信信道185)之一。如果该应用程序请求或响应需要存储在存储阵列160-a或160-b (统称为存储阵列160)之一中的数据的数据存取操作,通信路径也可以可选地为存储通信信道165-a或165-b(统称为存储通信信道165)之一。
[0028]客户端120可以是启动指向在资源180上实现的虚拟机之一的应用程序请求的任意类型或数目的客户机。例如,客户端可以是:服务器、移动电话、平板电脑、台式电脑、个人数字助理(PDA)、电子阅读器、网络设备(例如,交换机或路由器)和/或类似的。
[0029]通信信道125、145、165和185可以在一个或更多通信信道上例如:无线通信(例如,LTE、GSM、CDMA、蓝牙);毫微微蜂窝通信(例如,WiFi);分组网络通信(例如,IP);宽带通信(例如,DOCSIS和DSL);存储通信(例如,光纤信道、iSCSI)等来支持检索或响应应用程序请求。应该理解到,虽然描写成单一的连接,然而通信信道125、145、165、和185可以是支持客户端120与资源180上实现的虚拟机之间的通信的通信信道的任意数目或组合。应该理解到通信信道145可以以任意合适的方式进行配置。例如,通信信道可以直接在交换机150-a和150-b之间进行配置。
[0030]网络130可以是用于便利在客户端120和资源180上实现的虚拟机之间的通信的任意合适的网络。例如,网络130可以是局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)和/或相似的任意组合。
[0031]边缘交换机140和本地交换机150可以是适合于按指定路线发送客户端120和在资源180上实现的虚拟机之间的应用程序请求和响应的任意数目和任意等级的交换机和/或路由器。例如,虽然仅示出两个等级的交换机(例如,边缘交换机140和本地交换机150),但是云网络100可以包括另外的交换机。还应该理解的是,虽然交换机以分层的方式示出,但是可以使用足够按指定路线发送应用程序请求和响应的任意合适的网络配置。
[0032]存储阵列160存储该应用程序数据并提供在资源180上实现的虚拟机使用的存储服务器。存储阵列160可以是任意合适的存储设备,并且可以包括任意数目的存储设备。所包括的存储设备可以是相似或不同和/或可以是彼此本地的或地理上分散的。
[0033]资源180包括由创建来服务应用程序请求的虚拟机组成的资源。特别地,资源180可以包括一个或多个处理器、一个或多个网络接口、一个或多个内存和/或一个或多个数据存储设备。而且,资源180可以是任意合适的物理硬件配置例如:服务器、由虚拟机的组件组成的刀片例如:处理器、内存和/或网络接口和/或存储设备(例如,存储阵列160)。虚拟机可以包括资源180的任意合适的配置。例如,虚拟机可以包括来自一个或多个物理设备(例如,180-a和180-d)的处理资源和来自一个或多个物理设备(例如,180-b和180_c)的内存资源。这些物理设备可以互相是本地的或互相远离的。在一些实施方式中,虚拟机将使用存储在存储阵列160之一中的应用程序数据来服务来自于客户端120之一的应用程序请求。
[0034]应该理解的是,资源180可以在任意合适的通信路径上与任意数目的存储阵列160进行通信。例如,VM180-a经由通信路径:185_a?185_d?185_c?185_d与存储阵列160-b进行通信。
[0035]图2描述了示出用于提供网络和存储器-感知虚拟机(VM)布置的方法的实施方式的流程图。
[0036]在方法200中,步骤220包括收集存储设备的性能特征(例如,图1的存储通信信道165和/或存储阵列160)。特别地,可以收集关于该存储设备性能的特征例如,数据存储器和接入成本、读延迟、写延迟、可获得的存储空间和/或存储碎片等级。例如,可以收集写和/或读接入延迟存储通信信道165。另一个例子中,可以收集存储阵列160中存储数据的成本。
[0037]应该理解的是,存储设备可以影响应用程序的性能,特别是在存储密集型应用程序中。结果,通过基于关于该存储设备的特征来布置VM,VM布置算法可以增加性能。
[0038]在方法200中,步骤230包括收集网络的网络性能特征(例如,图1的边缘通信信道145、本地通信信道185和/或边缘交换机140和/或本地交换机150的性能特征)。特别地,关于网络性能例如,接入成本(例如,带宽)处理器延迟、通信信道延迟和/或负载平衡约束条件的性能特征。例如,可以收集穿过本地通信信道185的数据包的接入延迟。
[0039]方法200可选择地包括步骤240。步骤240包括收集应用程序需求。特别地,应用程序和应用程序的各种组件的技术的需求和应用程序的服务需求,应用程序和应用程序的各种组件的技术的需求包括例如,出现多少VM、它们如何连接、应用程序的数据存取模式。例如,如果存储密集型应用程序布置在比较其他存储阵列相对更快的存储阵列中,该存储密集型应用程序将受益。
[0040]应该理解的是,应用程序需求可以影响应用程序的性能,特别是在存储密集型应用程序中。结果,通过基于应用程序需求布置VM,VM布置算法可以增加性能。
[0041]在方法200中,步骤250包括确定虚拟机的布置。特别地,虚拟机的布置包括选择选择资源(例如,资源180)在数据中心中的位置,该资源构成虚拟机。虚拟机资源的位置的选择是基于关于存储装置性能、网络性能特征和应用程序需求的特征。
[0042]在一些实施方式中,商业上可获得的存储阵列驱动维持存储器设备(例如,图1的存储阵列160)的特征,并且经由API将该信息暴露。在这些实施方式的一些实施方式中,步骤220包括经由API对存储设备的最小的子集的性能特征进行检索。
[0043]在一些实施方式中,步骤230包括在每个架顶式交换机(例如,本地交换机150)的间隔尺寸处收集网络性能特征。在又一个实施方式中,网络性能特征与数据中心的拓扑学相关联。
[0044]在一些实施方式中,网络设备例如,图1的本地交换机150提供网络性能特征。在这些实施方式的一些实施方式中,步骤230包括经由商业上可获得的接口对网路设备的最小子集的性能特征进行检索。在这些实施方式的一些实施方式中,提供实时网络性能特征。
[0045]在一些实施方式中,步骤250包括使用传统经典的最优化技术。传统经典的最优化技术包括确定最好地实现所需目标或目的的动作。最好地实现所需目标或目的的动作可以通过对目标函数的值进行最大化或最小化来确定。在一些实施方式中,目标函数的目标或度量标准可以是最小化成本或最小化应用程序存取延迟。
[0046]问题可以表现为:
[0047]最优化:
[0048][E.l]y = f (X1, X2, , xn)
[0049]满足:

【权利要求】
1.一种用于提供云网络中的虚拟机的布置的装置,该装置包括: 数据存储器;以及 处理器,通信地耦合到所述数据存储器,该处理器配置为: 在所述数据存储器中收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中的一个或多个存储阵列的性能特征; 在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及 基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中的所述虚拟机的布置位置。
2.根据权利要求1所述的装置,其中,所述布置位置的确定是基于优化目标函数的,该优化函数被配置为基于一个或多个约束条件将延迟输出和成本输出中的至少一者最小化。
3.根据权利要求2所述的装置,其中,所述优化目标函数是基于多个目标的加权排序的。
4.根据权利要求1所述的装置,其中,所述处理器还被配置为: 在所述数据存储器中收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及 进一步基于所述第三组应用程序需求数据来进行所述布置位置的确定。
5.根据权利要求4所述的装置,其中,所述第三组应用程序需求数据包括数据存取模式。
6.一种用于提供云网络中的虚拟机的布置的虚拟机布置系统,该系统包括: 多个存储阵列; 多个资源;以及 虚拟机布置装置,该虚拟机布置装置通信地耦合到所述多个存储阵列和所述多个资源,所述虚拟机布置装置被配置为: 收集第一组存储性能数据,该第一组存储性能数据表示多个存储阵列的性能特征;收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及 基于所述第一组存储性能数据和所述第二组网络性能数据来确定虚拟机,该虚拟机包括多个存储阵列中的至少一个存储阵列和多个资源中的至少一个资源。
7.根据权利要求6所述的系统,其中,所述虚拟机布置装置还被配置为: 收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及 进一步基于所述第三组应用程序需求数据来进行所述虚拟机的确定。
8.一种用于提供云网络中的虚拟机的布置的方法,该方法包括: 在通信地耦合到数据存储器的处理器处,在所述数据存储器中收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中的一个或多个存储阵列的性能特征; 在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及 基于所述第一组存储性能数据和所述第二组网络性能数据,通过所述处理器与所述数据存储器合作来确定所述云网络中的所述虚拟机的布置位置。
9.根据权利要求8所述的方法,该方法还包括: 在所述数据存储器中,收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及 进一步基于所述第三组应用程序需求数据来进行确定所述布置位置的步骤。
10.根据权利要求9所述的方法,该方法还包括: 进一步基于预留 约束条件来进行确定所述布置位置的步骤。
【文档编号】G06F9/50GK104054056SQ201280067309
【公开日】2014年9月17日 申请日期:2012年11月28日 优先权日:2012年1月17日
【发明者】K·P·普塔斯瓦米纳加 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1