CN105871751A - 一种数据中心网络带宽保证方法及系统 - Google Patents
一种数据中心网络带宽保证方法及系统 Download PDFInfo
- Publication number
- CN105871751A CN105871751A CN201610177881.3A CN201610177881A CN105871751A CN 105871751 A CN105871751 A CN 105871751A CN 201610177881 A CN201610177881 A CN 201610177881A CN 105871751 A CN105871751 A CN 105871751A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- subflow
- bandwidth
- guarantee information
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种数据中心网络带宽保证方法及系统,该方法从租户的请求信息中提取所示租户的最小带宽保证信息,由所述服务器节点记录所述最小带宽保证信息;所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;将所述虚拟机对间的每条数据流切分为多条子流,并为所述多条子流分配各自的优先级,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种数据中心网络带宽保证方法及系统。
背景技术
云计算数据中心是互联网当前和未来的主要发展方向之一,其正逐步发展成为具有重要战略意义的新型产业,中国IDC圈最新发布的统计数据指出,2014年中国互联网数据中心的市场规模高达372.2亿元,相较于2013年的增速为41.8%。
现有技术条件下,云计算数据中心服务器硬件资源以虚拟机的形式提供给租户使用,租户的应用程序运行于数据中心虚拟机中,并通过互连数据中心内部服务器节点的数据中心网络实现租户虚拟机间的数据通信,云计算数据中心通过虚拟化技术实现服务器硬件资源的抽象以及同一物理服务器上不同虚拟机间硬件资源的隔离和性能保证,即一方面保证虚拟机的性能不低于某一性能下限,另一方面保证该虚拟机所获得的性能不会受到同一物理服务器上其它虚拟机的影响,例如,将某一处理器核绑定到租户虚拟机或者将某一段固定的内存空间分配给虚拟机并确保同一物理服务器上不同虚拟机所分配的内存地址空间互不交叠。
云计算数据中心中所有的虚拟机所产生的通信流量共享数据中心网络带宽资源,尽管虚拟化技术可以实现服务器硬件资源的隔离和性能保证,现有技术背景下的云计算数据中心无法有效地实现网络带宽资源的隔离和网络性能保证,例如,Amazon EC2云平台和阿里云平台中,仅仅保证租户虚拟机访问因特网时所能获得的网络带宽(即数据中心网络出口带宽),而不提供租户虚拟机间的带宽保证支持,数据中心网络带宽资源无监管式的共享访问,导致不同虚拟机所产生的通信数据流相互干扰,进而严重影响租户应用程序的网络性能,例如,与运行于本地计算机集群系统相比,应用程序运行于Amazon EC2云计算数据中心时所获得的网络吞吐量(带宽)随着应用的运行时间急剧波动,同时,大量数据中心应用的网络性能依赖于其所能获得网络带宽,如数据备份和大数据分析处理等,因此,应用程序所能获得的网络带宽的波动,导致应用程序所获得的网络性能急剧波动,进而导致数据中心应用程序的网络性能无法得到保证,然而,为了满足租户的服务等级需求(SLA,Service LevelAgreement),云计算数据中心需要为大量应用程序提供可预测的网络性能,即保证应用程序所获得的网络性能不低于其所要求的性能下限。
考虑到大量数据中心应用的网络性能依赖于其所能获得的网络带宽,因此为了给云计算数据中心租户的应用程序提供可预测的网络性能,本领域技术人员已经提出多种能够为云计算数据中心租户提供最小带宽保证的网络带宽资源共享方案,以保证租户虚拟机可以获得的网络带宽不低于其所要求的最小带宽保证值,从而为租户的应用程序提供可预测的网络性能。
虚拟机放置算法用于在满足特定的资源约束条件下将租户的虚拟机部署到云计算数据中心的物理服务器,即对于任意一个租户虚拟机,虚拟机放置算法确定其需要部署到哪一台物理服务器,资源约束用于确保某一物理服务器上所有虚拟机请求的计算资源的总量不超过该物理服务器所提供的计算资源的总量,例如某一物理服务器上部署的所有虚拟机请求的内存大小的总和不能超过该物理服务器所能提供的内存空间总量,为了满足云计算数据中心租户的带宽保证需求,虚拟机放置算法需要确保任意链路l上分配的保证带宽的总和不超过链路l的带宽容量,即其中N为通信数据流经链路l路由的“源-目的”虚拟机对的数目,Bi为虚拟机对i请求的保证带宽,Cl为链路l的带宽容量。
静态资源预留方案通过将指定容量的带宽资源分配给租户虚拟机的方式保证租户虚拟机可以获得的最小可用带宽不小于其所请求的保证带宽,图1给出了静态资源预留方案的实例,图1中,链路L的带宽容量为1Gbps(约为1000Mbps),该链路上存在三条数据流,假设三条数据流属于不同的通信虚拟机对,同时假设给这三条数据流F1、F2和F3分配的保证带宽分别为200Mbps、100Mbps和300Mbps,那么,静态资源预留技术下,每条数据流可以固定地获得为其分配的保证带宽,即分别为200Mbps、100Mbps和300Mpbs,虽然静态资源预留方案可以为租户提供最小带宽保证支持,然而该方案的实现是以牺牲网络带宽利用率为代价的,这一现象主要由以下两方面的原因造成:1)某一链路的未分配带宽无法被该链路上的通信数据流使用,以图1为例,图中链路L的已分配带宽的总和为600Mbps,因此,链路L的未分配带宽为400Mbps,此时,即使其中某条数据流的带宽需求超过为其保证的带宽,该部分未分配带宽也无法被该数据流使用,例如,假设数据流F1的带宽需求为250Mbps,由于为数据流F1分配的带宽为200Mbps,所以F1可以获得的带宽仅为200Mbps,因此,图1所示情形下链路L的链路带宽资源利用率仅为60%;2)分配给某一租户的带宽无法被其它租户使用,即使该租户并未充分地使用为其分配的带宽资源,以图1为例,假设数据流F3的需求带宽仅为100Mbps,由于为数据流F3分配的保证带宽为300Mbps,因此,数据流F3的未使用带宽为200Mbps,然而,由于这部分带宽固定地分配给数据流F3,所以这部分带宽无法分配给其它租户使用,考虑到数据中心中租户数据流具有突发特性,同时应用程序的平均带宽远低于其峰值带宽,因此,静态资源预留方案严重降低了网络带宽的利用率。
在参考文献1“Alan Shieh,Srikanth Kandula,Albert Greenberg,Changhoon Kim,and Bikas Saha.Sharing the data center network.InProceedings of the 8th USENIX conference on Networked systems designand implementation.2011:309-322.”中,Shieh等人提出数据中心中租户虚拟机间通信数据流的带宽隔离方案,不同于以TCP为代表的流级链路带宽公平共享方案,该文献提出的方案可以实现虚拟机级的链路带宽公平共享,然而,由于该文献提出的带宽共享方案缺乏接入许可控制机制,因此,该文献提出的方案仅能实现数据流间的带宽隔离,而无法为数据中心“源-目的”虚拟机对间的通信数据流提供最小带宽保证支持,例如,将某一新的“源-目的”虚拟机对间的通信数据流经链路l路由,会降低该链路上其它虚拟机对间通信数据流可获得的带宽,从而导致某些虚拟机对间的通信数据流的带宽低于其所请求的最小保证带宽。
在参考文献2“Vimalkumar Jeyakumar,Mohammad Alizadeh,DavidMazières,Balaji Prabhakar,Albert G.Greenberg,Changhoon Kim.EyeQ:Practical Network Performance Isolation at the Edge.In Proceedings ofthe 10th USENIX conference on Networked Systems Design andImplementation.2013:297-312.”中,Jeyakumar等人提出数据中心网络性能隔离方案EyeQ,EyeQ通过实现于服务器端虚拟化管理软件(Hypervisor)中的速率限制器控制每条虚拟机对间的通信数据流的发送速率,以实现不同虚拟机对间数据流的带宽隔离和带宽保证的目的,由于EyeQ方案中数据流可以竞争网络空闲带宽,因此EyeQ可以克服静态资源预留方案中带宽无法得到充分利用的问题,然而,EyeQ要求数据中心网络拓扑在网络内部是没有拥塞的,但是,由于当前仍然存在大量的数据中心采用在网络内部存在较大的过度订阅(Oversubscription)比的网络拓扑结构,因此,EyeQ无法广泛地部署到当前的数据中心中。
在参考文献3“Lucian Popa,Praveen Yalagandula,Sujata Banerjee,Jeffrey C.Mogul,Yoshio Turner,and Jose Renato Santos.ElasticSwitch:practical work-conserving bandwidth guarantees for cloud computing.InProceedings of the ACM SIGCOMM conference.2013:351-362.”中Popa等人提出拓扑无关的带宽保证方案ElasticSwitch,以克服上述EyeQ方案无法广泛部署到现有数据中心网络的缺陷,同样地,ElasticSwitch采用实现于Hypervisor的速率限制器控制每条虚拟机对间通信数据流的发送速率,同时,该速率限制器使用基于TCP-CUBIC的控制协议调整数据流的发送速率以竞争网络的空闲带宽,因此,ElasticSwitch可以在实现最小带宽保证的同时,克服静态资源预留方案带来的低效带宽利用问题,然而,由于需要竞争链路空闲带宽,因此当链路上分配的保证带宽的总和接近链路容量时,带宽争用通常会导致部分租户虚拟机所获得的网络带宽小于该虚拟机要求的最小带宽保证值,即导致带宽保证需求无法得到满足,为了缓解带宽争用对带宽保证的影响,ElasticSwitch为所有链路预留部分带宽空间,这部分带宽不会以保证带宽的形式分配给租户虚拟机,例如,该文献中为每条链路保留10%的链路容量作为预留带宽空间,然而,预留部分带宽空间会降低数据中心服务提供商同一时刻可以服务的租户数量,进而降低服务提供商的利润。
综上所述,现有的技术存在或者无法有效地利用网络带宽,或者无法工作于常用的数据中心网络拓扑,或者降低服务提供商的收益等缺陷,因而现有的技术无法有效地为云计算数据中心提供带宽保证支持。
与本发明相关的现有技术,如下所示:
现有技术一,如图9所示:保证分割模块按照租户的请求为虚拟机计算指定带宽,即需要保证的带宽,比率分配模块采用类似TCP的速率调整方法动态调整虚拟机的发送速率,以实现带宽保证和工作保持的特性。现有技术的不足:为了减少速率调整对带宽保证的影响,网络中的链路需要保留部分带宽作为保留带宽,这部分带宽不能以保证带宽的形式分配给租户使用,因此降低了数据中心同一时刻可以服务的租户数量,因而降低了数据中心提供商的有效收益。
现有技术二,如图10所示:调度器根据虚拟机的QoS策略动态地调整每个虚拟机的令牌桶队列中的令牌数量,从而实现控制虚拟机发送速率的目的,进而达到各个虚拟机按照QoS策略公平共享网络资源的目的。现有技术的不足:该方案的目标是实现资源的公平共享和隔离,而无法实现带宽保证的目的,例如,假设某台物理服务器中部署4台虚拟机,每台虚拟机请求的保证带宽为250Mbps,所有的虚拟机具有相同的权重,并且假设NIC的带宽为1000Mbps,那么,此时,每台虚拟机获得的带宽为1000/4=250Mbps,可以满足虚拟机的请求带宽,然而,假设另一台虚拟机被部署到该服务器,此时,每台虚拟机获得的带宽为1000/5=200Mbps,从而无法满足租户的带宽保证需求。
发明内容
针对现有技术的不足,本发明提出一种数据中心网络带宽保证方法及系统。
本发明提出一种数据中心网络带宽保证方法,包括:
步骤1,从租户的请求信息中提取所述租户的最小带宽保证信息,将所述最小带宽保证信息分发到相应的服务器节点,并由所述服务器节点记录所述最小带宽保证信息;
步骤2,所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;
步骤3,将所述虚拟机对间的每条数据流切分为多条子流,并为所述多条子流分配各自的优先级,为每个虚拟机创建多个速率限制器,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
所述步骤1中,所述请求信息中包括所述租户需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个所述虚拟机提供的最小保证带宽信息。
所述步骤2中通过虚拟化管理软件记录最小带宽保证信息,其中所述虚拟化管理软件运行于服务器节点。
所述步骤3中每条子流包括拥塞控制窗口并计算每条子流对应的RTT值;
传输层协议为每条子流发送的数据段添加传输层序列号,所述传输层序列号用于记录数据段的发送顺序;
每条子流为所述数据段添加子流级序列号,所述子流级序列号用于记录数据段在每个子流内的发送顺序。
所述步骤3中所述速率限制器包括静态速率限制器与动态速率限制器。
本发明还提出一种数据中心网络带宽保证系统,包括:
记录最小带宽保证信息模块,用于从租户的请求信息中提取所述租户的最小带宽保证信息,将所述最小带宽保证信息分发到相应的服务器节点,并由所述服务器节点记录所述最小带宽保证信息;
获取保证带宽模块,用于所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;
传输模块,用于将所述虚拟机对间的每条数据流切分为多条子流,并为所述多条子流分配各自的优先级,为每个虚拟机创建多个速率限制器,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
所述记录最小带宽保证信息模块中,所述请求信息中包括所述租户需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个所述虚拟机提供的最小保证带宽信息。
所述获取保证带宽模块中通过虚拟化管理软件记录最小带宽保证信息,其中所述虚拟化管理软件位于服务器节点。
所述传输模块中每条子流包括拥塞控制窗口并计算每条子流对应的RTT值;
传输层协议为每条子流发送的数据段添加传输层序列号,所述传输层序列号用于记录数据段的发送顺序;
所述子流级序列号用于记录数据段在每个子流内的发送顺序。
所述传输模块中所述速率限制器包括静态速率限制器与动态速率限制器。
由以上方案可知,本发明的优点在于:
本发明能够同时为云计算数据中心网络应用提供带宽保证支持,并有效地降低延迟敏感型应用数据流的流完成时间。
本发明在取得最小带宽保证的同时不需要为任意链路预留带宽空间,因此本发明可以提高数据中心提供商的收益。
与现有技术中的静态资源预留方案不同,本发明通过低优先级子流竞争网络中的空闲带宽,从而可以有效地利用网络中的空闲带宽资源以提高网络带宽的资源利用率,其次,同现有技术中的EyeQ方案相比,本发明是拓扑无关的,即只要虚拟机放置算法保证任意链路l上分配的保证带宽的总和不超过该链路的容量,本发明可以工作于任意的网络拓扑,最后,与现有技术中的ElasticSwitch相比,本发明的带宽保证需求由高优先级子流实现,而用于实现网络带宽有效利用的低优先级子流的数据包不会影响高优先级子流数据包的传输,因此,本发明不需要为任意链路预留带宽空间,所以,本发明可以为数据中心网络应用提供精确的带宽保证支持并有效地提高云数据中心服务提供商的收益。
附图说明
图1为静态资源预留方案实例图;
图2为多租户云数据中心架构图;
图3为计算资源虚拟化抽象图;
图4为数据通信实例图;
图5为与某一虚拟机通信的虚拟机的数量更新流程图;
图6为静态速率控制器图;
图7为令牌桶机制图;
图8为优先级队列图;
图9为现有技术一的示例图;
图10为现有技术二的示例图;
图11为本发明系统结构图。
具体实施方式
本发明的目的在于克服现有的技术中静态资源预留方案以及采用预留带宽空间机制实现带宽保证方法所存在的缺陷,从而提供一种有效地数据中心网络带宽保证方法。
为了实现上述目的,本发明提供了一种云计算数据中心网络带宽保证方法,该方法包括:
步骤1)、所述云计算数据中心网络中,数据中心资源管理系统从租户的请求信息中提取租户的最小带宽保证信息;
步骤2)、所述数据中心资源管理系统将最小带宽保证信息分发到相应的服务器,并由服务器节点根据记录该最小带宽保证信息;
步骤3)、所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b。所述每个虚拟机所在的服务器的虚拟化管理软件获得每个与该虚拟机通信的远端虚拟机所在的服务器虚拟化管理软件记录的该虚拟机对的最小带宽保证信息;
步骤4)、将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽。所述每个虚拟机以该虚拟机所在的服务器的虚拟化管理软件记录的所述虚拟机对间数据流的保证带宽和所述虚拟机对的远端虚拟机所在的服务器的虚拟化管理软件记录的所述虚拟机对间数据流的保证带宽中的较小者作为所述虚拟机对间数据流的保证带宽;
步骤5)、所述虚拟机中的传输层协议将每条数据流切分为多条子流,并为其分配各自的优先级;
步骤6)、所述服务器中为每个虚拟机创建多个速率限制器,分别限制该虚拟机发送的高低优先级子流的发送速率;
步骤7)、所述数据中心网络中,不同优先级子流的数据包通过不同优先级的交换机端口队列传输。
上述技术方案中,在所述的步骤1)中,每个租户虚拟机的请求带宽信息可以由租户的请求信息中直接获得。即,租户的请求信息中包含其所需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个通信虚拟机提供的最小保证带宽信息。
上述技术方案中,在所述的步骤2)中,本端虚拟机所在的服务器k的虚拟化管理软件记录本端虚拟机i的最小带宽保证信息Bi,远端虚拟机j所在服务器的虚拟化管理软件记录远端虚拟机j的最小带宽保证信息Bj。
上述技术方案中,在所述的步骤3)中,本端虚拟机所在的服务器k的虚拟化管理软件根据本端虚拟机i的最小带宽保证信息Bi和与该虚拟机通信的远端虚拟机的数目N计算本端虚拟机i到远端虚拟机j之间数据流的最小保证带宽信息Bi→j,计算公式如下:
同样的,远端虚拟机j所在服务器的虚拟化管理软件计算远端虚拟机j和本端虚拟机i之间通信数据流的最小保证带宽Bj→i。
上述技术方案中,所述的步骤3)中,虚拟机j所在服务器的虚拟化管理软件将上述最小保证带宽Bj→i通过网络消息通告给虚拟机i所在的服务器k的虚拟化管理软件。
上述技术方案中,所述的步骤4)中服务器k根据虚拟机对i和j得到的本端和对端数据流带宽保证信息计算对应于该虚拟机对间数据流的最小保证带宽,计算公式如下:
Bij=min(Bi→j,Bj→i)
上述技术方案中,所述的步骤5)包括:
步骤5-1)传输层协议将每条数据连接切分为两条子流。
步骤5-2)所述的传输层协议将第一条子流设置为高优先级子流,并将第二条子流设置为低优先级子流。
步骤5-3)所述每条子流包含一个用于该连接的拥塞控制窗口并计算该子流对应的RTT值。
步骤5-4)所述的传输层协议将来自上层应用的数据优先发送到具有较大地拥塞控制窗口和较小RTT值的子流。
步骤5-5)所述的传输层协议为发送的数据段添加传输层序列号用于记录数据段的发送顺序。
步骤5-6)所述的每条子流为该子流发送的数据段添加子流级序列号,用于记录数据段在该子流内的发送顺序。
上述技术方案中,所述的步骤6)包括:
步骤6-1)为了方便阐述本发明,本发明中以两个速率限制器为例进行说明,所述两个速率限制器中,其中一个为静态速率限制器,其限制对应虚拟机对间所有高优先级子流的聚合速率为该虚拟机对间数据流的最小保证带宽。所述高优先级子流的聚合发送速率为该虚拟机对间所有高优先级子流的发送速率之和。
步骤6-2)所述两个速率限制器中,另外一个为动态速率限制器,其根据某种策略动态的调整对应虚拟机对间所有低优先级子流的聚合发送速率。所述低优先级子流的聚合发送速率为该虚拟机对间所有低优先级子流的发送速率之和。
上述技术方案中,所述的步骤7)包括:
步骤7-1)所述数据中心网络中,所有交换设备的端口队列配置为优先级队列的工作方式。
步骤7-2)所述数据中心网络中,高优先级子流的数据包通过交换机端口队列的最高优先级队列传输。
步骤7-3)所述数据中心网络中,低优先级子流的数据包通过交换机端口队列的次最高优先级队列传输。
如图11所述,本发明还提出一种数据中心网络带宽保证系统,包括:
记录最小带宽保证信息模块,用于从租户的请求信息中提取所示租户的最小带宽保证信息,将所述最小带宽保证信息分发到相应的服务器节点,并由所述服务器节点记录所述最小带宽保证信息;
获取保证带宽模块,用于所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;
传输模块,用于将所述虚拟机对间的数据流切分为多条子流,并为所述多条子流分配各自的优先级,为每个虚拟机创建多个速率限制器,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
所述记录最小带宽保证信息模块中,所述请求信息中包括所述租户需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个所述虚拟机提供的最小保证带宽信息。
所述获取保证带宽模块中通过虚拟化管理软件记录最小带宽保证信息,其中所述虚拟化管理软件位于服务器节点。
所述传输模块中每条子流包括拥塞控制窗口并计算每条子流对应的RTT值;
传输层协议为每条子流发送的数据段添加传输层序列号,所述传输层序列号用于记录数据段的发送顺序;
每条子流为所述数据段添加子流级序列号,所述子流级序列号用于记录数据段在每个子流内的发送顺序。
所述传输模块中所述速率限制器包括静态速率限制器与动态速率限制器。
下面结合附图和具体实施方式对本发明加以说明。
在对本发明方法的实现过程进行说明之前,首先对本发明的应用环境进行说明,本发明的方法主要适用于多租户和多应用共享的云计算数据中心。
图2给出了可以应用本发明的多租户云计算数据中心的架构示意图,从该图可以看出,租户向数据中心资源管理系统提交请求信息,以请求一定量的计算资源和相应的保证带宽。数据中心资源管理系统在云计算数据中心基础设施中为租户分配满足该租户请求的硬件资源,并在租户请求完成后释放为该租户分配的硬件资源,在进行硬件资源分配时,数据中心资源管理系统需要确保任意链路l上分配的保证带宽的总和不超过该链路l的带宽容量,如果数据中心的硬件资源无法满足当前租户的请求,则数据中心管理系统拒绝该租户请求。
云计算数据中心利用虚拟机技术将数据中心服务器硬件资源以虚拟机的形式提供给租户使用,图3给出了计算资源虚拟化抽象的示意图,从该图可以看出,服务器中的虚拟化管理软件(Hypervisor)管理该服务器的所有硬件资源,并提供给上层虚拟机使用,虚拟机通过Hypervisor实现对硬件资源的使用,租户应用运行于其所租赁的虚拟机中。
下面结合图4、图5、图6、图7和图8对本发明进行说明,如下所示:
租户的应用程序运行于租户租赁的虚拟机中,发送端虚拟机中的应用程序通过虚拟机中的操作系统提供的套接口层编程接口建立与目的端虚拟机中的应用程序的数据连接,发送端虚拟机中的应用程序通过虚拟机中的操作系统提供的套接口层编程接口将数据发送到该操作系统的传输层协议。
虚拟机中的操作系统采用的传输层协议为扩展的TCP(Extensive TCP,E-TCP)协议,E-TCP协议将虚拟机操作系统传输层中的每条TCP连接切分为两条TCP子流(subflow):subflow1和subflow2,E-TCP协议通过将每条子流的sock结构体中的tos域设置为不同的取值的方式将两条子流设置为不同的优先级,其中所述subflow1为具有较高优先级的子流,所述subflow2为具有较低优先级的子流,发送端虚拟机操作系统的E-TCP协议将应用程序发送的所有数据分发到两条子流,并分别通过两条子流传输到目的端虚拟机操作系统的E-TCP协议,最后,目的端操作系统的E-TCP协议将收到数据按序提交到上层的应用程序。
E-TCP的每条子流均包含一个属于该子流的拥塞控制窗口,同时,该子流独立地测量该子流的RTT值,E-TCP协议将应用程序传输的数据发送到具有较大的拥塞控制窗口和较小的RTT测量值的子流,以将应用程序传输的数据分发到两条子流。
E-TCP协议发送的每一个数据段包含两个序列号:socket级序列号和子流级序列号,所述socket级序列号用于标识该数据段由应用程序的发送顺序;所述子流级序列号用于标记该数据段在发送该数据段的子流内的发送顺序,另外,所述子流级序列号用于标识该子流内的数据包的乱序传输,当某一子流内部出现数据包乱序传输时,发送端的E-TCP协议根据某种策略减少该子流的拥塞控制窗口的大小。
E-TCP协议将每条子流内的数据段传输到虚拟机操作系统的IP层协议,IP层协议构建要发送数据的IP数据包,同时,IP层协议根据每条子流的优先级设置IP数据包包头信息中的ToS域的值,以将发送的IP数据包设置为相应的优先级,即高优先级子流的数据包设置为高优先级,而低优先级子流的数据包设置为低优先级。
每台服务器的虚拟化管理软件(Hypervisor)中记录该服务器中运行的虚拟机的数目、每个虚拟机要求的最小保证带宽,以及与每个虚拟机通信的虚拟机数目。
云计算数据中心中,租户的请求信息包括其所要求的虚拟机数目、每个虚拟机的资源需求信息(如该虚拟机需要多少个处理器核以及需要多大的内存空间等)以及每个虚拟机的最小保证带宽,因此,所述每个虚拟机要求的最小保证带宽可以由数据中心资源管理系统从租户的请求信息中直接获得。
服务器的虚拟化管理软件记录的信息如表1所示。
表1
如表1所述,该服务器中当前包含的虚拟机的数目为N,虚拟机实例的标识如上表中第一列所示,本端虚拟机所在服务器的虚拟化管理软件记录该虚拟机要求的最小保证带宽信息如表中第二列数据所示。上表中,分别与N个虚拟机通信的虚拟机对的数目为Pl、P2…PN,以上表为例,本端虚拟机1所在的服务器的虚拟化管理软件记录的与虚拟机1通信的远端虚拟机的数目为P1。
对于某一通信虚拟机—本端虚拟机i—虚拟机i所在服务器的Hypervisor根据虚拟机i请求的保证带宽Bi和与该虚拟机通信的远端虚拟机对的数目Pi计算的与该虚拟机i通信的每一个虚拟机对—本端虚拟机i和远端虚拟机j—的保证带宽如表中第三列数据所示。
同上所述,虚拟机j所在的服务器的虚拟化管理软件计算并记录的该虚拟机对—虚拟机j和虚拟机i—的保证带宽为Bj→i,同时,假设虚拟机i为源端虚拟机(即数据的发送端),虚拟机j为目的端虚拟机(即数据的接收端),虚拟机i所在服务器的hypervisor将其记录的Bi→j值传输到虚拟机j所在服务器的hypervisor,同时虚拟机j所在服务器的hypervisor将其记录的Bj→i值传输到虚拟机i所在服务器的hypervisor,虚拟机i和虚拟机j所在服务器的hypervisor分别基于Bi→j和Bj→i值计算虚拟机i和虚拟机j之间通信数据流的最小保证带宽Bij=min(Bi→j,Bj→i),并记录该最小保证带宽值,如上表中第四列数据所示。
服务器的Hypervisor为每个通信虚拟机对建立两个速率限制器:静态速率限制器和动态速率限制器,所述速率限制器接收来自虚拟机操作系统IP协议的数据包,其中高优先级子流的数据包传输到静态速率限制器,而低优先级子流的数据包传输到动态速率限制器。对于通信虚拟机对—虚拟机i和虚拟机j—假设虚拟机i为本端虚拟机,虚拟机j为远端虚拟机,上述应用于该对虚拟机的静态速率限制器调整由虚拟机i发送到虚拟机j的数据流中所有高优先级子流的数据包的聚合发送速率为上述计算得到的该虚拟机对的最小保证带宽值,动态速率限制器根据某种策略调整由虚拟机i发送到虚拟机j的数据中所有低优先级子流的数据包的聚合发送速率,上述高优先级的数据包的聚合发送速率指的是由虚拟机i到虚拟机j的所有高优先级子流的数据包的发送速率的总和,类似地,上述低优先级的数据包的聚合发送速率指的是由虚拟机i到虚拟机j的所有低优先级子流的数据包的发送速率的总和,所述动态速率限制器直接将低优先级子流的数据包发送到网络接口卡驱动程序的队列,而不进行速率调整。
服务器hypervisor中静态速率限制器的结构如图6所示,该速率限制器所控制的虚拟机中所有应用程序的高优先级子流的数据包均通过该速率控制器控制,同时,该速率限制器控制所有高优先级子流的数据包的聚合发送速率为该通信虚拟机对的最小保证带宽。
上述静态速率限制器通过基于令牌桶的机制实现速率控制,如图7所示,静态速率限制器包含一个数据包队列用于缓存接收虚拟机发出的数据包,当静态速率限制器接收到来自虚拟机发送的数据包时,如果数据包缓存队列中存在剩余空间,该数据包被缓存到该数据包缓存队列的尾端,否则,如果数据包缓存队列已满,则丢弃新到达的数据包,令牌桶机制中,每个时间周期内产生一个新的令牌,该时间周期值由需要控制的数据包发送速率确定,传输数据包时,假设待传输的数据包的大小为K(单位为比特),如果当前令牌桶中总令牌的数量大于或者等于K,则发送该数据包,并相应的减少令牌桶中令牌的数量,如果当前令牌桶中令牌的总数量小于待传输数据包的大小K,则等待系统产生足够的令牌后再发送该数据包,上述静态速率限制器中令牌桶的容量为S,用于控制数据突发,当产生新的令牌时,如果当前令牌桶中令牌的数目为S,则丢弃新到达的令牌,否则,将新产生的令牌放入令牌桶中,并相应地更新令牌桶中令牌的总数量,假设静态速率限制器控制的虚拟机对的最小保证带宽为Abps,即静态速率限制器调整每秒发送A比特的数据,那么,产生令牌的时间周期为1/A秒,即每1/A秒产生一个新的令牌,静态速率限制器将要传输的数据包发送到服务器网络接口卡的驱动程序的传输队列,并通过网络接口卡发送到数据中心网络中。
网络中,所有交换设备的端口队列均配置为优先级工作方式,如图8所示,交换设备的每个端口中包含多个虚拟队列,当交换设备端口队列配置为优先级工作方式时,每个队列被赋予一个不同的优先级,当交换设备转发数据包时,其首先转发具有较高优先级的队列中的数据包,只有当所有比该队列的优先级具有更高优先级的队列中没有数据包时才会发送该队列中的数据包,以图8为例,图中所示交换设备的每个端口包含3个优先级队列,分别为最高优先级队列、次高优先级队列和最低优先级队列,当有数据包发送时,该交换设备首先发送最高优先级队列中的数据包,只有当最高优先级队列为空时,交换设备才会发送次高优先级队列中的数据包,同时,只有当最高优先级队列和次高优先级队列均为空时,交换设备才会发送最低优先级队列中的数据包。
当数据包经由网络传输时,交换设备根据数据包的优先级信息将不同优先级的数据包经由该交换设备的不同端口队列传输,所述数据包的优先级信息由数据包IP头中的ToS域标识,其中高优先级子流的数据包经由某一具有较高优先级的端口队列传输,而低优先级子流的数据包经由某一具有较低优先级的端口队列传输。
数据包到达接收端服务器的网卡,该数据包经由该服务器的Hypervisor传输到目的虚拟机并进一步传输到该虚拟机操作系统的IP层协议,目的虚拟机操作系统的IP层协议将数据包传输到E-TCP协议,E-TCP协议根据数据包的不同优先级将数据包传输到不同的子流,即高优先级子流的数据包传输到高优先级子流,而低优先级子流的数据包传输到低优先级子流,最后E-TCP将收到的数据包按序提交到接收端虚拟机中的应用程序。
最后所应说明的是,以上实施例仅用于说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种数据中心网络带宽保证方法,其特征在于,包括:
步骤1,从租户的请求信息中提取所述租户的最小带宽保证信息,将所述最小带宽保证信息分发到相应的服务器节点,并由所述服务器节点记录所述最小带宽保证信息;
步骤2,所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;
步骤3,将所述虚拟机对间的每条数据流切分为多条子流,并为所述多条子流分配各自的优先级,为每个虚拟机创建多个速率限制器,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
2.如权利要求1所述的数据中心网络带宽保证方法,其特征在于,所述步骤1中,所述请求信息中包括所述租户需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个所述虚拟机提供的最小保证带宽信息。
3.如权利要求1所述的数据中心网络带宽保证方法,其特征在于,所述步骤2中通过虚拟化管理软件记录最小带宽保证信息,其中所述虚拟化管理软件运行于服务器节点。
4.如权利要求1所述的数据中心网络带宽保证方法,其特征在于,所述步骤3中每条子流包括拥塞控制窗口并计算每条子流对应的RTT值;
传输层协议为每条子流发送的数据段添加传输层序列号,所述传输层序列号用于记录数据段的发送顺序;
每条子流为所述数据段添加子流级序列号,所述子流级序列号用于记录数据段在每个子流内的发送顺序。
5.如权利要求1所述的数据中心网络带宽保证方法,其特征在于,所述步骤3中所述速率限制器包括静态速率限制器与动态速率限制器。
6.一种数据中心网络带宽保证系统,其特征在于,包括:
记录最小带宽保证信息模块,用于从租户的请求信息中提取所述租户的最小带宽保证信息,将所述最小带宽保证信息分发到相应的服务器节点,并由所述服务器节点记录所述最小带宽保证信息;
获取保证带宽模块,用于所述数据中心中每个虚拟机与相应的远端虚拟机通信,并组成虚拟机对,所述虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息a,所述远端虚拟机所在的服务器节点获取所述虚拟机对的最小带宽保证信息b,将所述最小带宽保证信息a与所述最小带宽保证信息b进行比较,并将两者中较小的最小带宽保证信息作为所述虚拟机对间的数据流的保证带宽;
传输模块,用于将所述虚拟机对间的每条数据流切分为多条子流,并为所述多条子流分配各自的优先级,为每个虚拟机创建多个速率限制器,分别限制每个虚拟机发送的所述多条子流的发送速率,根据每个子流的优先级分配与其优先级相对应的交换机端口队列进行传输。
7.如权利要求6所述的数据中心网络带宽保证系统,其特征在于,所述记录最小带宽保证信息模块中,所述请求信息中包括所述租户需求的虚拟机的数目、每个虚拟机需求的硬件资源信息以及需要为每个所述虚拟机提供的最小保证带宽信息。
8.如权利要求6所述的数据中心网络带宽保证系统,其特征在于,所述获取保证带宽模块中通过虚拟化管理软件记录最小带宽保证信息,其中所述虚拟化管理软件位于服务器节点。
9.如权利要求6所述的数据中心网络带宽保证系统,其特征在于,所述传输模块中每条子流包括拥塞控制窗口并计算每条子流对应的RTT值;
传输层协议为每条子流发送的数据段添加传输层序列号,所述传输层序列号用于记录数据段的发送顺序;
每条子流为所述数据段添加子流级序列号,所述子流级序列号用于记录数据段在每个子流内的发送顺序。
10.如权利要求6所述的数据中心网络带宽保证系统,其特征在于,所述传输模块中所述速率限制器包括静态速率限制器与动态速率限制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610177881.3A CN105871751A (zh) | 2016-03-25 | 2016-03-25 | 一种数据中心网络带宽保证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610177881.3A CN105871751A (zh) | 2016-03-25 | 2016-03-25 | 一种数据中心网络带宽保证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105871751A true CN105871751A (zh) | 2016-08-17 |
Family
ID=56625892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610177881.3A Pending CN105871751A (zh) | 2016-03-25 | 2016-03-25 | 一种数据中心网络带宽保证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871751A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109272752A (zh) * | 2018-10-11 | 2019-01-25 | 南威软件股份有限公司 | 一种路口车辆图片采集系统的传输方法及传输系统 |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109922003A (zh) * | 2019-03-22 | 2019-06-21 | 苏州浪潮智能科技有限公司 | 一种数据发送方法、系统及相关组件 |
CN110580127A (zh) * | 2018-06-07 | 2019-12-17 | 华中科技大学 | 一种基于多租户云存储的资源管理方法和资源管理系统 |
CN111970383A (zh) * | 2020-10-20 | 2020-11-20 | 中国人民解放军国防科技大学 | 数据中心网络的多租户共享方法、系统及存储介质 |
WO2021047665A1 (zh) * | 2019-09-12 | 2021-03-18 | 华为技术有限公司 | 终端之间连接状态的预测方法、装置和分析设备 |
CN113067778A (zh) * | 2021-06-04 | 2021-07-02 | 新华三半导体技术有限公司 | 一种流量管理方法及流量管理芯片 |
CN113268326A (zh) * | 2021-05-25 | 2021-08-17 | 西安交通大学 | 一种基于时间片轮转的公平流束调度方法及系统 |
CN115442314A (zh) * | 2022-09-05 | 2022-12-06 | 天津大学 | 一种实用的数据中心网络主动式传输系统及方法 |
CN115442314B (zh) * | 2022-09-05 | 2024-05-31 | 天津大学 | 一种实用的数据中心网络主动式传输系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270421A (zh) * | 2014-09-12 | 2015-01-07 | 北京理工大学 | 一种支持带宽保证的多租户云平台任务调度方法 |
WO2015012811A1 (en) * | 2013-07-23 | 2015-01-29 | Hewlett-Packard Development Company, L.P. | Work conserving bandwidth guarantees using priority |
CN104396187A (zh) * | 2012-07-31 | 2015-03-04 | 惠普发展公司,有限责任合伙企业 | 带宽保证和工作保持 |
-
2016
- 2016-03-25 CN CN201610177881.3A patent/CN105871751A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104396187A (zh) * | 2012-07-31 | 2015-03-04 | 惠普发展公司,有限责任合伙企业 | 带宽保证和工作保持 |
WO2015012811A1 (en) * | 2013-07-23 | 2015-01-29 | Hewlett-Packard Development Company, L.P. | Work conserving bandwidth guarantees using priority |
CN104270421A (zh) * | 2014-09-12 | 2015-01-07 | 北京理工大学 | 一种支持带宽保证的多租户云平台任务调度方法 |
Non-Patent Citations (2)
Title |
---|
LUCIAN POPA ET AL: ""ElasticSwitch:Practical Work-Conserving Bandwidth Guarantees for Cloud Computing"", 《ACM SIGCOMM COMPUTER COMMUNICATION REVIEW》 * |
李丹 等: ""数据中心网络的研究进展与趋势"", 《计算机学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580127A (zh) * | 2018-06-07 | 2019-12-17 | 华中科技大学 | 一种基于多租户云存储的资源管理方法和资源管理系统 |
CN109272752B (zh) * | 2018-10-11 | 2021-03-02 | 南威软件股份有限公司 | 一种路口车辆图片采集系统的传输方法及传输系统 |
CN109272752A (zh) * | 2018-10-11 | 2019-01-25 | 南威软件股份有限公司 | 一种路口车辆图片采集系统的传输方法及传输系统 |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109922003A (zh) * | 2019-03-22 | 2019-06-21 | 苏州浪潮智能科技有限公司 | 一种数据发送方法、系统及相关组件 |
CN109922003B (zh) * | 2019-03-22 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种数据发送方法、系统及相关组件 |
WO2021047665A1 (zh) * | 2019-09-12 | 2021-03-18 | 华为技术有限公司 | 终端之间连接状态的预测方法、装置和分析设备 |
CN111970383A (zh) * | 2020-10-20 | 2020-11-20 | 中国人民解放军国防科技大学 | 数据中心网络的多租户共享方法、系统及存储介质 |
CN111970383B (zh) * | 2020-10-20 | 2021-01-05 | 中国人民解放军国防科技大学 | 数据中心网络的多租户共享方法、系统及存储介质 |
CN113268326A (zh) * | 2021-05-25 | 2021-08-17 | 西安交通大学 | 一种基于时间片轮转的公平流束调度方法及系统 |
CN113268326B (zh) * | 2021-05-25 | 2024-05-28 | 西安交通大学 | 一种基于时间片轮转的公平流束调度方法及系统 |
CN113067778A (zh) * | 2021-06-04 | 2021-07-02 | 新华三半导体技术有限公司 | 一种流量管理方法及流量管理芯片 |
CN115442314A (zh) * | 2022-09-05 | 2022-12-06 | 天津大学 | 一种实用的数据中心网络主动式传输系统及方法 |
CN115442314B (zh) * | 2022-09-05 | 2024-05-31 | 天津大学 | 一种实用的数据中心网络主动式传输系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871751A (zh) | 一种数据中心网络带宽保证方法及系统 | |
US11516146B2 (en) | Method and system to allocate bandwidth based on task deadline in cloud computing networks | |
CN106059960B (zh) | 一种基于软件定义网络的空间网络QoS保障方法及管理中心 | |
CN106059821B (zh) | 一种基于sdn的数据中心业务服务质量保障方法 | |
Popa et al. | FairCloud: Sharing the network in cloud computing | |
CN102185771B (zh) | Mptcp中发送方数据包调度方法及系统 | |
US8009558B2 (en) | Pseudowire load balancing | |
CN105897575A (zh) | 一种sdn下基于多约束路径计算策略的路径计算方法 | |
Wang et al. | Implementation of multipath network virtualization with SDN and NFV | |
CN106059915A (zh) | 基于sdn控制器实现租户南北向流量限速的系统及方法 | |
CN102469019B (zh) | 一种包交换网络中聚合链路带宽的分配方法及装置 | |
CN107154897B (zh) | Dcn中基于包散射的异构流隔离方法 | |
CN105391651B (zh) | 一种虚拟光网络多层资源汇聚方法和系统 | |
CN112218315A (zh) | 一种5G专网的端到端QoS策略执行及以太网数据转发方法 | |
Chemeritskiy et al. | On QoS management in SDN by multipath routing | |
CN101094153A (zh) | 在发送站与接收站之间传递数据的方法和设备 | |
CN108259221A (zh) | 流量控制方法、装置、系统、存储介质和处理器 | |
CN101867521A (zh) | 一种多链路接入及流量负载调度管理方法 | |
Zhang | Designing a new architecture for packet switching communication networks. | |
Alfaro et al. | A strategy to compute the InfiniBand arbitration tables | |
CN102448120A (zh) | 多路径负荷分担方法及装置 | |
Hwang et al. | Load balancing and routing mechanism based on software defined network in data centers | |
JP2001211175A (ja) | インターネット接続を管理するためのシステム | |
CN101729373B (zh) | 对多优先级业务进行调度的方法及装置 | |
WO2021052382A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160817 |
|
RJ01 | Rejection of invention patent application after publication |