CN117041154A - 一种多租户场景下的网络带宽分配方法、设备和存储介质 - Google Patents
一种多租户场景下的网络带宽分配方法、设备和存储介质 Download PDFInfo
- Publication number
- CN117041154A CN117041154A CN202310943795.9A CN202310943795A CN117041154A CN 117041154 A CN117041154 A CN 117041154A CN 202310943795 A CN202310943795 A CN 202310943795A CN 117041154 A CN117041154 A CN 117041154A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- tenant
- allocation
- network
- traffic
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 8
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 70
- 238000009826 distribution Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000001105 regulatory effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000036963 noncompetitive effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 241000238413 Octopus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- 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/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的一种多租户场景下的网络带宽分配方法、设备和存储介质,方法中使用字节计数器来实时监控每个租户的带宽分配情况;使用网内拥塞探测机制来检测网络内部的拥塞情况;使用租户计数器来探测网内的租户内部拥塞情况。本发明能够达到租户之间的带宽比例分配和最低带宽保证,同时实现带宽工作保证;支持根据租户指定的带宽功能灵活分配带宽;能够降低丢包率和提高网络吞吐量,改善应用层面的性能。
Description
技术领域
本发明属于网络服务技术领域,尤其涉及一种多租户场景下的网络带宽分配方法、设备和存储介质。
背景技术
现代数据中心可以提供多种服务,通过虚拟化同时为租户提供基础设施服务。不仅是计算和存储资源,带宽也是网络资源的一个重要组成部分。每个租户的任务的带宽决定了传输的性能和质量以及是否满足服务等级协议(SLA)。基于流量的和基于源到目的的分配方式都不适合为租户提供服务。另外,传统的带宽分配方法通常以分配每个流量的带宽为目标。一个租户可以通过恶意增加其流量的数量来增加其带宽份额。基于每个源到目的对的带宽定位可以汇总属于同一源到目的的流量所使用的带宽。同样,它也不能处理租户增加其连接的目的地数量,从而获得比其他租户更多的带宽份额的情况。
为了根据租户的SLA和更公平地提供带宽,有必要采用按租户分配带宽的方法。同时,属于同一租户的流量可以有不同的带宽需求。为实现数据中心中的网络带宽合理分配,分配工具以及方法必不可少。近年来在数据中心中有许多类似的成果成果较多,一部分的工作是基于在交换机上实现加权公平队列(Weight Fair Queue,WFQ)或者优先级队列,通过在交换机上对所通过流量进行控制,来达到对数据中心多租户间的带宽分配。如AIFO,HCSFQ,GearBox等。它们的控制逻辑通常是使用可编程交换机上有限的计算与存储资源,来近似模拟多个可控队列,来近似实现WFQ或者优先级队列。另外还有一部分工作使用基于端测的流量控制,例如:Octopus,Seawall,EyeQ,BwE,vFabric等。这些工作通常是简单粗暴的直接在端测直接进行限速,或者是在端测使用WFQ等技术来实现对网络流量的控制。
满足带宽分配比例的一个自然方法是为交换机上的每个租户提供一个加权公平队列。然而,对于每个租户来说,在交换机上为WFQ提供一个队列是不可行的。租户的数量可能比交换机所能支持的队列数量多出几个数量级(例如,在最新的可编程交换机中,每个端口最多有32/128个队列)。利用可编程交换机和其他新开发的可编程设备上相对有限的资源,出现了许多排队调度设计。AIFO试图使用单一的FIFO队列来实现优先级队列,但它很难实现加权的带宽公平分配。Gearbox试图通过使用一个分层的基于FIFO的调度器来接近WFQ。然而,其过程相当复杂,不能应用于这一代的可编程交换机。相反,Gearbox实现在在智能网卡上,需要对FPGA的支持。仅仅应用于主机网卡的WFQ显然不足以满足数据中心的网络环境的带宽分配。另外,Gearbox的调度时间尺度也受到FIFO队列数量的限制。HCSFQ需要主动丢弃数据包,直到实现公平性,这可能导致大量的重传。这可能会降低应用层面的性能,通常是不被期待的,特别是对于旨在实现低延迟的任务。此外,近似WFQ的解决方案无法支持其他租户的要求,如最小带宽保证。
发明内容
本发明针对现有技术中的不足,提供一种多租户场景下的网络带宽分配方法、设备和存储介质。
第一方面,本发明提供一种多租户场景下的网络带宽分配方法,包括:
根据分配目标以及服务质量任务情况设置并且分配带宽函数到各个主机端;
多层级带宽协调器收集各主机端的配置情况并且确定多层级带宽协调器总体的分配情况,得到新的可全局调控的分配方案;
开启网络任务,在各个主机端开启字节计数器,局部带宽调控,以及网内拥塞探测机制来进行动态带宽使用情况追踪同时进行网内拥塞情况监测,并进行局部的限速以及带宽管理;
各个主机周期性统计带宽分配情况,同时汇报至上级带宽协调器,并且各层级带宽协调器统计带宽分配平衡情况,进行计算平衡且下发下一周期的带宽分配计划;
各层级带宽协调器和各主机根据获取的新带宽分配计划,调整局部带宽分配情况,包括限速和调控,以进行下一周期的带宽分配。
进一步地,所述根据分配目标以及服务质量任务情况设置并且分配带宽函数到各个主机端,包括:
当新的流量到达时,流量控制器对流量进行重新分组,并将重新分组的流量归入单元流;每个单元流对应一个带宽函数;流量的带宽函数是根据源和目的对的权重以及发送器主机上设置的速率限制器初始化的;所述单元流为一组共享相同源和目的二元组的数据包,还具有相同的租户ID;单位流是网络数据控制的最小控制单位;
构建流量x的带宽函数的表达式:
Bx(s)=min(srcWeight+dstWeight,deviceRateLimit);
其中,srcWeight表示源主机的权重;dstWeight表示目的主机的权重;deviceRateLimit表示发送方主机的速率限制;s为公平份额;Bx为流量的带宽函数。
进一步地,所述多层级带宽协调器收集各主机端的配置情况并且确定多层级带宽协调器总体的分配情况,得到新的可全局调控的分配方案,包括:
利用租户层面的租户控制器分配单个租户内的带宽,给租户控制器分配初始带宽函数,在每个周期时间内,通过使用字节计数器收集总的带宽使用量,以及属于相应租户的单元流的带宽函数,租户控制器将流量的带宽函数与所属租户的带宽函数汇总,低层流量的带宽函数被转移到聚合的带宽函数中,并利用聚合函数将高层租户的带宽函数作为输入,得到新的带宽函数。
进一步地,所述开启网络任务,在各个主机端开启字节计数器,局部带宽调控,以及网内拥塞探测机制来进行动态带宽使用情况追踪同时进行网内拥塞情况监测,并进行局部的限速以及带宽管理,包括:
接收器维护一个记分牌,根据数据包是否有显式拥塞通知标记,计算在固定时间内滑动窗口的时间收到的数据包的字节数;
当显式拥塞通知标记的数据包的比例超过预设的阈值时,接收器向发送方发回拥塞信号通知;拥塞信号使用最高优先级来保证及时交付,当发送方收到拥塞信号时,根据分配算法重新对流量的公平份额进行分配;其中分配算法满足:目标公平份额=平均公平份额×(1+α),α为加速因子。
进一步地,主机只有在收到流量控制器的分配指令的情况下,继续下一个周期的平均分配。
第二方面,本发明提供一种计算机设备,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现第一方面所述的多租户场景下的网络带宽分配方法的步骤。
第三方面,本发明提供一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现第一方面所述的多租户场景下的网络带宽分配方法的步骤。
本发明提供的一种多租户场景下的网络带宽分配方法,使用字节计数器来实时监控每个租户的带宽分配情况;使用网内拥塞探测机制来检测网络内部的拥塞情况;使用租户计数器来探测网内的租户内部拥塞情况。本发明能够达到租户之间的带宽比例分配和最低带宽保证,同时实现带宽工作保证;支持根据租户指定的带宽功能灵活分配带宽;能够降低丢包率和提高网络吞吐量,改善应用层面的性能。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多租户场景下的网络带宽分配方法的流程图;
图2为本发明实施例提供的多级协调器结构示意图;
图3为本发明实施例提供的基于主机的租户实用网络带宽分配系统结构图;
图4为本发明实施例提供的信息流的处理过程图;
图5为本发明实施例提供的分布式速率自适应算法图;
图6为本发明实施例提供的租户间不同的拥塞情况示意图;
图7为本发明实施例提供的使用UDP流量进行分配实验结果图;
图8为本发明实施例提供的使用TCP流量进行分配实验结果图;
图9为本发明实施例提供的使用混合流量进行分配实验结果图;
图10为本发明实施例提供的工作节约和带宽保证测试图;
图11为本发明实施例提供的分配功能和使用之前的技术HCSFQ之间在不同TCP协议下的流量吞吐量图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的多租户场景下的网络带宽分配方法应用于基于主机的租户实用网络带宽分配系统。如图3所示的系统基本框架。系统由三部分组成:发送方、控制器和接收方。当一个新的流量需求到达时,发送方的流量控制器将需要发送并且管理的流量分组为单元流,并初始化他们的分配状态。发送方的速率控制器负责带宽分配。系统按层次分配带宽。租户的带宽是根据控制器和他们的带宽函数计算出来的公平份额来分配的。然后,租户内流量的带宽也相应地被分配。此外,为了指导流量的速率适应并实现带宽工作保证,应该感知网络工作的拥塞状态。
在一实施例中,如图1所示,本发明实施例提供一种多租户场景下的网络带宽分配方法,包括:
步骤101,根据分配目标以及服务质量任务情况设置并且分配带宽函数到各个主机端。
带宽函数(bandwidth function,BF)最早由Google提出并在其B4论文中使用,是一个用来描述带宽分配情况的函数,是一个从一个统一量值到一个带宽数量值的映射,其具有同等量纲,方便管理,同时能够聚合多个同层级带宽函数得到一个全新的能同时满足所有主机端分配比率以及分配目标的衡量函数。
BF是一个分段递增的连续函数,因此它可以方便地表示为一组函数梯度为零的点。另外,BF很容易得到它的反函数。这意味着把一个带宽值作为输入,可以用BF得到唯一的对应的公平份额。这些特性可以被用来处理带宽函数的聚合。通过这种方式,本发明实施例可以为每个单元流获得聚合的BF,这些BF既可以满足单元流的BF,也可以满足它所属的租户。这对于协调租户和他们的网络流是至关重要的。BFs在本发明实施例中被存储为点的集合,易于计算与操作。
示例性地,当新的流量到达时,流量控制器对流量进行重新分组,并将重新分组的流量归入单元流;每个单元流对应一个带宽函数;流量的带宽函数是根据源和目的对的权重以及发送器主机上设置的速率限制器初始化的;具有不同调度目标和带宽需求的应用需要相互隔离,单元流为一组共享相同源和目的二元组的数据包,还具有相同的租户ID;单位流是网络数据控制的最小控制单位。
DCN(Data Center Networks)管理者通常有不同的操作来优化或维护数据中心内的路由或服务器,所以设计一个初始函数,包括主机和路由的偏好。DCN管理者可以通过给不同的主机分配不同的权重来决定哪个主机为租户提供服务。
构建流量x的带宽函数的表达式:
Bx(s)=min(srcWeight+dstWeight,deviceRateLimit)。
其中,srcWeight表示源主机的权重;dstWeight表示目的主机的权重;deviceRateLimit表示发送方主机的速率限制;s为公平份额;Bx为流量或其他网络单位的带宽函数。
带宽函数代表了不同源和目的地对之间的偏好。事实上,带宽函数支持自定义初始化。通过为单元流设置不同的带宽函数,本发明实施例可以获得灵活多样的带宽分配。例如,一个租户可以对不同的发送主机有偏好,一个租户可能需要一个主机获得比其他主机多一倍的带宽。这可以通过简单地将带宽函数初始化为srcWeight和deviceRateLimit的最小值来实现。此外,通过简单地将带宽函数初始化为带宽保证,也可以实现最小带宽保证。另外,更复杂的单元流的带宽函数也能实现更多分配需求。
步骤102,多层级带宽协调器收集各主机端的配置情况并且确定多层级带宽协调器总体的分配情况,得到新的可全局调控的分配方案。
本发明实施例以分层的方式控制租户和其流量之间的带宽分配,即从流量到其租户,然后到整个网络层面。公平份额和带宽函数是分层计算的。属于同一租户的流量的带宽使用情况首先被汇总,以计算出本地公平份额。然后,通过利用控制器与网络中的所有终端主机互动来计算本地份额。同样,带宽功能的聚合也是以类似的方式进行的。
租户内的带宽分配。速率控制器通过利用从控制器交换来的整个网络信息,对每个流量的发送速率进行调整。速率控制器通过考虑单元流的使用情况来计算本地租户的公平份额,并与控制器交换公平份额以获得同步的网络状态。
示例性地,利用租户层面的租户控制器分配单个租户内的带宽,给租户控制器分配初始带宽函数,反映了租户的分配策。在每个周期时间内,通过使用字节计数器收集总的带宽使用量,以及属于相应租户的单元流的带宽函数,租户控制器将流量的带宽函数与所属租户的带宽函数汇总,低层流量的带宽函数被转移到聚合的带宽函数中,并利用聚合函数将高层租户的带宽函数作为输入,得到新的带宽函数。因此,租户中的所有单元流将得到一个全新的带宽函数,既满足其租户的分配目标,又满足单元流本身的分配目标。它保证所属租户的单元流能够被分配到正确的带宽,实现整个网络的进一步公平分配。
步骤103,开启网络任务,在各个主机端开启字节计数器,局部带宽调控,以及网内拥塞探测机制来进行动态带宽使用情况追踪同时进行网内拥塞情况监测,并进行局部的限速以及带宽管理。
利用比特数计数器来估计每个租户在终端主机上的带宽使用率。字节计数器记录了每个租户在一段时间内发送的字节数。本发明实施例的终端主机为每个租户维护一个字节计数器,记录发送的字节数。由于一个租户的流量可以分布在多个终端主机上,因此有必要为每个租户在不同的终端主机上汇总字节计数器。因此,本地的字节计数器被定期报告给控制器。通过利用每个租户的字节计数器,可以计算出相应时间段内的平均带宽占用。平均带宽可以帮助下一个周期调整租户的带宽分配。在某些情况下,主机的带宽报告可能会延迟,但这并不影响本系统的收敛性,因为每个周期的误差不会累积。
字节计数器帮助本系统在收敛带宽分配和实用之间取得平衡。大多数先前的工作都忽略了这一点,租户的目标是实现整体良好的应用级性能,而不是要求稳定的带宽比例。字节计数器不关注发送端口(队列)的瞬时带宽使用情况,而是着眼于在长期内实现网络的比例。尽管不能立即达到目标加权公平份额,但由于小流量使用的字节可以被准确计算,不会影响小流量的性能。
当单元流被分配到合适的带宽后,他们的传输速率应根据他们所拥有的带宽来限制。Token Bucket Filter(TBF)被用来作为单元流的速率限制器。为此,TBF可以提供相对稳定的速率控制,而且其峰值速率是可控的。令牌桶根据分配给单元流的带宽增加其令牌。在传输数据包之前,流量控制器检查令牌桶是否包含足够的令牌。如果是,数据包就会被发送,相当于数据包字节数的代币数量就会被移除。租户间带宽分配的协调员。数据中心有很多终端主机,本发明实施例能够协调所有的终端主机,实现网络级的公平。对于每个主机,每个租户的公平份额应该一直保持在相同的水平,以确保公平性。控制器被利用来与终端主机进行互动。为了避免控制器成为网络瓶颈,控制器的逻辑非常简单。对于每个主机的每个报告周期,控制器从终端主机的速率控制器收集每个租户的总体带宽使用情况(即公平份额值),然后发回更新的目标公平份额。
平均更新过程产生了一个InputArray=[s1,s2,s3,...,sN],它代表了包含从每个租户收集的所有公平份额的输入数组。此外,一个加速因子α也被添加到所有公平份额中。
对于一个基于终端主机的网络系统来说,最困难的是如何检测主机上的网内情况。为了检测租户之间的网内拥塞情况,实现更有效的带宽分配目标,本发明实施例的的终端主机利用网内拥塞探测机制(CAWC)来检测网内拥塞。CAWC负责从字节计数器的控制循环中排除未拥塞的流量通信,从而识别出网络中的拥塞通信链路,从而提高网络利用率。
接收器维护一个记分牌,根据数据包是否有显式拥塞通知(ECN)标记,计算在固定时间内(例如10μs)滑动窗口的时间收到的数据包的字节数。
当显式拥塞通知标记的数据包的比例超过预设的阈值时,接收器向发送方发回拥塞信号通知;拥塞信号使用最高优先级来保证及时交付,当发送方收到拥塞信号时,根据分配算法重新对流量的公平份额进行分配;其中分配算法满足:目标公平份额=平均公平份额×(1+α),α为加速因子。
无拥塞流的控制回路与有拥塞流分开,即无拥塞流的传输不受网络内拥塞的影响,因为它们没有造成拥塞。这可以避免不必要的带宽浪费,并确保节约工作。此外,通过设置拥塞率,拥塞流量的传输控制可以更稳健地应对突发小流量快速离开网络的情况。而且,分配会在很短的时间内收敛,通常是在次毫秒的范围内。通过CAWC,能够实现高效的带宽工作保证,同时达到较短的收敛时间,从而达到对网络的变化的强适应性。
计算后,控制器将公平份额的更新值发回给所有速率控制器。如图4所示,在每个主机从控制器收到新的目标公平份额后,它就用其带宽函数计算每个单元流的新带宽(速率)。而更新后的速率被发送到TBF进行速率限制。下面的过程与租户内的带宽分配类似。
步骤104,各个主机周期性统计带宽分配情况,同时汇报至上级带宽协调器,并且各层级带宽协调器统计带宽分配平衡情况,进行计算平衡且下发下一周期的带宽分配计划。
本实施例中,设计一个具有不同同步粒度的多级控制器结构。可以通过简单的设置API来适应不同的DCN环境。低级别的主机或服务器架构,这些架构通常是按地理区域或操作类型划分的。而下层控制器往往与服务器之间的通信是频繁的,以保持本地分配的公平性。上层控制器将收到下层协控制器的报告,并指挥下层控制器的工作。
如图2所示,为一个2级结构的例子。终端主机槽报告和接收来自二级控制器的命令的频率为1ms(由于现实的请求,可以更频繁),而二级控制器与一级控制器之间的协调被设置为相对较低的频率,即10ms。这样一来,协调开销也可以通过高精度的公平分配来减少。此外,协调任务也非常简单。同时在一些情况下,在主机内部也需要对网络数据流有着更加细粒度的调控与分配,所以控制器可以被设置为主机,这些主机上也有本地分配任务。
对于控制器调节的流程,由于每个字节计数器的报告时间是不同的,因此有必要支持异步报告和坐标模式。为了实现这一目标,在设计中,控制器为字节计数器保持一个报告窗口,以报告它们的使用情况。在一个报告窗口内,控制器将平衡相应主机中报告的单元流的所有使用情况。为了避免由于每个主机的报告延迟而可能造成的分配不公,设定规则,一个主机只有在收到控制器的分配指令的情况下,继续下一个周期的平衡分配,也就是说,该主机不会在控制器上只有一个报告窗口的情况下两次发送其使用报告。
步骤105,各层级带宽协调器和各主机根据获取的新带宽分配计划,调整局部带宽分配情况,包括限速和调控,以进行下一周期的带宽分配。
流量的速率不能简单地根据收到的公平份额来调整。流量的速率还应该考虑网络拥塞状态,可能会有突发的间歇性流量,来的快去的也快。因此,在不发生拥塞的时候,流量应该占用较高的带宽,以利用网络。同时,应降低流经拥塞路径的速率,以避免加剧网络的拥塞。此外,为了确保节约工作,应将租户内的拥塞留给拥塞控制。对于网内拥塞情况的探知,采用CAWC机制来解决。
在数据中心的全局中,带宽是无限的,但在局部和瞬时是有限的。因此,在这一部分,本发明专注于在一个时间段内以租户为单位调整带宽分配。终端主机的速率控制器运行一个速率适应算法来优化分布式的带宽分配。如图5所示,主机处理flowTable中记录的每个单元流,定期分配其速率。首先检查单元流是否是活动的,只有活跃的单元流被分配带宽(第2-5行)。本实施例将从协调器收到的最新公平份额TargetFS与上一个分配周期的流量公平份额oldFS进行比较,其中oldFS是根据流量的起始速率初始化的。
为了保持整体分配的公平性,本系统为单元流计算一个新的公平份额,它可以补偿上一个周期分配中的不公平。补偿nFS的积分等于补偿nFS的整合等于TargetFS-oldFS的整合。即:
当oldFS比TargetFS大时,nFS可以是负数。此后,主机根据网络状态和本地带宽使用情况调整每个单元流的速率。为了避免对拥塞过于敏感和利用网络,这里我们使用两个连续的速率控制周期来确定一个单元流是否参与了网络内的拥塞(第9-15行)。如果第一次检测到拥塞,则保持旧的公平份额FS的分配。但在第二次时,该单元流的带宽分配将减少k以缓解拥塞。如果没有检测到拥塞,即该流不参与拥塞,其速率会增加一个小于其速率两倍的分数,以爬升到利用带宽(注意rateControlCycle比reportCycle小)。带宽分配可以通过将公平份额和带宽函数作为输入进行计算(第16行)。当主机上的总分配达到速率限制时,就会对总分配进行调整(第19-20行)。之后,通过新计算出的公平份额,可以为每个单元流分配下一个分配目标带宽(第22行)。
通过这种算法,每个主机可以分布式地优化每个单元流的下一个周期分配目标。对于造成网络内拥塞的单元流,将强制进行速率适应。对于没有拥塞的单元流,则强制要求其利用网络来实现带宽工作保证。评估表明,发送主机可以通过几轮速率适应快速收敛。
此外,在一些特殊情况下,拥塞只由属于同一租户的流量引起,即租户内的流量。本实施例把这些流量的速率调整留给拥塞控制协议,以避免带宽浪费。如图6所示,租户A和B之间的权重比是1:2,两个链路是相同的。图6中(a)显示了正常情况下,两条链路都有来自两个租户的流量。在本实施例中,租户A的流量得到总带宽的2/3,租户B的流量得到其余部分。但当租户不竞争带宽时,情况就不同了。图6中(b)显示了每个租户的流量分别占用一条链路的情况。由于带宽的比例分配,租户A的流量只得到一半的带宽,这就造成了上层链路的带宽浪费。事实上,租户A和B不应该被认为是以加权方式分配的,因为他们并不竞争带宽。本实施例利用租户计数器来记录通过链路的租户数量,这可以很容易地在可编程交换机中实现。为了增加本系统检测租户间和租户内拥塞的能力,在可编程交换机上设计一个租户计数器。图6中(c)为添加租户计数器后,正确的带宽分配情况,即两条链路全部满流量,不会造成带宽的浪费。
本实施例对可编程交换机的要求只是一个租户寄存器表。这是一个有预设容量的表(通常设置为2),用来记录流过的租户信息。在这个表中,最多保留一些最少遇到的租户的ID和最近遇到的时间。当一个数据包(流)通过交换机时,有预设容量的表会登记其相应的租户ID。当另一个租户的数据包通过这个交换机时,一个新的条目被添加到表中。为了减少网络开销,交换机不传输租户表。相反,如果发生拥塞(即超过ECN标记阈值),并且条目数大于1,数据包将直接携带租户间拥塞标志。接收方通过在拥塞信号中增加一个额外的位,将租户间拥塞标志传回给发送方。此外,当交换机在一个超时值内没有收到他们的流量时,过期的租户将从表中删除,这个超时值可以通过记录的相遇时间来计算。此外,租户计数器没有必要应用于所有的交换机。相反,租户计数器可以应用于更容易发生拥塞的交换机,即网络的最后一跳或超额订购的节点。
在终端主机上,添加了一个叫做非竞争池的模块。起初,所有单元流都被设置为非竞争性,并被归入这个池子。在收到来自接收器的拥塞信号后,相应的单元流会从池中移出,以便进一步分配控制。非竞争池是一个抽象概念,可以利用它来实现用户定义的性能优化。例如,小流量可以被放入非竞争性池,以获得更好的性能。如果一些流量需要高优先级或应保持服务质量,它们也可以被分配到非竞争性池中。
对于TCP和UDP数据流的按比例带宽分配,使用NS3仿真实验验证实例的结果:
首先,验证可以保证租户之间的加权公平分配,涵盖了具有相同或不同权重的UDP和TCP流量。在实验中,使用测试平台来评估,有八个服务器作为发送方,两个服务器作为接收方,分两组发送数据包。每个发送者发送8个流(基于五元组),总共有64个流被发送到接收者,选择32个流进行演示。所有的服务器和交换机都连接到40Gbps的链接。另外,拓扑结构的瓶颈是40Gbps。
作为控制组,正常UDP和TCP流量来表示上述流量。对于UDP测试,为UDP流设置了不同的速率。24个流量(流量1-24)以2Gbps发送,8个流量(流量25-32)以8Gbps发送。如图7所示,流量25-32达到的带宽比流量1-24高得多,这不符合公平性要求。对于TCP的测试,也进行了TCP流的模拟,如图8所示,由于TCP协议中的拥塞控制,32个流实现了几乎公平的发送速率。还对TCP和UDP混合流的情况进行实验。如图9所示,流量6、7、14、15、22、23、30和31是UDP流量,其他是以3.2Gbps发送的TCP低流量。如图9所示,在不采用本发明的方法的情况下,TCP协议中的拥堵控制不能干扰UDP流。因此,UDP流的发送速率远远高于TCP流,这不符合多租户网络的公平性要求。本发明可以保证多租户之间的公平分配。为了验证本发明的方法保持公平的能力,将所有租户都设置为相同的权重。在图7的(a)、图8的(a)和图9的(a)中,尽管它们有相同的权重,但对初始发送率的设置是不同的。设置16个具有相同权重的流量。流量1-16属于租户1,流量17-32属于租户2。
如图7至图9所示,对于所有这些测试,采用本发明提供的方法,无论网络协议和网络的通信模式如何,流之间的公平性都保持在同一水平。这些测试表明,本发明方法有能力实现租户和流量之间的公平分配,能够保证租户之间的加权公平分配。实验中也显示了租户之间的加权分配。租户1和2之间的相对权重被分配为1:2。还评估了在UDP流量、TCP流量以及它们之间的混合流量。图7的(b)、图8的(b)和图9的(b)显示了结果。可以看到,两个不同租户中的流量都按照预设的比例正确地分配了带宽。在整个40Gbps带宽中,租户1中的所有流量都保持了租户2中流量的1/2的吞吐量。特别是对于TCP和UDP混合流量模式,从每个租户的流量中随机抽取UDP和TCP流量。在图9中,采用本发明的方法,在这两个租户之间的加权分配仍然可以表现良好,比例为1:2。
采用NS3仿真实验验证带宽分配的功能性:
对于带宽工作保证部分,主要是监测拥堵环节,这是整个网络的关键分配路径。在这个实验中,设置来自两个不同租户的4个流量,它们的到达和离开时间不同。租户的权重比为1:2,流量0和流量1属于租户1,其他两个属于租户2。所有这四个流量共享总的10Gbps瓶颈。分配给这些租户内的流量的权重是相等的。而对于流量,主要集中在拥堵的链路上,结果显示在图10的(a)中。
作为比较,还计算图10中的这些流量的带宽使用汇总,也是在全带宽容量下计算的。根据图10中(a)的结果,在拥堵链路中,每个流量都可以立即获得相应的带宽份额,同时,瓶颈链路中的所有流量都可以占用链路的总容量。例如,在6s时,流量2进入瓶颈。这三个流量的分配在此瞬间发生变化。如图10所示,流量2占据了大约6Gbps的带宽,而对于来自另一个租户的另外两个流量,流量0和1被平均分配到了大约3Gbps的带宽,表明本发明方法可以在流量进出时实现带宽工作保证。
验证本发明的方法的最小带宽保证。设置几个来自不同租户的流量,并设定了不同的配给权重。同时,对于每个租户的流量,设置一个最小带宽的分配。通过使用本发明方法的带宽功能和其他机制,预设最小保证。在实验中,1到4号流量来自不同的租户,这四个租户之间的比例是1:2:3:4。至于最小带宽,所有这些租户都通过设置相关的带宽函数被设定为10Gbps的带宽保证。图10的(b)显示了测试的结果。另外,在图中标出最小保证后,可以看到每个租户的所有流量的吞吐量都开始于其保证的吞吐量,而不考虑其他流量的情况。同时,所有流量都能达到预设的权重带宽分配率。这个实验表明,通过使用本发明方法可以实现最小保证目标。
如图11所示,将本发明方法与HCSFQ进行了比较,通过在可编程交换机中主动丢弃数据包来实现加权公平排队。结果显示,本发明方法在加权份额分配方面比HCSFQ取得了更好的性能。在一个拓扑结构上测量本发明方法和HCSFQ的性能,其中三个主机A、B和C通过30Gbps、1μs延迟的电缆连接到一个单一的交换机,每个端口的最大缓冲区大小为250KB。主机A和B各启动10个TCP流,分别向主机C发送0.2GB和0.1GB。由主机A启动的TCP流的权重是主机B的两倍。本实验中启用了ECN,最小阈值为50KB,最大阈值为200KB。为了避免TCP流在HCSFQ的主动丢包下出现病态行为,重新连接超时(SYN包未被响应后的超时)和最小RTO都被设置为10ms。
如图11的(a)所示,在TCP NewReno拥塞控制协议下,使用本系统的流量的吞吐量总是高于使用HCSFQ的流量的吞吐量。这是因为HCSFQ的主动丢包一方面浪费了网络带宽,另一方面导致拥堵窗口过低,无法利用带宽。在实验中,HCSFQ主动丢弃了大约5%的数据包,这导致TCP流的性能严重受损,尽管设置了一个小的超时来缓解丢包的损害。相比之下,使用本发明方法的流量几乎没有丢包,因为速率被精确控制。本发明提供了比HCSFQ更公平的带宽分配,使用HCSFQ的流量的变异系数1比使用本系统的高36倍。本发明能够准确地按照权重比例分配带宽,本发明中两组流量的吞吐量比为1.99,而HCSFQ中的吞吐量比为2.11。如图11的(b)所示,还将本发明与HCSFQ在其他拥塞控制协议下进行了比较,上述结果仍然成立,本发明在吞吐量、公平性和带宽分配的准确性方面都优于HCSFQ。
本发明提供的一种多租户场景下的网络带宽分配方法,使用字节计数器来实时监控每个租户的带宽分配情况;使用网内拥塞探测机制来检测网络内部的拥塞情况;使用租户计数器来探测网内的租户内部拥塞情况。本发明能够达到租户之间的带宽比例分配和最低带宽保证,同时实现带宽工作保证;支持根据租户指定的带宽功能灵活分配带宽;能够降低丢包率和提高网络吞吐量,改善应用层面的性能。
以上结合具体实施方式和范例性实例对本发明进行了详细说明,不过这些说明并不能理解为对本发明的限制。本领域技术人员理解,在不偏离本发明精神和范围的情况下,可以对本发明技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本发明的范围内。本发明的保护范围以所附权利要求为准。
Claims (7)
1.一种多租户场景下的网络带宽分配方法,其特征在于,包括:
根据分配目标以及服务质量任务情况设置并且分配带宽函数到各个主机端;
多层级带宽协调器收集各主机端的配置情况并且确定多层级带宽协调器总体的分配情况,得到新的可全局调控的分配方案;
开启网络任务,在各个主机端开启字节计数器,局部带宽调控,以及网内拥塞探测机制来进行动态带宽使用情况追踪同时进行网内拥塞情况监测,并进行局部的限速以及带宽管理;
各个主机周期性统计带宽分配情况,同时汇报至上级带宽协调器,并且各层级带宽协调器统计带宽分配平衡情况,进行计算平衡且下发下一周期的带宽分配计划;
各层级带宽协调器和各主机根据获取的新带宽分配计划,调整局部带宽分配情况,包括限速和调控,以进行下一周期的带宽分配。
2.根据权利要求1所述的多租户场景下的网络带宽分配方法,其特征在于,所述根据分配目标以及服务质量任务情况设置并且分配带宽函数到各个主机端,包括:
当新的流量到达时,流量控制器对流量进行重新分组,并将重新分组的流量归入单元流;每个单元流对应一个带宽函数;流量的带宽函数是根据源和目的对的权重以及发送器主机上设置的速率限制器初始化的;所述单元流为一组共享相同源和目的二元组的数据包,还具有相同的租户ID;单位流是网络数据控制的最小控制单位;
构建流量x的带宽函数的表达式:
Bx(s)=min(srcWeight+dstWeight,deviceRateLimit);
其中,srcWeight表示源主机的权重;dstWeight表示目的主机的权重;deviceRateLimit表示发送方主机的速率限制;s为公平份额;Bx为流量的带宽函数。
3.根据权利要求1所述的多租户场景下的网络带宽分配方法,其特征在于,所述多层级带宽协调器收集各主机端的配置情况并且确定多层级带宽协调器总体的分配情况,得到新的可全局调控的分配方案,包括:
利用租户层面的租户控制器分配单个租户内的带宽,给租户控制器分配初始带宽函数,在每个周期时间内,通过使用字节计数器收集总的带宽使用量,以及属于相应租户的单元流的带宽函数,租户控制器将流量的带宽函数与所属租户的带宽函数汇总,低层流量的带宽函数被转移到聚合的带宽函数中,并利用聚合函数将高层租户的带宽函数作为输入,得到新的带宽函数。
4.根据权利要求1所述的多租户场景下的网络带宽分配方法,其特征在于,所述开启网络任务,在各个主机端开启字节计数器,局部带宽调控,以及网内拥塞探测机制来进行动态带宽使用情况追踪同时进行网内拥塞情况监测,并进行局部的限速以及带宽管理,包括:
接收器维护一个记分牌,根据数据包是否有显式拥塞通知标记,计算在固定时间内滑动窗口的时间收到的数据包的字节数;
当显式拥塞通知标记的数据包的比例超过预设的阈值时,接收器向发送方发回拥塞信号通知;拥塞信号使用最高优先级来保证及时交付,当发送方收到拥塞信号时,根据分配算法重新对流量的公平份额进行分配;其中分配算法满足:目标公平份额=平均公平份额×(1+α),α为加速因子。
5.根据权利要求1所述的多租户场景下的网络带宽分配方法,其特征在于,主机只有在收到流量控制器的分配指令的情况下,继续下一个周期的平均分配。
6.一种计算机设备,其特征在于,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现权利要求1-5任一项所述的多租户场景下的网络带宽分配方法的步骤。
7.一种计算机可读存储介质,其特征在于,用于存储计算机程序;计算机程序被处理器执行时实现权利要求1-5任一项所述的多租户场景下的网络带宽分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310943795.9A CN117041154A (zh) | 2023-07-31 | 2023-07-31 | 一种多租户场景下的网络带宽分配方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310943795.9A CN117041154A (zh) | 2023-07-31 | 2023-07-31 | 一种多租户场景下的网络带宽分配方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117041154A true CN117041154A (zh) | 2023-11-10 |
Family
ID=88638296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310943795.9A Pending CN117041154A (zh) | 2023-07-31 | 2023-07-31 | 一种多租户场景下的网络带宽分配方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117041154A (zh) |
-
2023
- 2023-07-31 CN CN202310943795.9A patent/CN117041154A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11102129B2 (en) | Adjusting rate of outgoing data requests for avoiding incast congestion | |
US6621791B1 (en) | Traffic management and flow prioritization over multiple physical interfaces on a routed computer network | |
US10680964B1 (en) | Rate limiting in a multi-chassis environment by exchanging information between peer network elements | |
JP5010739B2 (ja) | 集約帯域幅制御のための方法及びシステム | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US7916718B2 (en) | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics | |
WO2002098080A1 (en) | System and method for scheduling traffic for different classes of service | |
US8248932B2 (en) | Method and apparatus for fairly sharing excess bandwidth and packet dropping amongst subscribers of a data network | |
CN107835133B (zh) | 一种基于多属性决策的流优先级控制方法 | |
JP2004266389A (ja) | パケット転送制御方法及びパケット転送制御回路 | |
Zhang et al. | Aequitas: Admission control for performance-critical rpcs in datacenters | |
Cascone et al. | Towards approximate fair bandwidth sharing via dynamic priority queuing | |
Li et al. | Survey on traffic management in data center network: from link layer to application layer | |
WO2002098047A2 (en) | System and method for providing optimum bandwidth utilization | |
EP1526686B1 (en) | Switching unit with scalable and QoS aware flow control | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
Yusuf et al. | Review of path selection algorithms with link quality and critical switch aware for heterogeneous traffic in SDN | |
CN117041154A (zh) | 一种多租户场景下的网络带宽分配方法、设备和存储介质 | |
Sood et al. | Hybrid Congestion Control Mechanism in Software Defined Networks | |
Chen et al. | FACC: Flow-Size-Aware Congestion Control in Data Center Networks | |
Goyal | Congestion Control in Highly Variable Networks | |
Kassing et al. | New primitives for bounded degradation in network service | |
KR102322451B1 (ko) | 네트워크 하이퍼바이저 및 이를 이용한 컨트롤 채널 대역폭 할당 방법 | |
US20230254264A1 (en) | Software-defined guaranteed-latency networking | |
KR20030034871A (ko) | 통신 장비의 버퍼 스케쥴링 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |