CN104809539A - 数据中心服务器资源的动态规划方法 - Google Patents
数据中心服务器资源的动态规划方法 Download PDFInfo
- Publication number
- CN104809539A CN104809539A CN201410044086.8A CN201410044086A CN104809539A CN 104809539 A CN104809539 A CN 104809539A CN 201410044086 A CN201410044086 A CN 201410044086A CN 104809539 A CN104809539 A CN 104809539A
- Authority
- CN
- China
- Prior art keywords
- server
- machine room
- rack
- scheduling
- data center
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供一种数据中心服务器资源的动态规划方法,适于由数据中心配置d个服务器。此数据中心包括多个机房,各个机房包括可配置多个服务器的多个机柜,其中d为正整数。此方法先在所有机房中找寻其剩余空间大于或等于d的机柜,以配置d个服务器。若此机柜无法配置d个服务器,则对其中一个机房进行单机房重分配,以空出一个机柜,使得此机柜的剩余空间大于或等于d,而可配置d个服务器。若无法空出机柜,则进行跨机房重分配,以将所述机房中对应机柜的对应服务器位置空出,使得这些对应服务器位置的剩余空间大于或等于d,以配置d个服务器。
Description
技术领域
本发明是有关于一种服务器资源的规划方法,且特别是有关于一种数据中心服务器资源的动态规划方法。
背景技术
现有云端数据中心(cloud data center)为达到规模经济效益,并提供租用户们(tenants)近乎无限的运算能力与储存能力,多半拥有成千上万台服务器,并利用网络将其互相连接。而仅提供其中一部分的服务器与网络予各租户租用,以提供稳定且高效能的云端服务给终端使用者。在数据中心业者欲提高资源利用率以求取资产的最大利益的目标下,高效率资源规划技术已成为云端数据中心的必要关键技术。
各数据中心针对租户所建置的云端服务千般万样且大小不一,个别服务的网络频宽需求也变化难测或具有高度弹性。然而,现有数据中心的资源分配机制给个别云端服务的网络结构(topology)并不是非阻塞式(non-blocking)的网络,因此在许多状况下即使该服务所占用的网络结构仍有剩余频宽,却可能因为网络流量阻塞在某些节点而无法完整利用。同时,不同云端服务的传输路径也可能因共享网络资源而互相干扰。因此,现有机制实难兼顾数据中心资源利用率、网络效能与服务稳定性三大目的。而且,数据中心现有的混合式网络资源共享机制也可能带来信息安全漏洞。关于这些挑战,目前仍缺乏统一而成熟的解决方法。
发明内容
本发明提供一种数据中心服务器资源的动态规划方法,可兼顾数据中心的资源利用率、网络效能与服务稳定性。
本发明的数据中心服务器资源的动态规划方法,适于由数据中心分配一服务,其中此服务要求配置d个服务器。上述数据中心包括多个机房(pod),各个机房包括分别与多个边际交换器(edge switch)连接的多个机柜(rack),各个机柜可配置多个服务器,并经由所连接的边际交换器依序将所述服务器连接至多个整合交换器(aggregation switch),其中d为正整数。上述方法是先在所有机房中找寻其剩余空间大于或等于d的机柜,以将d个服务器分配至此机柜。若此机柜无法配置d个服务器,则对其中一个机房进行单机房重分配,以将此机房的其中一个机柜空出,使得此机柜的剩余空间大于或等于d,从而将d个服务器分配至此机柜。若无法在此机房中空出机柜,则对所有机房进行跨机房重分配,以空出所述机房中对应机柜的对应服务器位置,使得这些对应服务器位置的剩余空间大于或等于d,从而将d个服务器分配至这些对应服务器位置。
在本发明的一实施例中,上述在机房中找寻剩余空间大于或等于d的机柜,以将d个服务器分配至此机柜的步骤包括在所有机房中找寻总剩余空间最多的至少一个机房,此总剩余空间为各个机房中所有机柜的剩余空间的总和。然后,在这些机房中选择排序在先的第一机房分配服务。
在本发明的一实施例中,在上述选择排序在先的第一机房分配服务的步骤之后,所述方法还判断此第一机房的总剩余空间是否小于d,而若此总剩余空间小于d,结束服务的分配。
在本发明的一实施例中,上述对其中一个机房进行单机房重分配的步骤包括对上述的第一机房进行单机房重分配。
在本发明的一实施例中,上述在所有机房中找寻剩余空间大于或等于d的机柜,以将d个服务器分配至此机柜的步骤还将d个服务器分配至机柜中排序在先的多个服务器位置。
在本发明的一实施例中,上述对其中一个机房进行单机房重分配,以将此机房的其中一个机柜空出,使得此机柜的剩余空间大于或等于d的步骤包括针对此机房,列出包括多个重组排程的排程清单,这些重组排程包括机房内两个服务器位置的交换,以及机房之间对应服务器位置的交换。然后,针对此机房中的各个机柜,将涉及机柜内服务器位置的所有重组排程以一个二分图(bipartite graph)表示,并利用最大匹配演算法(maximum cardinalitybipartite matching)选择彼此无重叠的多个重组排程集合。最后,在此机房中选择重组排程集合的排程数目大于或等于d的机柜,并对此机柜执行所述d组重组排程,以将此机柜空出。
在本发明的一实施例中,上述在机房中选择重组排程集合的排程数目大于或等于d的机柜的步骤包括在机房中所述重组排程集合的排程数目大于或等于d的多个机柜中选择排序在先的第一机柜。
在本发明的一实施例中,上述对机柜执行d组重组排程,以将此机柜空出的步骤包括执行此机柜的多个重组排程中排序在先的d组重组排程,以将此机柜空出。
在本发明的一实施例中,上述针对机房,列出包括多个重组排程的排程清单的步骤包括将此机房内多个机柜之间对应的多个服务器位置中任两个服务器位置的交换加入排程清单,并将此机房内不属于同一个机柜且不属于所述机柜之间相同对应位置的任两个服务器位置的交换加入排程清单,以及将机房之间任两个对应服务器位置的交换加入排程清单。
在本发明的一实施例中,上述对所有机房进行跨机房重分配,以将这些机房中对应机柜的对应服务器位置空出,使得对应服务器位置的剩余空间大于或等于d的步骤包括针对各个机房,列出包括多个重组排程的排程清单,这些重组排程包括各个机房内每个空闲服务器的位置及两个服务器位置的交换。然后,针对机房之间对应的每一个服务器位置(a,e),计算其可被重组的机房数目,其中a代表对应的整合交换器的编号,e代表对应的边际交换器的编号。最后,选择可被重组的机房数目大于或等于d的服务器位置(a,e),并对服务器位置(a,e)可被重组的机房执行重组排程,以将这些机房中对应机柜的对应服务器位置(a,e)空出。
在本发明的一实施例中,上述选择可被重组的机房数目大于或等于d的服务器位置(a,e)的步骤包括选择可被重组的机房数目大于或等于d的多个服务器位置(a,e)中排序在先的第一服务器位置(a,e)。
在本发明的一实施例中,上述对服务器位置(a,e)可被重组的机房执行重组排程,以将这些机房中对应机柜的对应服务器位置(a,e)空出的步骤包括对服务器位置(a,e)可被重组的机房执行排序在先的d个重组排程,以将这些机房中对应机柜的对应服务器位置(a,e)空出。
在本发明的一实施例中,上述针对各个机房,列出包括多个重组排程的排程清单的步骤包括将此机房内每个空闲服务器的位置加入排程清单,并将此机房内多个机柜之间对应的多个服务器位置中任两个服务器位置的交换加入排程清单,以及将此机房内不属于同一个机柜且不属于机柜之间相同对应位置的任两个服务器位置的交换加入排程清单。
基于上述,本发明的数据中心服务器资源的动态规划方法是针对多功能树状(fat tree)网络架构设计数种特殊的资源分配形式,并结合单机房重分配、跨机房重分配及重组排程条列等多个程序,提出可平行进行的资源重组机制。因此,本发明在重组过程中仅需使用极少量的资源搬移次数,即可满足各种云端服务的需求,而达到兼顾数据中心的资源利用率、网络效能与服务稳定性的目的。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是本发明一实施例所示出的多功能树状网络架构的示意图;
图2是本发明一实施例所示出的单服务器分配的示意图;
图3是本发明一实施例所示出的单机柜分配的示意图;
图4是本发明一实施例所示出的跨机柜分配的示意图;
图5是本发明一实施例所示出的跨机房分配的示意图;
图6(a)是本发明一实施例所示出的以二维矩阵表示整合交换器及边际交换器的分配的示意图;
图6(b)是本发明另一实施例所示出的以二维矩阵表示整合交换器及边际交换器的分配的示意图;
图7(a)是本发明一实施例所示出的以三维矩阵表示不同机房间整合交换器及边际交换器的分配的示意图;
图7(b)是本发明另一实施例所示出的以三维矩阵表示不同机房间整合交换器及边际交换器的分配的示意图;
图8(a)是本发明一实施例所示出的重组排程的范例;
图8(b)是本发明另一实施例所示出的重组排程的范例;
图9是本发明一实施例所示出的数据中心服务器资源的动态规划方法的流程图;
图10是本发明一实施例所示出的单机房重分配程序的流程图;
图11是本发明一实施例所示出的重组排程条列程序的流程图;
图12是本发明一实施例所示出的跨机房重分配程序的流程图。
附图标记说明:
10:网络架构;
12:8埠交换器;
20、30、40A、40B、40C、50A、50B、50C:机柜;
22、32、34、36、42、44、46、52、54、56:服务器;
60:二维矩阵;
70:三维立方体;
72:节点;
74、76、78:节点列;
a1~a5:整合交换器;
e1~e5:边际交换器;
S902~S916、S1002~S1006、S1102~S1108、S1202~S1206:步骤。
具体实施方式
本发明是针对多功能树状(fattree)网络架构设计数种特殊的资源分配形式,使得每个云端服务均可拥有非阻塞式(non-blocking)的网络架构,而能够适应多变的网络频宽需求。此外,本发明还根据这些资源分配形式的特性设计了资源重组机制,其可在多项式时间内快速计算出保证可行且可平行进行的资源重组排程。因此,可将零碎资源重组,腾出完整空间以满足新进的云端服务需求。
图1是本发明一实施例所示出的多功能树状网络架构的示意图。请参照图1,本实施例的网络架构10是一个由8埠交换器12建构而成的8元(8-ary)多功能树状网络架构。网络架构10包括位于边际层的32个边际交换器(edgeswitch)、位于整合层的32个整合交换器(aggregation switch),以及位于核心层的16个核心交换器(core switch)。其中,每个边际交换器可分别与4个服务器连接,边际交换器和整合交换器是每4个为一组彼此互相连接,而可与一个机房(pod)内的16台服务器连接。例如,一个机房可使用网络架构10内的8个8埠交换器12,将此机房内部的16个服务器与核心层的16个核心交换器互相连接。需说明的是,虽然上述实施例是以由8埠交换器建构而成的8元树状网络架构做说明,但本发明并不限于此。在实际的应用上,本发明也适用于使用16元、24元、48元等不同尺寸的网络。
本实施例允许同一个服务内所属的每个服务器均使用一条路径连到一个共同的交换器(可以是边际交换器、整合交换器或核心交换器),并从此共同交换器使用一条路径连到核心交换器。每条路径最多由一个服务使用,这种网络拓朴的超额利用率(oversubscription ratio)为1:1。因此,需求变化难测的云端服务在任意流量模式下都可取得完整的互连频宽。此外,由于每个网络连结最多只分配到一个云端服务,因此不受同属一个数据中心的其他云端服务所干扰,而可确保其稳定性及效能,也可降低信息风险。
针对上述共同交换器位置的不同,本发明设计了四种资源分配形式,这些形式的网络距离(hop distance)与容错能力均不相同,而可适用于不同需求的云端服务。其中,单服务器分配是对应于所需服务器数量为1的云端服务,其仅使用1个边际交换器,连到1个整合交换器,再连到1个核心交换器;单机柜(rack)分配是对应于所需服务器数量为d的云端服务,其是将所有的d个服务器均放在同一个机柜中,共同连到同一个边际交换器,再连到d个整合交换器,再连到d个核心交换器,此种分配方式具备较低的延迟(latency);跨机柜分配是对应于所需服务器数量为d的云端服务,其是将所有的d个服务器分别放到d个机柜中,共使用d个边际交换器(即每个服务器连到1个边际交换器),再连到同一个整合交换器,再连到d个核心交换器,此种分配方式具备较佳的容错(fault-tolerance)能力;跨机房分配是对应于所需服务器数量为d的云端服务,其是将所有的d个服务器分别放到d个机房中,使用d个边际交换器(即每个服务器连到1个边际交换器),d个边际交换器再连到d个整合交换器(即每个边际交换器连到1个整合交换器),再从不同的机房连到同一个核心交换器,此种分配方式兼具较佳的容错能力及资源利用率。以下即举例说明这四种资源分配形式。
图2是本发明一实施例所示出的单服务器分配的示意图。请参照图2,本实施例是用以分配所需服务器数量为1的云端服务。其中,本实施例是将服务器22配置在机柜20中,并依照服务器22在机柜20中的位置(即位置2),建立服务器22的连接路径,此路径依序为边际交换器4、整合交换器2及核心交换器4。
图3是本发明一实施例所示出的单机柜分配的示意图。请参照图3,本实施例是用以在单机柜中分配所需服务器数量为3的云端服务。其中,本实施例是将服务器32、34、36放在同一个机柜30中,并依照这些服务器在机柜30的位置(即位置1、3、4),将其共同连到同一个边际交换器2,再经由边际交换器2分别连到整合交换器1、3、4,再分别经由整合交换器1、3、4连到不同位置的核心交换器2。
图4是本发明一实施例所示出的跨机柜分配的示意图。请参照图4,本实施例是用以跨机柜分配所需服务器数量为3的云端服务。其中,本实施例是将服务器42、44、46分别放在机柜40A、40B、40C中,而分别使用边际交换器1、2、4连到同一个整合交换器2,再经由整合交换器2连到核心交换器1、2、4。
图5是本发明一实施例所示出的跨机房分配的示意图。请参照图5,本实施例是用以在不同机房之间分配所需服务器数量为3的云端服务。其中,本实施例是将服务器52、54、56分别放到不同机房中位置相对应的机柜(即机房3的机柜50A、机房4的机柜50B、机房6的机柜50C)且位置相对应的服务器位置中,并使用位于不同机房但位置相对应的3个边际交换器3(即每个服务器连到1个边际交换器3)连接,再将这3个边际交换器3分别连到不同机房但位置相对应的3个整合交换器2(即每个边际交换器3连到1个整合交换器2),再经由这些整合交换器2从不同的机房连到同一个核心交换器3。
需说明的是,虽然上述范例是以服务器的分配与重组做说明,但本发明还可应用于网络路径的选择,也就是图2至图5内的服务器如何通过网络连接到核心交换器。详言之,当数据中心在为服务器选择网络路径时,就是依照服务器的编号而依序选择对应的交换器编号,从而建立相关的路径。此外,上述图2至图5的范例虽然针对每个交换器及服务器给予编号,然而这些编号仅为举例说明,仅用于表示服务器对于边际交换器、整合交换器或核心交换器的对应连接关系,实际上并未存在,图2至图5范例中的服务器及交换器的位置实际上没有顺序性。或者,实际上应用时可采用不同编号顺序。
另一方面,由于多功能树状网络架构在三个交换器层的上行链路与下行链路具有对称的特性,故在上述的分配机制下,资源分配及重分配过程的计算可以仅局限于边际交换器、整合交换器及其间的所有连线,而不用计算整个网络,计算结果仍可轻易转换为整个多功能树状网络的资源分配结果。
据此,本发明采用另一个角度来描述上述的分配机制,即对于任意的机房,将其所有的整合交换器及边际交换器共同形成一个二分图(bipartitegraph),并用一个等价的二维矩阵表示。其中,假设a与e分别代表整合交换器及边际交换器的编号,则每个(a,e)的组合皆可代表某个路径的位置。再考虑多功能树状网络内含有多个机房,因此,整个多功能树状网络的资源分配及重分配过程可视为是针对一个三维矩阵进行运算。
举例来说,图6(a)是本发明一实施例所示出的以二维矩阵表示整合交换器及边际交换器的分配的示意图,图6(b)是本发明另一实施例所示出的以二维矩阵表示整合交换器及边际交换器的分配的示意图。其中,图6(a)中的细线示出整合交换器a1~a4及边际交换器e1~e4之间所有可能的连结,而图6(a)中的粗线则示出整合交换器a1~a4及边际交换器e1~e4之间的实际连结。若用一个等价的二维矩阵来表示图6(a)中整合交换器a1~a4及边际交换器e1~e4之间的实际连结,则可得到如图6(b)所示的二维矩阵60。
另一方面,图7(a)是本发明一实施例所示出的以三维矩阵表示不同机房间整合交换器及边际交换器的分配的示意图,图7(b)是本发明另一实施例所示出的以三维矩阵表示不同机房间整合交换器及边际交换器的分配的示意图。请参照图7(a),本实施例是以整合交换器(a轴)、边际交换器(e轴)及机房(p轴)的编号做为三维空间的3个轴,而示出三维立方体70。此三维立方体70的每个节点是代表多功能树状网络中的不同服务器位置(即每个服务器位置具有独立的机房编号、整合交换器编号及边际交换器编号)。请参照图7(b),若将上述的单服务器分配以此三维立方体70表示,则该服务器即可以三维立方体70中的一个节点(例如节点72)表示;若将上述的单机柜分配以此三维立方体70表示,则所要分配的服务器可以三维立方体70中a轴方向上的多个节点(e轴、p轴方向上的位置固定,例如节点列74)表示;若将上述的跨机柜分配以此三维立方体70表示,则所要分配的服务器可以三维立方体70中e轴方向上的多个节点(a轴、p轴方向上的位置固定,例如节点列76)表示;若将上述的跨机房分配以此三维立方体70表示,则所要分配的服务器可以三维立方体70中p轴方向上的多个节点(a轴、e轴方向上的位置固定,例如节点列78)表示。
基于上述的分配机制,本发明是将整个资源分配机制区分为一个主程序与三个子程序(分别为单机房重分配程序、跨机房重分配程序及重组排程条列程序),其中三个子程序可由主程序在必要时进行呼叫,主程序是针对一个云端服务进行资源分配。当剩余空间无法直接部署服务请求时,主程序即呼叫子程序寻找资源重组的排程,并选择重组成本较低的适当排程。若重组可行,则对资源进行重组,并部署该服务请求。
需注意的是,下列实施例是针对单机柜分配的服务进行部署。然而,如先前所述,资源过程的分配与重组过程仅针对多功能树状网络的局部架构(即整合层与边际层)做计算,而此局部结构又为对称形式。因此,若有需要针对跨机柜分配的服务进行部署,则在一实施例中,可将上述结构翻转,即将每个机房的二维矩阵进行转置(transpose),而暂时将运作中的单机柜分配服务视为跨机柜分配服务,将运作中的跨机柜分配服务视为单机柜分配服务,并以下列方法进行重分配。待重分配程序结束时,再将分配结果转换回原状(即将跨机柜分配服务的重分配结果转换回单机柜分配服务的结果,以及将单机柜分配服务的重分配结果转换回跨机柜分配服务的结果)。此外,在另一实施例中,则可将上述图7(a)及图7(b)所示出的三维矩阵整个进行九十度旋转)以作为分配程序的输入,如此即可使用相同的程序来部署跨机柜分配的服务。此外,若在进行上述单机柜分配及跨机柜分配的过程中发现剩余空间不足,也可改用跨机房分配的形式部署至不同的机房中。而是否支援此种跨机房的资源分配与重组,则可依不同的运营策略弹性调整,在此不设限。
在本发明的一实施例中,服务部署的基本概念是在上述的矩阵中找寻符合形式要求的剩余空间。本实施例对于剩余空间的要求虽然不一定要连续,但却必须在同一行(或列)中。对于重组程序而言,由于各种分配形式都可以在某一个方向上移动。因此,重组程序可以找到许多重组排程,也就是多组移动路径的配对与顺序,而可在移动次数有限的情况下,腾出适当的剩余空间,以建置新进的云端服务。
举例来说,图8(a)是本发明一实施例所示出的重组排程的范例,图8(b)是本发明另一实施例所示出的重组排程的范例。请先参照图8(a),本实施例说明单机房内服务器位置的重组排程,其中所有的服务器位置可以(a,e)代表,a代表整合交换器a1~a5,e代表边际交换器e1~e5。若重组排程欲空出边际交换器e3下的服务器位置以便进行单机柜分配,且将每个服务器位置的可移动次数(即重组成本上限)限制为1,则可分别将空的服务器位置(e1,a2)、(e1,a4)、(e5,a1)、(e5,a5)分别与边际交换器e3下的服务器位置(e3,a2)、(e3,a4)、(e3,a1)、(e3,a5)对换,即可腾出边际交换器e3的剩余空间,供新进的云端服务做分配。请再参照图8(b),若重组排程同样欲空出边际交换器e3下的服务器位置以便进行单机柜分配,且将每个服务器位置的可移动次数限制为2,则可先将空的服务器位置(e1,a4)、(e4,a2)分别与同机柜下的服务器位置(e1,a1)、(e4,a5)对换,再将对换后空的服务器位置(e1,a1)、(e4,a5)与边际交换器e3下的服务器位置(e3,a1)、(e3,a5)对换,即可腾出边际交换器e3的剩余空间,供新进的云端服务做分配。
接下来,即介绍本发明的资源分配机制的主程序与三个子程序的详细实施方式。其中,主程序例如是由数据中心执行,以针对远端租户或使用者所提出的服务要求,进行服务器资源的动态规划。本实施例的数据中心包括多个机房。各个机房包括多个机柜,而可分别连接多个边际交换器。各个机柜可配置多个服务器,并可经由所连接的边际交换器依序将服务器连接至多个整合交换器。
图9是本发明一实施例所示出的数据中心服务器资源的动态规划方法的流程图。请参照图9,本实施例的方法适用上述的数据中心,而可由数据中心执行主程序,以便针对需求服务器数量为d且为单机柜分配的云端服务进行分配,其中d为正整数。
首先,数据中心会在所有机房中找寻一个剩余空间大于或等于d的机柜(步骤S902),并判断是否找到此机柜(步骤S904)。其中,数据中心例如会在所有机房中找寻总剩余空间最多的至少一个机房,此总剩余空间为各个机房中所有机柜的剩余空间的总和。当总剩余空间最多的机房不止一个时,数据中心例如会选择其中排序在先的第一机房来分配服务。而在选出第一机房之后,数据中心例如还会进一步判断此第一机房的总剩余空间是否小于d。其中,若第一机房的总剩余空间小于d,则代表所有机房都无法满足该服务,而可结束该服务的分配。
在步骤S904中,若数据中心有找到剩余空间大于或等于d的机柜,则可将d个服务器分配至此机柜(步骤S906)。其中,若数据中心发现此机柜的剩余空间大于d,例如会将d个服务器分配至此机柜中排序在先的多个空闲服务器位置,即有空闲的第1到第d个服务器位置。要说明的是,未必要连续分配d个服务器,若无排序在先且连续的d个连续空闲空间,d个服务器可为不连续分配于此机柜中。
另一方面,在步骤S904中,若数据中心无法找到该机柜,则会在所有机房中选择一个机房进行单机房重分配,以将此机房的其中一个机柜空出,使得此机柜的剩余空间大于或等于d(步骤S908)。其中,数据中心例如会在所有机房中选择总剩余空间最多且排序在先的第一机房来进行单机房重分配,在此不设限。需说明的是,在步骤S908中,主程序例如会呼叫单机房重分配程序,以对所述机房进行单机房重分配。
举例来说,图10是本发明一实施例所示出的单机房重分配程序的流程图。请参照图10,本实施例是由数据中心执行单机房重分配程序,以针对所述机房,列出包括多个重组排程的排程清单,这些重组排程包括机房内两个服务器位置的交换,以及所述机房之间对应服务器位置的交换(步骤S1002)。其中,单机房重分配程序在列出排程清单时,例如会呼叫重组排程条列程序,并要求提供排程清单,关于重组排程条列程序的详细流程将在下文说明。
待取得所述机房的排程清单后,单机房重分配程序即会针对此机房中的各个机柜,将涉及该机柜内服务器位置的所有重组排程以一个二分图(bipartite graph)表示,并利用最大匹配演算法(maximum cardinality bipartitematching)选择尽量多的彼此无重叠的多个重组排程集合(步骤S1004)。无重叠指的是两个(或以上)的服务器不能被搬移至同一个可用的服务器位置。
最后,单机房重分配程序即可从这些重组排程集合中,选择重组排程集合的排程数目大于或等于d的机柜,并对此机柜执行d组重组排程,以将此机柜空出(步骤S1006)。其中,单机房重分配程序在选择机柜时,例如会选择第一个具有足够排程数目(即重组排程集合的排程数目大于或等于d)的机柜,而在对此机柜执行d组重组排程时,单机房重分配程序还可在此机柜的多个重组排程中选择排序在先的d组重组排程来执行,在此不设限。待完成资源重组后,单机房重分配程序即会将其执行重组排程后所释放出的可用服务器位置回传给主程序,以便主程序分配服务。
需说明的是,上述主程序在呼叫单机房重分配程序时,例如会使用不同的重组成本上限参数,此参数的范围为1至3,而重组排程条列程序在被单机房重分配程序呼叫时,即会依照单机房重分配程序给定的重组成本上限来建立排程清单,以便提供给单机房重分配程序进行后续的重组排程。应说明的是,同一机柜中移动一次的重组成本为1。
举例来说,图11是本发明一实施例所示出的重组排程条列程序的流程图。请参照图10,本实施例是由数据中心根据给定的机房及重组成本上限,在单一个机房中列举出各种合适的资源重组排程,此重组成本上限的参数值包括0至3。其中,如果重组成本上限大于或等于0,数据中心即会将机房内每个空闲服务器的位置加入排程清单(步骤S1102);如果重组成本上限大于或等于1,数据中心会将机房内所有机柜之间对应的多个服务器位置中任两个服务器位置的交换加入排程清单(步骤S1104),此步骤即类似于上述图8(a)的交换方式,而仅对机柜之间相对应的服务器位置进行交换;如果重组成本上限大于或等于2,数据中心会将机房内不属于同一个机柜且不属于机柜之间相同对应位置的任两个服务器位置的交换加入排程清单(步骤S1106),此步骤即类似于上述图8(b)的交换方式,而可对机房内位于不同行(即不属于同一个机柜)且不同列(即不属于机柜之间相同对应位置)的两个服务器位置进行交换;如果重组成本上限大于或等于3,数据中心会将所有机房之间任两个对应服务器位置的交换加入排程清单(步骤S1108),此步骤类似于将上述图5中服务器52、54、56的位置互相交换,以便通过跨机房的交换空出某机房的某个机柜,使其剩余空间能够分配d个服务器。
根据上述,由于主程序在呼叫单机房重分配程序时,所使用的重组成本上限参数为1至3,故单机房重分配程序在呼叫重组排程条列程序时,重组排程条列程序只会将步骤S1104至S1108中产生的重组排程加入排程清单,并回报单机房重分配程序,以便单机房重分配程序据以执行重组排程。
回到图9的流程,在进行单机房重分配之后,数据中心会判断其是否可在此机房中空出机柜(步骤S910)。若可空出机柜,数据中心即可将d个服务器分配至此机柜(步骤S906)。其中,若数据中心在空出机柜后,发现所空出的剩余空间大于d,则可将d个服务器分配至此机柜中排序在先的多个空闲服务器位置,即有空闲的第1到第d个服务器位置。
另一方面,在步骤S910中,若无法空出机柜,则数据中心会对所有机房进行跨机房重分配,以空出这些机房中对应机柜的对应服务器位置,使得这些对应服务器位置的剩余空间大于或等于d(步骤S912)。其中,数据中心例如会在可被重组的机房数目大于或等于d的多个服务器位置(a,e)中,选择排序在先的第一服务器位置(a,e)以进行跨机房重分配,在此不设限。需说明的是,在步骤S912中,主程序例如会呼叫跨机房重分配程序,以对所述机房进行跨机房重分配。
举例来说,图12是本发明一实施例所示出的跨机房重分配程序的流程图。请参照图12,本实施例是由数据中心执行跨机房重分配程序,以针对各个机房,列出包括多个重组排程的排程清单,这些重组排程包括各个机房内每个空闲服务器的位置及两个服务器位置的交换(步骤S1202)。类似于上述实施例中的单机房重分配程序,本实施例中跨机房重分配程序在列出排程清单时,例如也会呼叫重组排程条列程序,并要求其提供排程清单。
需说明的是,上述主程序在呼叫跨机房重分配程序时,例如会使用不同的重组成本上限参数,此参数的范围为0至2,而重组排程条列程序在被跨机房重分配程序呼叫时,即会依照跨机房重分配程序给定的重组成本上限来建立排程清单,以便提供给跨机房重分配程序进行后续的重组排程。
而根据上述,由于主程序在呼叫跨机房重分配程序时,所使用的重组成本上限参数为0至2,故跨机房重分配程序在呼叫重组排程条列程序时,重组排程条列程序只会将步骤S1102至S1106中产生的重组排程加入排程清单,并回报跨机房重分配程序,以便跨机房重分配程序据以执行重组排程。
待取得各个机房的排程清单后,跨机房重分配程序即会针对机房之间对应的每一个服务器位置(a,e),计算其可被重组的机房数目(步骤S1204),其中a代表对应的整合交换器的编号,e代表对应的边际交换器的编号。
最后,跨机房重分配程序即可选择可被重组的机房数目大于或等于d的服务器位置(a,e),并对此服务器位置(a,e)可被重组的机房执行重组排程,以将这些机房中对应机柜的对应服务器位置(a,e)空出(步骤S1206)。其中,跨机房重分配程序在选择机房时,例如会选择第一个具有足够可重组机房数的服务器位置(a,e),而在对此服务器位置(a,e)执行d组重组排程时,跨机房重分配程序还可在服务器位置(a,e)可被重组的多个重组排程中,选择排序在先的d个重组排程来执行,以将这些机房中对应机柜的对应服务器位置(a,e)空出。待完成资源重组后,跨机房重分配程序即会将其执行这些重组排程后所释放出的可用服务器位置回传给主程序,以便主程序分配服务。
综上所述,本发明的数据中心服务器资源的动态规划方法是通过特定网络资源分配结构,以及特定资源分配暨重组机制,使得数据中心内的个别云端服务得以独享不受干扰的完整网络频宽,而可适应云端服务的任意网络互连需求。为克服特定资源分配形式在资源利用率上的瓶颈与限制,本发明的资源重组技术可以在短时间内产生合理的资源重组排程,该排程仅使用极低的重组次数以重新分配网络资源,而可提高数据中心的资源利用率。同时,在本发明的资源重组过程中,数据中心运作中的网络结构保持不变,因此得以在维持高度资源利用率的同时,仍确保其服务稳定性及可靠度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (22)
1.一种数据中心服务器资源的动态规划方法,适于由数据中心分配服务,其特征在于,该服务要求配置d个服务器,该数据中心包括多个机房,各所述机房包括分别连接多个边际交换器的多个机柜,各所述机柜可配置多个服务器,并经由所连接的该边际交换器依序连接所述服务器至多个整合交换器,其中d为正整数,该方法包括下列步骤:
在所述机房中找寻剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜;
若无法找到该机柜,对所述机房其一进行单机房重分配,以空出该机房的其中一个机柜,使得该机柜的该剩余空间大于或等于d,并分配该d个服务器至该机柜;以及
若无法在该机房中空出该机柜,对所有机房进行跨机房重分配,以空出所述机房中对应机柜的对应服务器位置,使得所述对应服务器位置的该剩余空间大于或等于d,并分配该d个服务器至所述对应服务器位置。
2.根据权利要求1所述的数据中心服务器资源的动态规划方法,其特征在于,在所述机房中找寻该剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜的步骤包括:
在所述机房中找寻总剩余空间最多的至少一机房,该总剩余空间为各所述机房中所有机柜的该剩余空间的总和;以及
选择所述机房中排序在先的第一机房分配该服务。
3.根据权利要求2所述的数据中心服务器资源的动态规划方法,其特征在于,在选择所述机房中排序在先的该第一机房分配该服务的步骤之后,还包括:
判断该第一机房的该总剩余空间是否小于d;以及
若该总剩余空间小于d,结束该服务的分配。
4.根据权利要求2所述的数据中心服务器资源的动态规划方法,其特征在于,对所述机房其一进行该单机房重分配的步骤包括:
对该第一机房进行该单机房重分配。
5.根据权利要求1所述的数据中心服务器资源的动态规划方法,其特征在于,在所述机房中找寻该剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜的步骤还包括:
分配该d个服务器至该机柜中排序在先的多个服务器位置。
6.根据权利要求1所述的数据中心服务器资源的动态规划方法,其特征在于,对所述机房其一进行该单机房重分配,以空出该机房的其中一个机柜,使得该机柜的该剩余空间大于或等于d的步骤包括:
针对该机房,列出包括多个重组排程的排程清单,所述重组排程包括该机房内两个服务器位置的交换,以及所述机房之间对应服务器位置的交换;
针对该机房中的各所述机柜,将涉及该机柜内所述服务器位置的所有重组排程以二分图表示,并利用最大匹配演算法选择彼此无重叠的多个重组排程集合;以及
选择该机房中所述重组排程集合的排程数目大于或等于d的该机柜,并执行该机柜的d组重组排程,以空出该机柜。
7.根据权利要求6所述的数据中心服务器资源的动态规划方法,其特征在于,选择该机房中所述重组排程集合的该排程数目大于或等于d的该机柜的步骤包括:
选择该机房中所述重组排程集合的该排程数目大于或等于d的多个机柜中排序在先的第一机柜。
8.根据权利要求6所述的数据中心服务器资源的动态规划方法,其特征在于,执行该机柜的d组重组排程,以空出该机柜的步骤包括:
执行该机柜的多个重组排程中排序在先的d组重组排程,以空出该机柜。
9.根据权利要求6所述的数据中心服务器资源的动态规划方法,其特征在于,针对该机房,列出包括所述重组排程的该排程清单的步骤包括:
将该机房内所述机柜之间对应的多个服务器位置中任两个服务器位置的交换加入所述排程清单;
将该机房内不属于同一机柜且不属于所述机柜之间相同对应位置的任两个服务器位置的交换加入所述排程清单;
将所述机房之间任两个对应服务器位置的交换加入所述排程清单。
10.根据权利要求1所述的数据中心服务器资源的动态规划方法,其特征在于,对所有机房进行该跨机房重分配,以空出所述机房中对应机柜的对应服务器位置,使得所述对应服务器位置的该剩余空间大于或等于d的步骤包括:
针对各所述机房,列出包括多个重组排程的排程清单,所述重组排程包括各所述机房内每个空闲服务器的位置及两个服务器位置的交换;
针对所述机房之间对应的每一个服务器位置(a,e),计算其可被重组的机房数目,其中a代表对应的该整合交换器的编号,e代表对应的该边际交换器的编号;
选择可被重组的该机房数目大于或等于d的该服务器位置(a,e),并对该服务器位置(a,e)可被重组的所述机房执行所述重组排程,以空出所述机房中对应机柜的对应服务器位置(a,e)。
11.根据权利要求10所述的数据中心服务器资源的动态规划方法,其特征在于,选择可被重组的该机房数目大于或等于d的该服务器位置(a,e)的步骤包括:
选择可被重组的该机房数目大于或等于d的多个服务器位置(a,e)中排序在先的第一服务器位置(a,e)。
12.根据权利要求10所述的数据中心服务器资源的动态规划方法,其特征在于,对该服务器位置(a,e)可被重组的所述机房执行所述重组排程,以空出所述机房中对应机柜的对应服务器位置(a,e)的步骤包括:
对该服务器位置(a,e)可被重组的所述机房执行排序在先的d个重组排程,以空出所述机房中对应机柜的对应服务器位置(a,e)。
13.根据权利要求10所述的数据中心服务器资源的动态规划方法,其特征在于,针对各所述机房,列出包括所述重组排程的该排程清单的步骤包括:
将该机房内每个空闲服务器的位置加入所述排程清单;
将该机房内所述机柜之间对应的多个服务器位置中任两个服务器位置的交换加入所述排程清单;以及
将该机房内不属于同一机柜且不属于所述机柜之间相同对应位置的任两个服务器位置的交换加入所述排程清单。
14.一种数据中心服务器资源的动态规划方法,适于由数据中心分配服务,其特征在于,该服务要求配置d个服务器,该数据中心包括多个机房,各所述机房包括分别连接多个边际交换器的多个机柜,各所述机柜可配置多个服务器,并经由所连接的该边际交换器依序连接所述服务器至多个整合交换器,其中d为正整数,该方法包括下列步骤:
在所述机房中找寻剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜;
若无法找到该机柜,对所述机房其一进行跨机柜重分配,以空出该机房的所述机柜中位置相对应的多个服务器位置其一,使得该服务器位置的该剩余空间大于或等于d,并分配该d个服务器至各所述机柜的该服务器位置;以及
若无法在该机房中空出该服务器位置,对所有机房进行跨机房重分配,以空出所述机房中对应机柜的对应服务器位置,使得所述对应服务器位置的该剩余空间大于或等于d,并分配该d个服务器至所述对应服务器位置。
15.根据权利要求14所述的数据中心服务器资源的动态规划方法,其特征在于,在所述机房中找寻该剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜的步骤包括:
在所述机房中找寻总剩余空间最多的至少一机房,该总剩余空间为各所述机房中所有机柜的该剩余空间的总和;以及
选择所述机房中排序在先的第一机房分配该服务。
16.根据权利要求15所述的数据中心服务器资源的动态规划方法,其特征在于,在选择所述机房中排序在先的该第一机房分配该服务的步骤之后,还包括:
判断该第一机房的该总剩余空间是否小于d;以及
若该总剩余空间小于d,结束该服务的分配。
17.根据权利要求15所述的数据中心服务器资源的动态规划方法,其特征在于,对所述机房其一进行该跨机柜重分配的步骤包括:
对该第一机房进行该跨机柜重分配。
18.根据权利要求14所述的数据中心服务器资源的动态规划方法,其特征在于,在所述机房中找寻该剩余空间大于或等于d的该机柜,以分配该d个服务器至该机柜的步骤还包括:
分配该d个服务器至该机柜中排序在先的多个服务器位置。
19.根据权利要求14所述的数据中心服务器资源的动态规划方法,其特征在于,对所述机房其一进行该跨机柜重分配,以空出该机房的所述机柜中位置相对应的所述服务器位置其一,使得所述服务器位置的该剩余空间大于或等于d的步骤包括:
针对该机房,列出包括多个重组排程的排程清单,所述重组排程包括该机房内两个服务器位置的交换,以及所述机房之间对应服务器位置的交换;
针对该机房的所述机柜中位置相对应的该服务器位置,将涉及该服务器位置的所有重组排程以二分图表示,并利用最大匹配演算法选择彼此无重叠的多个重组排程集合;以及
选择所述机柜位置相对应的所述服务器位置中所述重组排程集合的排程数目大于或等于d的该服务器位置,并执行该服务器位置的d组重组排程,以空出该服务器位置。
20.根据权利要求19所述的数据中心服务器资源的动态规划方法,其特征在于,选择所述机柜位置相对应的所述服务器位置中所述重组排程集合的该排程数目大于或等于d的该服务器位置的步骤包括:
选择所述机柜位置相对应的所述服务器位置中所述重组排程集合的该排程数目大于或等于d的多个服务器位置中排序在先的第一服务器位置。
21.根据权利要求19所述的数据中心服务器资源的动态规划方法,其特征在于,执行该服务器位置的d组重组排程,以空出该服务器位置的步骤包括:
执行该服务器位置的多个重组排程中排序在先的d组重组排程,以空出该服务器位置。
22.根据权利要求19所述的数据中心服务器资源的动态规划方法,其特征在于,针对该机房,列出包括所述重组排程的该排程清单的步骤包括:
将该机房内各所述机柜中任两个服务器位置的交换加入所述排程清单;
将该机房内不属于同一机柜且不属于所述机柜之间相同对应位置的任两个服务器位置的交换加入所述排程清单;
将所述机房之间任两个对应服务器位置的交换加入所述排程清单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410044086.8A CN104809539B (zh) | 2014-01-29 | 2014-01-29 | 数据中心服务器资源的动态规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410044086.8A CN104809539B (zh) | 2014-01-29 | 2014-01-29 | 数据中心服务器资源的动态规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104809539A true CN104809539A (zh) | 2015-07-29 |
CN104809539B CN104809539B (zh) | 2018-05-11 |
Family
ID=53694348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410044086.8A Active CN104809539B (zh) | 2014-01-29 | 2014-01-29 | 数据中心服务器资源的动态规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809539B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739929A (zh) * | 2016-01-29 | 2016-07-06 | 哈尔滨工业大学深圳研究生院 | 大数据向云端迁移时的数据中心的选择方法 |
CN109936606A (zh) * | 2017-12-18 | 2019-06-25 | 浙江宇视科技有限公司 | 任务分配方法和装置 |
CN111385298A (zh) * | 2020-03-05 | 2020-07-07 | 网易有道信息技术(北京)有限公司江苏分公司 | 数据传输的方法、介质、装置和计算设备 |
WO2021008225A1 (zh) * | 2019-07-18 | 2021-01-21 | 上海交通大学 | 数据中心面向微服务的电力资源分配的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112981A (zh) * | 2008-07-31 | 2011-06-29 | 思科技术公司 | 通信网络中的虚拟机的动态分布 |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
US20120331147A1 (en) * | 2011-06-23 | 2012-12-27 | Cisco Technology, Inc. | Hierarchical defragmentation of resources in data centers |
CN103345298A (zh) * | 2013-07-16 | 2013-10-09 | 山东省计算中心 | 一种基于虚拟it资源分配技术的数据中心节能系统及方法 |
-
2014
- 2014-01-29 CN CN201410044086.8A patent/CN104809539B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102112981A (zh) * | 2008-07-31 | 2011-06-29 | 思科技术公司 | 通信网络中的虚拟机的动态分布 |
US20120331147A1 (en) * | 2011-06-23 | 2012-12-27 | Cisco Technology, Inc. | Hierarchical defragmentation of resources in data centers |
CN102394782A (zh) * | 2011-11-15 | 2012-03-28 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统 |
CN103345298A (zh) * | 2013-07-16 | 2013-10-09 | 山东省计算中心 | 一种基于虚拟it资源分配技术的数据中心节能系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739929A (zh) * | 2016-01-29 | 2016-07-06 | 哈尔滨工业大学深圳研究生院 | 大数据向云端迁移时的数据中心的选择方法 |
CN105739929B (zh) * | 2016-01-29 | 2019-01-11 | 哈尔滨工业大学深圳研究生院 | 大数据向云端迁移时的数据中心的选择方法 |
CN109936606A (zh) * | 2017-12-18 | 2019-06-25 | 浙江宇视科技有限公司 | 任务分配方法和装置 |
WO2021008225A1 (zh) * | 2019-07-18 | 2021-01-21 | 上海交通大学 | 数据中心面向微服务的电力资源分配的方法和系统 |
CN111385298A (zh) * | 2020-03-05 | 2020-07-07 | 网易有道信息技术(北京)有限公司江苏分公司 | 数据传输的方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104809539B (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI539776B (zh) | 資料中心伺服器資源的動態規劃方法 | |
TW412695B (en) | Method and apparatus for allocating processing resources | |
McGregor et al. | Network design: An algorithm for the access facility location problem | |
CN108322937A (zh) | 无线接入网中用于网络切片的资源分配方法和编排器 | |
CN104809539A (zh) | 数据中心服务器资源的动态规划方法 | |
CN106843745A (zh) | 容量扩展方法及装置 | |
CN105049353B (zh) | 一种为业务配置路由路径的方法及控制器 | |
CN102595417A (zh) | 一种小区资源规划方法及系统 | |
CN102075402A (zh) | 虚拟网络映射处理方法和系统 | |
CN103781107B (zh) | 无线通信网络的仿真、仿真处理方法及装置 | |
CN105991478B (zh) | 服务器资源分配方法及其系统 | |
CN104683488A (zh) | 流式计算系统及其调度方法和装置 | |
CN103077074B (zh) | 一种三维空间数据并行调度方法和系统 | |
CN113055232B (zh) | 一种网络配置部署方法、装置与设备 | |
CN108848146A (zh) | 一种基于时间触发通信业务的调度优化方法 | |
CN109379281A (zh) | 一种基于时间窗口的流量调度方法及系统 | |
CN108073696A (zh) | 基于分布式内存数据库的gis应用方法 | |
CN109462508A (zh) | 节点部署方法、装置和存储介质 | |
EP3011449A1 (en) | Method and controller for clustering applications in a software-defined network | |
CN105262663B (zh) | 一种混合虚拟网络的跨域映射方法 | |
AU714733B2 (en) | Method of controlling an exchange | |
Karakoc et al. | Multi-layer decomposition of optimal resource sharing problems | |
CN106874108A (zh) | 移动云计算中最小化微云使用个数技术 | |
CN107295032A (zh) | 一种数据中心的数据同步的方法和设备 | |
CN110113217A (zh) | 微服务管理方法、装置、管理平台及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |