CN104054056A - 用于网络和存储器-感知虚拟机布置的方法和装置 - Google Patents
用于网络和存储器-感知虚拟机布置的方法和装置 Download PDFInfo
- Publication number
- CN104054056A CN104054056A CN201280067309.1A CN201280067309A CN104054056A CN 104054056 A CN104054056 A CN 104054056A CN 201280067309 A CN201280067309 A CN 201280067309A CN 104054056 A CN104054056 A CN 104054056A
- Authority
- CN
- China
- Prior art keywords
- data
- group
- virtual machine
- network
- collect
- 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
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
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,因此基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能明显改进。
Description
技术领域
本发明总的涉及用于提供云网络中的虚拟机的布置(placement)的方法和装置。
背景技术
这部分介绍了在促进本发明更好地理解上可能有用的方面。因此,这部分的叙述将从这个角度来阅读,并且将不被理解为关于什么在现有技术中或什么不在现有技术中的承认。
在一些已知的云网络中,分散式云中虚拟机的布置唯一地基于网络层度量标准。网络层约束条件例如,网络延迟、网络吞吐量和网络转移成本是这个优化中最常见的度量标准。
发明内容
各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,因此基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能的明显改进。
在一个实施方式中,提供了一种用于提供云网络中虚拟机的布置的装置,该装置包括数据存储器和通信地耦合到所述数据存储器的处理器。该处理器被编程(也就是配置)为:收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中一个或多个存储阵列的性能特征,在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中所述虚拟机的布置位置。
在一些实施方式中,该装置还包括通信地耦合到所述处理器的I/O接口。该处理器还被编程为:经由该I/O接口检索所述第一组存储性能数据,并且经由该I/O接口检索所述第二组存储性能数据。
在一些实施方式中,所述第一组存储性能数据的检索包括经由API与一个或多个存储阵列的至少一个存储设备进行通信。
在一些实施方式中,所述布置位置的确定是基于优化目标函数和一个或多个约束条件的。
在一些实施方式中,所述优化目标函数将延迟输出和/或成本输出最小化。
在一些实施方式中,所述优化目标函数是基于多个目标的加权排序(ranking)的。
在一些实施方式中,所述处理器还被编程为:收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行所述布置位置的确定。
在一些实施方式中,所述第三组应用程序需求数据包括数据存取模式。
在第二实施方式中,虚拟机布置系统提供了云网络中虚拟机的布置。该系统包括:多个存储阵列;多个资源;以及虚拟机布置装置,该虚拟机布置装置通信地耦合到多个存储阵列和多个资源,所述虚拟机布置装置被编程为:收集第一组存储性能数据,该第一组存储性能数据表示多个存储阵列的性能特征,收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定虚拟机,该虚拟机包括多个存储阵列中的至少一个和多个资源中的至少一个。
在一些实施方式中,所述布置位置的确定是基于优化目标函数和一个或多个约束条件的。
在一些实施方式中,所述虚拟机布置装置还被配置为:收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行所述虚拟机的确定。
在第三实施方式中,提供了一种用于在云网络中布置虚拟机的方法,该方法包括:收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中一个或多个存储阵列的性能特征,收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征,以及基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中所述虚拟机的布置位置。
在一些实施方式中,确定述布置位置的步骤是基于优化目标函数和一个或多个约束条件的。
在一些实施方式中,该方法还包括:在所述数据存储器中,收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及进一步基于所述第三组应用程序需求数据来进行确定所述布置位置的步骤。
在一些实施方式中,该方法还包括:进一步基于预留约束条件进行确定所述布置位置的步骤。
在一些实施方式中,该方法还包括:响应于确定所述布置位置不满足所述优化目标函数的一个或多个约束条件,发送客户端通知。
附图说明
各种实施方式在附图中举例说明,其中:
图1示出包括虚拟机(VM)布置体系结构110的实施方式的云网络100;
图2描述了示出用于提供网络和存储器-感知虚拟机(VM)布置的方法的实施方式的流程图;以及
图3按照图式示出VM布置装置的实施方式。
为了方便理解,已经使用相同的参考数字来标出具有实质相同或相似的结构和/或实质相同或相似的函数的元素。
具体实施方式
各种实施方式提供了用于提供网络和存储器-感知虚拟机(VM)布置的方法和装置,该方法和装置基于网络层度量标准、存储阵列的性能特征和应用程序的约束条件来对布置进行优化。有利地,由于存储器经常有必要为应用程序请求服务,基于所述存储器阵列的性能特征和网络层度量标准来进行VM布置能够引起VM性能的明显改进。
图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)之一。
客户端120可以是启动指向在资源180上实现的虚拟机之一的应用程序请求的任意类型或数目的客户机。例如,客户端可以是:服务器、移动电话、平板电脑、台式电脑、个人数字助理(PDA)、电子阅读器、网络设备(例如,交换机或路由器)和/或类似的。
通信信道125、145、165和185可以在一个或更多通信信道上例如:无线通信(例如,LTE、GSM、CDMA、蓝牙);毫微微蜂窝通信(例如,WiFi);分组网络通信(例如,IP);宽带通信(例如,DOCSIS和DSL);存储通信(例如,光纤信道、iSCSI)等来支持检索或响应应用程序请求。应该理解到,虽然描写成单一的连接,然而通信信道125、145、165、和185可以是支持客户端120与资源180上实现的虚拟机之间的通信的通信信道的任意数目或组合。应该理解到通信信道145可以以任意合适的方式进行配置。例如,通信信道可以直接在交换机150-a和150-b之间进行配置。
网络130可以是用于便利在客户端120和资源180上实现的虚拟机之间的通信的任意合适的网络。例如,网络130可以是局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)和/或相似的任意组合。
边缘交换机140和本地交换机150可以是适合于按指定路线发送客户端120和在资源180上实现的虚拟机之间的应用程序请求和响应的任意数目和任意等级的交换机和/或路由器。例如,虽然仅示出两个等级的交换机(例如,边缘交换机140和本地交换机150),但是云网络100可以包括另外的交换机。还应该理解的是,虽然交换机以分层的方式示出,但是可以使用足够按指定路线发送应用程序请求和响应的任意合适的网络配置。
存储阵列160存储该应用程序数据并提供在资源180上实现的虚拟机使用的存储服务器。存储阵列160可以是任意合适的存储设备,并且可以包括任意数目的存储设备。所包括的存储设备可以是相似或不同和/或可以是彼此本地的或地理上分散的。
资源180包括由创建来服务应用程序请求的虚拟机组成的资源。特别地,资源180可以包括一个或多个处理器、一个或多个网络接口、一个或多个内存和/或一个或多个数据存储设备。而且,资源180可以是任意合适的物理硬件配置例如:服务器、由虚拟机的组件组成的刀片例如:处理器、内存和/或网络接口和/或存储设备(例如,存储阵列160)。虚拟机可以包括资源180的任意合适的配置。例如,虚拟机可以包括来自一个或多个物理设备(例如,180-a和180-d)的处理资源和来自一个或多个物理设备(例如,180-b和180-c)的内存资源。这些物理设备可以互相是本地的或互相远离的。在一些实施方式中,虚拟机将使用存储在存储阵列160之一中的应用程序数据来服务来自于客户端120之一的应用程序请求。
应该理解的是,资源180可以在任意合适的通信路径上与任意数目的存储阵列160进行通信。例如,VM180-a经由通信路径:185-a~185-d~185-c~185-d与存储阵列160-b进行通信。
图2描述了示出用于提供网络和存储器-感知虚拟机(VM)布置的方法的实施方式的流程图。
在方法200中,步骤220包括收集存储设备的性能特征(例如,图1的存储通信信道165和/或存储阵列160)。特别地,可以收集关于该存储设备性能的特征例如,数据存储器和接入成本、读延迟、写延迟、可获得的存储空间和/或存储碎片等级。例如,可以收集写和/或读接入延迟存储通信信道165。另一个例子中,可以收集存储阵列160中存储数据的成本。
应该理解的是,存储设备可以影响应用程序的性能,特别是在存储密集型应用程序中。结果,通过基于关于该存储设备的特征来布置VM,VM布置算法可以增加性能。
在方法200中,步骤230包括收集网络的网络性能特征(例如,图1的边缘通信信道145、本地通信信道185和/或边缘交换机140和/或本地交换机150的性能特征)。特别地,关于网络性能例如,接入成本(例如,带宽)处理器延迟、通信信道延迟和/或负载平衡约束条件的性能特征。例如,可以收集穿过本地通信信道185的数据包的接入延迟。
方法200可选择地包括步骤240。步骤240包括收集应用程序需求。特别地,应用程序和应用程序的各种组件的技术的需求和应用程序的服务需求,应用程序和应用程序的各种组件的技术的需求包括例如,出现多少VM、它们如何连接、应用程序的数据存取模式。例如,如果存储密集型应用程序布置在比较其他存储阵列相对更快的存储阵列中,该存储密集型应用程序将受益。
应该理解的是,应用程序需求可以影响应用程序的性能,特别是在存储密集型应用程序中。结果,通过基于应用程序需求布置VM,VM布置算法可以增加性能。
在方法200中,步骤250包括确定虚拟机的布置。特别地,虚拟机的布置包括选择选择资源(例如,资源180)在数据中心中的位置,该资源构成虚拟机。虚拟机资源的位置的选择是基于关于存储装置性能、网络性能特征和应用程序需求的特征。
在一些实施方式中,商业上可获得的存储阵列驱动维持存储器设备(例如,图1的存储阵列160)的特征,并且经由API将该信息暴露。在这些实施方式的一些实施方式中,步骤220包括经由API对存储设备的最小的子集的性能特征进行检索。
在一些实施方式中,步骤230包括在每个架顶式交换机(例如,本地交换机150)的间隔尺寸处收集网络性能特征。在又一个实施方式中,网络性能特征与数据中心的拓扑学相关联。
在一些实施方式中,网络设备例如,图1的本地交换机150提供网络性能特征。在这些实施方式的一些实施方式中,步骤230包括经由商业上可获得的接口对网路设备的最小子集的性能特征进行检索。在这些实施方式的一些实施方式中,提供实时网络性能特征。
在一些实施方式中,步骤250包括使用传统经典的最优化技术。传统经典的最优化技术包括确定最好地实现所需目标或目的的动作。最好地实现所需目标或目的的动作可以通过对目标函数的值进行最大化或最小化来确定。在一些实施方式中,目标函数的目标或度量标准可以是最小化成本或最小化应用程序存取延迟。
问题可以表现为:
最优化:
[E.1]y=f(x1,x2,...,xn)
满足:
其中,等式E.1是目标函数,并且等式E.2构成本解决方案中施加的约束条件的集合。该x1变量,x1,x2,...,xn表示决定变量的集合,并且y=f(x1,x2,...,xn)是根据这些决定变量表达的目标函数。应该理解的是,该目标函数可以被最大化或最小化。
参考图1,在第一简单示例中,用户正在云中运行远程桌面应用程序。在这个示例中,用户启动VM,该VM附加到存储阵列,该存储阵列存储VM中安装的用户的文件系统。架顶式(ToR)交换机(例如,本地交换机150)连接多个物理机器(例如,资源180),VM在该物理机器上运行。
该VM机布置方法(方法200)将基于关于存储装置性能、网络性能特征和应用程序需求的特征来确定VM的布置。
以这个示例为例,假设以下的特征和约束条件应用于:
1)单个资源(例如,180-a~180-f)和单个存储阵列(例如,160-a或160-b)将构成实例化VM;
2)在165-a上的读延迟是60ms,并且在165-b上的读延迟是20ms;
3)在165-a上的写延迟是80ms,并且在165-b上的写延迟是120ms;
4)185-a~185-f的存取延迟分别是20ms、20ms、15ms、25ms、30ms和30ms;
5)在所有边缘通信信道上的存取延迟是50ms;
6)在160-a上的存储成本是$10/GB,并且在160-b上的存储成本是$20/GB;
7)在165-a上的读和写的带宽成本是$5/GB,并且在165-b上的读和写的带宽成本是$10/GB;
8)在185-a~185-f上的读和写的带宽成本是$5/GB;
9)在185-a~185-f上的处理器和网络资源成本是相同的;
10)存储阵列160都有充足的存储能力;以及
11)应用程序需要10GB的数据存储器、1GB/月带宽的以及只读请求服务。
如果这个简单示例的唯一目标需要将存取延迟最小化,那么目标函数取决于关于延迟的决定变量(例如,约束条件(2)、(3)、(4)和(5))。在这种情况下,由于在通信路径185-d~165-b上的合计延迟最小(也就是,25ms+20ms=45ms)。
将这个布置与仅注重网络性能特征的VM布置策略进行比较,方法200的VM布置有助于导向更好的结果(在这个示例中,比较75ms的45ms)。例如,在使用相同的约束条件,但是注重网络性能特征并忽略数据存取的实时延迟的布置策略中,VM将布置在具有最低网络存取延迟(也就是,15ms)的资源180中。然而,对于读存取的这个布置的实际的延迟将是在185-c上和在165-a上的延迟,该延迟将是15ms+60ms=75ms。
应该理解的是,将进一步的约束条件增加到这个示例中可以影响目标函数的输出。例如,增加应用程序约束条件:
12)成本(X)<$25/月。
由于使用存储阵列165-b在资源180-d中布置VM违反了约束条件(12),也就是,每月35$的成本超出了每月25$的成本的约束条件,所以,增加约束条件(12)将方法200的目标函数的输出改变为在资源180-c中布置VM。
在一些实施方式中,目标函数可能找不到任何满足该约束条件的解决方案。例如,还增加另一个应用程序约束条件:
13)延迟(X)<50ms。
增加约束条件(13)创建了在其中没有满足该约束条件的输出的目标函数。在这些实施方式的一些实施方式中,可以选择最好的匹配。在这些实施方式的一些实施方式中,可以给用户发送消息,通知他们该VM将不能满足所有施加的约束条件。
在一些实施方式中,目标函数可以带有目标来最优化到最小的成本。在这些实施方式的又一个实施方式中,可以实施性能约束条件来保证维持最小的性能等级。
在一些实施方式中,目标函数可以最优化为对目标/目的的数目的最小化和/或最大化。例如,目标函数可以对成本和延迟输出进行加权来确定对于加权算法的最佳的VM布置。在一些实施方式中,将确定加权的排序,并且将选择带有最高或最低加权排序的VM布置作为输出。在一些实施方式中,最好的匹配将基于加权的排序。
在一些实施方式中,该约束条件可以基于负载平衡来决定。在这些实施方式的一些实施方式中,可以确定在对请求进行服务中处理器的延迟。
在一些实施方式中,资源(例如,资源180)和/或存储阵列(例如,存储阵列160)的物理位置可以是目标函数上的约束条件。例如,为了遵守区域技术输出法律,可以依据该目标函数来实施约束条件,例如“资源(区域)=美国”。其中,变量“资源(区域)”指定该资源必须定位在美国。在这些实施方式的一些实施方式中,资源和/或存储阵列的物理位置在图2的步骤220和/或步骤230期间收集。在这个实施方式的又一实施方式中,资源和/或存储阵列的物理位置可以基于标题信息例如,IP地址来确定。在这些实施方式的又一实施方式中,资源和/或存储阵列的物理位置可以从远程存储器和/或本地存储器来检索。应该理解的是,比较该约束条件可以在任意格式中收集和/或检索信息。例如,可以翻译GPS坐标来确定该GPS坐标在美国。
应该理解的是,应用程序存取模式可以在VM布置决定上具有影响。例如,在这个示例中,如果(11)中的应用程序存取模式,“只读请求服务”,改为“只写请求服务”,当带有资源组合180-c/160-a的虚拟机的延迟是95ms,并且带有资源组合180-d/160-b的虚拟机的延迟是140ms时,布置的决定从初始示例(也就是180-d)改成180-c。
在一些实施方式中,存储阵列160和/或资源180的子集可以为客户预留,该客户已经预留了服务等级阈值。例如,经由服务等级协议(例如,服务参数的实时应用程序的需求质量)和/或经由契约规定的资源协议(例如,基于他们对于服务的等级的契约规定,资源180可以由客户获得)。在这些实施方式的一些实施方式中,存储阵列和/或资源的预留可以经由目标函数上的约束条件来实施。例如,该约束条件可以是:“资源≠180-c”。
应该理解的是,典型地,云中的数据存储器在附加在ToR交换机(例如,本地交换机150)的存储阵列(例如,存储阵列160)中,并备份在多个地方。例如,用户的文件系统可以在存储阵列160-a中,并且备份在存储阵列160-b中。
虽然主要描述并以特别的顺序描述了方法200中示出的步骤,但是应该理解的是,该步骤可以以任意合适的顺序来执行。例如,步骤220、230和240可以以任意顺序执行。而且,由一个步骤识别的步骤也可以以该顺序中一个或多个其他步骤中执行和/或多于一个步骤的通常的行为可以仅执行一次。
应该理解的是,上述各种方法的步骤能够通过可编程的计算机来执行。其中,一些实施方式还有意于包括程序存储设备,例如,数据存储介质,该程序存储设备是机器或计算机可读并且对指令的机器可执行的或计算机可执行的程序进行编码。其中,所述指令执行所述上述方法的所有步骤的一些或全部。程序存储设备可以是,例如,数字内存、磁性存储介质例如,磁盘和磁带、硬盘驱动器、或光学可读数据存储介质。该实施方式还有意于覆盖编程以执行上述方法的所述步骤的计算机。
图3按照图式示出VM布置装置300的实施方式。装置300包括处理器310、数据存储器311以及I/O接口330。
处理器310控制装置300的操作。处理器310与数据存储器311进行合作。
数据存储器311可以存储程序数据,例如,收集的数据存取特征(例如,从图2的步骤220)、收集的网络性能特征(例如,从图2的步骤230)和/或收集的应用程序需求(例如,从图2的步骤240)。数据存储器311还存储可由处理器310执行的程序320。
处理器-可执行程序320可以包括I/O接口程序321和VM布置程序323。处理器310与处理器-可执行程序320进行合作。
如上所述,I/O接口330与处理器310和I/O接口程序321进行合作来支持图1的通信信道145、165和/或185上的通信(例如,在图2的步骤220中经由API对存储设备的性能特征进行检索中以及在图2的步骤230中对网络性能特征进行检索中)。
如上所述,VM布置程序323执行图2的方法200的步骤。特别地,该VM布置程序收集关于存储设备的性能特征(例如,图2的步骤220)、收集网络性能特征(例如,图2的步骤230)并且选择性地收集应用程序需求(例如,步骤240),然后基于所收集的数据来确定虚拟机的位置布置。
应该理解的是,VM布置程序323可以通过对资源(例如,资源180)和/或包括该虚拟机的存储阵列(例如,存储阵列160)进行选择来确定该VM的位置布置。还应该理解的是,在执行位置布置的确定时,VM布置装置300不是必需具有设备的真实的物理位置的指示。
在一些实施方式中,装置300可以是一个或多个资源180的部分或全部。在其他实施方式中,装置300可以是位于资源180外部的装置,例如,远程服务器。在这些实施方式的一些实施方式中,装置300可以位于本地交换机150外部。
在一些实施方式中,装置300可以是虚拟机。在这些实施方式的一些实施方式中,虚拟机可以包括来自不同机器和/或在地理上分散开的组件。例如,数据存储器311和处理器310可以在两个不同的物理机器中。在这些实施方式的一些实施方式中,虚拟机可以包括来自图1的资源180的资源。
当处理器-可执行程序320在处理器310上执行时,程序代码段与处理器联合提供类似地操作特定的逻辑电路的唯一的设备。
虽然在此关于实施方式进行描画和描述,其中,例如,程序和逻辑存储在数据存储器内部,并且内存通信地连接到处理器,但是应该理解的是,这些信息可以以任意其他合适的方式进行存储(例如,使用任意合适数目的内存、存储器或数据库);使用通信地耦合到设备的任意合适的安排的内存、存储器或数据库的任意合适的安排;以内存、存储器和/或内部或外部的数据库的任意合适的组合来存储信息;或使用任意合适数目的可存取外部内存、存储器或数据库。同样地,这里提到的术语数据存储器意味着包含内存、存储器和数据库所有的合适的组合。
描述和附图仅仅示出了本发明的原则。应该理解到,本领域技术人员将能够设计出各种安排,该安排虽然在这里没有明确地描述或示出,但体现了本发明的原则并包括在其精神和范围内。而且,这里叙述的所有示例主要明显地意于仅仅教学的目的来帮助读者理解本发明的原则和发明人贡献的思想来促进该技术,并且解释为对于这些明确叙述的示例和条件不具有限制性。而且,叙述本发明的原则、方面和实施方式的这里的所有声明,还有其具体的示例,都有意于包括其等同物。
附图中示出的各种元素的功能,包括标为“处理器”的任意功能块,可以通过专用的硬件的使用和与合适的软件关联的能够执行软件的硬件的使用来提供。当用处理器提供时,该作用可以由单个专用的处理器、由单个共享的处理器或由多个个体处理器来提供,一些个体处理器可以是共享的。而且,术语“处理器”或“控制器”的明确使用不应该解释为唯一地指能够执行软件的硬件,并且可以暗含包括,没有限制性,数字信号处理器(DSP)硬件、网络处理器、应用程序特定集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。也可以包括其他硬件,传统的和/或定制的。相似地,附图中示出的任意交换机仅是概念上的。他们的作用可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的相互作用、或甚至用手动地来实现,这些可由实施者进行选择的特殊的技术从上下文更明确地理解。
应该理解的是,这里的任意块图表代表体现本发明原则的说明电路的概念性视角。相似地,应该理解的是,任意流程图、流程图表、状态转换图表、虚假代码等代表各种过程,该过程可以在计算机可读介质中实质性地表示,因此可由计算机或处理器来执行,而不论该计算机或处理器是否明确示出。
Claims (10)
1.一种用于提供云网络中的虚拟机的布置的装置,该装置包括:
数据存储器;以及
处理器,通信地耦合到所述数据存储器,该处理器配置为:
在所述数据存储器中收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中的一个或多个存储阵列的性能特征;
在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及
基于所述第一组存储性能数据和所述第二组网络性能数据来确定所述云网络中的所述虚拟机的布置位置。
2.根据权利要求1所述的装置,其中,所述布置位置的确定是基于优化目标函数的,该优化函数被配置为基于一个或多个约束条件将延迟输出和成本输出中的至少一者最小化。
3.根据权利要求2所述的装置,其中,所述优化目标函数是基于多个目标的加权排序的。
4.根据权利要求1所述的装置,其中,所述处理器还被配置为:
在所述数据存储器中收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及
进一步基于所述第三组应用程序需求数据来进行所述布置位置的确定。
5.根据权利要求4所述的装置,其中,所述第三组应用程序需求数据包括数据存取模式。
6.一种用于提供云网络中的虚拟机的布置的虚拟机布置系统,该系统包括:
多个存储阵列;
多个资源;以及
虚拟机布置装置,该虚拟机布置装置通信地耦合到所述多个存储阵列和所述多个资源,所述虚拟机布置装置被配置为:
收集第一组存储性能数据,该第一组存储性能数据表示多个存储阵列的性能特征;
收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及
基于所述第一组存储性能数据和所述第二组网络性能数据来确定虚拟机,该虚拟机包括多个存储阵列中的至少一个存储阵列和多个资源中的至少一个资源。
7.根据权利要求6所述的系统,其中,所述虚拟机布置装置还被配置为:
收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及
进一步基于所述第三组应用程序需求数据来进行所述虚拟机的确定。
8.一种用于提供云网络中的虚拟机的布置的方法,该方法包括:
在通信地耦合到数据存储器的处理器处,在所述数据存储器中收集第一组存储性能数据,该第一组存储性能数据表示所述云网络中的一个或多个存储阵列的性能特征;
在所述数据存储器中收集第二组网络性能数据,该第二组网络性能数据表示所述云网络的一个或多个网络性能特征;以及
基于所述第一组存储性能数据和所述第二组网络性能数据,通过所述处理器与所述数据存储器合作来确定所述云网络中的所述虚拟机的布置位置。
9.根据权利要求8所述的方法,该方法还包括:
在所述数据存储器中,收集第三组应用程序需求数据,该第三组应用程序需求数据表示所述虚拟机的一个或多个应用程序需求;以及
进一步基于所述第三组应用程序需求数据来进行确定所述布置位置的步骤。
10.根据权利要求9所述的方法,该方法还包括:
进一步基于预留约束条件来进行确定所述布置位置的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/351,521 | 2012-01-17 | ||
US13/351,521 US9626222B2 (en) | 2012-01-17 | 2012-01-17 | Method and apparatus for network and storage-aware virtual machine placement |
PCT/US2012/066754 WO2013109344A1 (en) | 2012-01-17 | 2012-11-28 | Method and apparatus for network and storage-aware virtual machine placement |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104054056A true CN104054056A (zh) | 2014-09-17 |
Family
ID=47561789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280067309.1A Pending CN104054056A (zh) | 2012-01-17 | 2012-11-28 | 用于网络和存储器-感知虚拟机布置的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9626222B2 (zh) |
EP (1) | EP2805238A1 (zh) |
JP (1) | JP2015504224A (zh) |
KR (1) | KR20140102315A (zh) |
CN (1) | CN104054056A (zh) |
WO (1) | WO2013109344A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326053A1 (en) * | 2012-06-04 | 2013-12-05 | Alcatel-Lucent Usa Inc. | Method And Apparatus For Single Point Of Failure Elimination For Cloud-Based Applications |
US10387201B2 (en) * | 2012-06-26 | 2019-08-20 | Vmware, Inc. | Storage performance-based virtual machine placement |
EP3002914B1 (en) | 2014-10-01 | 2018-09-05 | Huawei Technologies Co., Ltd. | A network entity for programmably arranging an intermediate node for serving communications between a source node and a target node |
CN104298539B (zh) * | 2014-10-13 | 2017-09-22 | 南京大学 | 基于网络感知的虚拟机调度与再调度方法 |
JP6107801B2 (ja) * | 2014-12-12 | 2017-04-05 | 日本電気株式会社 | 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム |
US11336519B1 (en) * | 2015-03-10 | 2022-05-17 | Amazon Technologies, Inc. | Evaluating placement configurations for distributed resource placement |
WO2016162916A1 (ja) * | 2015-04-06 | 2016-10-13 | 株式会社日立製作所 | 管理計算機およびリソース管理方法 |
US10002014B2 (en) * | 2015-07-10 | 2018-06-19 | International Business Machines Corporation | Management of a virtual machine in a virtualized computing environment based on a fabric limit |
US9740705B2 (en) | 2015-12-04 | 2017-08-22 | International Business Machines Corporation | Storlet workflow optimization leveraging clustered file system roles |
US10362143B2 (en) | 2016-09-29 | 2019-07-23 | International Business Machines Corporation | Dynamically transitioning the file system role of compute nodes for provisioning a storlet |
US10831409B2 (en) | 2017-11-16 | 2020-11-10 | International Business Machines Corporation | Volume reconfiguration for virtual machines |
US10768998B2 (en) * | 2018-04-05 | 2020-09-08 | International Business Machines Corporation | Workload management with data access awareness in a computing cluster |
US10776173B1 (en) | 2018-04-30 | 2020-09-15 | Amazon Technologies, Inc. | Local placement of resource instances in a distributed system |
US11416298B1 (en) * | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
JP7380363B2 (ja) | 2020-03-19 | 2023-11-15 | 富士通株式会社 | 構築管理装置、情報処理システム及び構築管理プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818873A (zh) * | 2005-02-11 | 2006-08-16 | 戴尔产品有限公司 | 用于虚拟机中的集中式软件管理的系统和方法 |
US20100250744A1 (en) * | 2009-03-24 | 2010-09-30 | International Business Machines Corporation | System and method for deploying virtual machines in a computing environment |
US20110004735A1 (en) * | 2009-07-01 | 2011-01-06 | International Business Machines Corporation | Method and apparatus for two-phase storage-aware placement of virtual machines |
US20110078679A1 (en) * | 2009-09-30 | 2011-03-31 | International Business Machines Corporation | Provisioning virtual machine placement |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970902B1 (en) * | 2001-05-24 | 2005-11-29 | Cisco Technology, Inc. | Method and apparatus for providing a distributed service in a network |
US7296267B2 (en) * | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
US8374929B1 (en) * | 2007-08-06 | 2013-02-12 | Gogrid, LLC | System and method for billing for hosted services |
JP5210730B2 (ja) | 2007-11-28 | 2013-06-12 | 株式会社日立製作所 | 仮想マシンモニタ及びマルチプロセッサシステム |
US7801994B2 (en) | 2007-11-29 | 2010-09-21 | Hitachi, Ltd. | Method and apparatus for locating candidate data centers for application migration |
US8307177B2 (en) * | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US8166478B2 (en) * | 2009-04-28 | 2012-04-24 | Lsi Corporation | System and apparatus for utilizing a virtual machine to support redundancy in a virtual machine manager pair |
US20120158923A1 (en) | 2009-05-29 | 2012-06-21 | Ansari Mohamed | System and method for allocating resources of a server to a virtual machine |
US8307362B1 (en) * | 2009-12-18 | 2012-11-06 | Emc Corporation | Resource allocation in a virtualized environment |
US8504670B2 (en) * | 2010-03-23 | 2013-08-06 | Riverbed Technology, Inc. | Virtualized data storage applications and optimizations |
-
2012
- 2012-01-17 US US13/351,521 patent/US9626222B2/en active Active
- 2012-11-28 KR KR1020147019863A patent/KR20140102315A/ko not_active Application Discontinuation
- 2012-11-28 EP EP12816154.4A patent/EP2805238A1/en not_active Ceased
- 2012-11-28 WO PCT/US2012/066754 patent/WO2013109344A1/en active Application Filing
- 2012-11-28 CN CN201280067309.1A patent/CN104054056A/zh active Pending
- 2012-11-28 JP JP2014553293A patent/JP2015504224A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818873A (zh) * | 2005-02-11 | 2006-08-16 | 戴尔产品有限公司 | 用于虚拟机中的集中式软件管理的系统和方法 |
US20100250744A1 (en) * | 2009-03-24 | 2010-09-30 | International Business Machines Corporation | System and method for deploying virtual machines in a computing environment |
US20110004735A1 (en) * | 2009-07-01 | 2011-01-06 | International Business Machines Corporation | Method and apparatus for two-phase storage-aware placement of virtual machines |
US20110078679A1 (en) * | 2009-09-30 | 2011-03-31 | International Business Machines Corporation | Provisioning virtual machine placement |
Also Published As
Publication number | Publication date |
---|---|
WO2013109344A1 (en) | 2013-07-25 |
EP2805238A1 (en) | 2014-11-26 |
US9626222B2 (en) | 2017-04-18 |
KR20140102315A (ko) | 2014-08-21 |
US20130185414A1 (en) | 2013-07-18 |
JP2015504224A (ja) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104054056A (zh) | 用于网络和存储器-感知虚拟机布置的方法和装置 | |
US10673777B2 (en) | Intent-based services orchestration | |
US11134390B2 (en) | Spectrum sharing system for telecommunications network traffic | |
US9204239B1 (en) | Segmented customization package within distributed server architecture | |
US11184794B2 (en) | Systems and methods for distribution of application logic in digital networks | |
CN105207947B (zh) | 一种过滤抖动的渐进式流量调度方法和系统 | |
CN104521198A (zh) | 用于虚拟以太网接口绑定的系统和方法 | |
CN104426799A (zh) | 通信量和负载感知动态队列管理 | |
US10439901B2 (en) | Messaging queue spinning engine | |
US10200240B2 (en) | Method for configuring an M2M system | |
CN103959884A (zh) | 在无线用户设备中使应用数据优先进行传输 | |
CN106464545A (zh) | 细粒度网络监控 | |
EP3923549A1 (en) | Data downloading method and related apparatus | |
CN103634147A (zh) | 一种网络拓扑管理方法及设备 | |
CN105408871A (zh) | 用于提供冗余数据访问的方法和装置 | |
EP2557740A1 (en) | Self-configuring router and method therefor | |
CN109314878A (zh) | 用于u平面子服务流映射的方法和装置 | |
Mahboob et al. | Dynamic VNF placement to manage user traffic flow in software-defined wireless networks | |
CN105763616A (zh) | 资源下载方法及装置 | |
CN108009036A (zh) | 一种定位导致数据异常的操作的方法及服务器 | |
CN110224863A (zh) | 一种文件加速下载方法及装置 | |
CN101938399A (zh) | 一种路由方法、装置 | |
KR20220008682A (ko) | 마이크로 네트워크 기능 배치 방법 및 전자 장치 | |
WO2018181956A1 (ja) | 仮想ネットワーク機能の制御方法、仮想ネットワーク機能管理装置及び仮想ネットワーク提供システム | |
CN108259527B (zh) | 基于代理的业务处理方法、装置及网元设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140917 |
|
WD01 | Invention patent application deemed withdrawn after publication |