CN113268326A - 一种基于时间片轮转的公平流束调度方法及系统 - Google Patents

一种基于时间片轮转的公平流束调度方法及系统 Download PDF

Info

Publication number
CN113268326A
CN113268326A CN202110574065.7A CN202110574065A CN113268326A CN 113268326 A CN113268326 A CN 113268326A CN 202110574065 A CN202110574065 A CN 202110574065A CN 113268326 A CN113268326 A CN 113268326A
Authority
CN
China
Prior art keywords
coflow
tenant
sub
flow
round
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
Application number
CN202110574065.7A
Other languages
English (en)
Other versions
CN113268326B (zh
Inventor
张帆
闫长江
陈立水
唐亚哲
焦利彬
王斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
CETC 54 Research Institute
Original Assignee
Xian Jiaotong University
CETC 54 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University, CETC 54 Research Institute filed Critical Xian Jiaotong University
Priority to CN202110574065.7A priority Critical patent/CN113268326B/zh
Publication of CN113268326A publication Critical patent/CN113268326A/zh
Application granted granted Critical
Publication of CN113268326B publication Critical patent/CN113268326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于时间片轮转的公平流束调度方法及系统,方法包括:把时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对coflow调度;根据一轮调度时是否存在信息不可知coflow,采用两种不同方式调度:若存在信息不可知coflow,则使用优先发送先导流的方式,估算信息不可知coflow的大小信息,同时以租户轮询的方式对其分配带宽对coflow进行调度;若不存在信息不可知coflow,则基于coflow的信息,以分配优先级和租户轮询相结合方式对其分配带宽对coflow进行调度;两种调度方式均限制租户在一轮内的最大传输数据量,以保证本方法的策略防范性。本发明可以在保证策略防范和一轮的最优隔离的同时,提高coflow的性能,与现有提供隔离保证的方法相比,性能提升了54%。

Description

一种基于时间片轮转的公平流束调度方法及系统
技术领域
本发明涉及互联网技术领域,特别涉及一种基于时间片轮转的公平流束调度方法及系统。
背景技术
数据中心中通常会运行数据并行应用(如,MapReduce,Spark等)。这些应用在对数据进行计算处理中,会产生大量的并行数据流,这些数据流可以用coflow模型描述。coflow通常指的是一组具有相同目标的并行数据流的集合,集合中的每条流称为coflow的子流。根据coflow的大小信息在调度时是否可知,coflow可以被分为信息可知的和信息不可知的两种类型。
为了适合用于这两种类型的coflow的调度,产生了若干种调度方法。例如,Utopia、Coflex、HUG和DRF等方法用于信息可知coflow的调度。由于它们在调度时依赖coflow的大小信息,所以它们不能用于信息不可知coflow的调度。对于信息不可知coflow,现有的调度方法可以在合作环境下(如,私有数据中心网络)提高它们的性能。在这种环境下,不同的作业相互合作可以提高整体的应用的性能。Aalo调度方法使用多级反馈队列让较小的coflow优于较大的coflow优先被调度,提高了coflow的性能。但是,这种调度方法并不适用于非合作环境(如,多租户的数据中心网络),因为它不是策略防范的。策略防范指的是租户无法通过欺骗调度器获取更多的资源。在非合作环境下,不同的租户相互竞争有限的资源,一个租户会尽可能的为自己争取更多的资源。以上调度方法按照特定的规则(如,较小的coflow优先)调度coflow,这会鼓励租户向调度器谎报需求,从而获取更多的带宽资源,因此它不是策略防范的。例如,不诚实的租户把一个较大的coflow分割成若干个较小的coflow,根据Aalo的较小的coflow优先规则,那么这个较大的coflow可以比其他诚实的租户的coflow获得更多性能增益,可以说Aalo不是策略防范的。
而且一些非合作环境下的coflow调度方法(如,NC-DRF)虽然可以提供了公平性和一定的隔离保证,但是由于它们把带宽同时公平的分配给不同coflow,导致coflow性能较差。
发明内容
本发明的目的在于提供一种基于时间片轮转的公平流束调度方法及系统,以解决现有技术存在的缺乏策略防范、效率低的问题。
为实现上述目的,本发明采用以下技术方案:
一种基于时间片轮转的公平流束调度方法,包括以下步骤:
把时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对并行数据流的集合coflow调度;
在每一轮调度开始时,判断是否存在信息不可知coflow;
若存在信息不可知coflow,则使用基于先导流估计的调度策略,为各coflow提供带宽分配,计算出信息不可知coflow的大小;
若不存在信息不可知coflow,则使用基于信息可知的coflow调度策略,为各coflow提供带宽分配。
进一步的,
存在信息不可知coflow:
S1,从信息不可知coflow的子流中选取一个子流,被选取的这个子流称为先导流;该信息不可知coflow的其他子流称为非先导流;在每一轮开始时,使用基于拥塞最少先导流最少的分配法,在每一个信息未知的coflow中选取一个子流作为它的先导流;
S2,把一轮的调度时间分成若干个片段,每个片段为一子轮,以一子轮为基本时间单位对coflow调度;在每一子轮调度开始时,使用子轮内coflow传输量估计法,计算出各coflow在一子轮内可以传输的最大数据量,简称为传输量;各coflow中除先导流以外的其他子流在一子轮内传输的总数据量不能超过传输量;先导流在一子轮内的传输数据量不受其传输量的限制;
S3,在每一子轮调度开始时,使用子轮内coflow优先级评定法,计算出各coflow的获取带宽的优先级;
S4,在每一子轮内,使用子轮内coflow速率估计法,计算出各coflow的速率;
S5,在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完;若判定为是,则去执行下一步,若判定为否,返回判定开始的地方,等待下一次判定;
S6,在一子轮内,判断是否所有先导流传输完毕,若判定为是,则去结束所述子轮的调度,使用基于先导流大小的coflow大小估计法,计算信息不可知coflow的大小,并且结束一轮的调度;若判定为否,则去在一子轮内,判断所有信息不可知coflow的非先导流和信息可知coflow的传输量是否使用完,若判定为是,则结束一子轮的调度;若判定为否,则使用子轮内coflow速率估计法,计算出各coflow的速率;
S7,结束一子轮的调度。
进一步的,S2具体包括:
S21、对于租户内存在信息不可知coflow,使用基于子流数目的租户带宽估计法,计算出租户的带宽;
S22、对于租户内不存在信息不可知coflow,使用基于流大小的租户带宽估计法,计算出租户的带宽;
S23、根据子轮的持续时间估计法,计算出一子轮的持续时间;
S24、根据各租户的带宽和一子轮的持续时间,计算出租户的传输量。
进一步的,不存在信息不可知coflow:
S1、在每一轮调度开始时,使用coflow传输量估计法,计算出各coflow在一轮内的传输量,各coflow在一轮内传输的数据量不能超过所述传输量;
S2、在每一轮调度开始时,使用coflow优先级评定法,计算出各coflow的获取带宽的优先级,各coflow按照所诉优先级获取带宽;
S3、在每一轮调度开始时,使用coflow速率估计法,计算出各coflow的速率,各coflow以所述速率传输数据;
S4、在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完,若判定为是,则去执行下一步;若判定为否,返回判定开始的地方,等待下一次判定。
S5、在一子轮内,判断所有coflow的传输量是否使用完。若判定为是,则去执行S36,若判定为否,则去使用coflow速率估计法,计算出各coflow的速率,各coflow以所述速率传输数据;
S6、结束一轮调度。
进一步的,本实施例中,步骤S1具体包括:
S11、根据租户的coflow的大小信息,使用DRF计算各租户的带宽;
S12、根据coflow的大小信息和租户的带宽,计算出一轮的持续时间;
S13、根据租户的带宽和一轮的持续时间,计算出各租户的传输量和各coflow的传输量。
进一步的,基于拥塞最少先导流最少的分配法具体包括:
在最不容易被拥塞的端口上选择coflow的一个子流作为先导流;
假设一个信息不可知coflow占据M个发送端口(端口号分别为i1,i2,...,iM)和N个接收端口,端口号分别为j1,j2,...,jN,它有M×N个子流,一个子流表示为flowi,j,其中i为子流所在的发送端口号,j为子流所在的接收端口号,该发送端口记为端口i,该接收端口记为端口j;
用拥塞指数(CongestionIndex)表示一个端口的拥塞程度,该指越小,表示的拥塞程度越小;对于发送端口i的拥塞指数
Figure BDA0003083639370000041
其中notheri是该端口上占据的所有coflow的数目,
Figure BDA0003083639370000042
是其他信息不可知coflow的先导流的数目,f是先导流所占的权重值,其取值为
Figure BDA0003083639370000043
对于接收端口j的拥塞指数
Figure BDA0003083639370000051
其中
Figure BDA0003083639370000052
先导流的选择:
选取M个发送端拥塞指数CongestionIndexi(i=i1,i2,...,iM)中最小的所对应的端口号作为先导流在的发送端口ip,计算先导流发送端口号的公式为
Figure BDA0003083639370000053
选取N个接收端拥塞指数CongestionIndexj(j=j1,j2,...,jN)中最小的所对应的端口号作为先导流在的接收端口号jp,计算先导流接收端口号的公式为
Figure BDA0003083639370000054
选择子流
Figure BDA0003083639370000055
作为先导流。
进一步的,子轮内coflow传输量估计法,具体包括:
使用子轮内租户传输量估计法,计算各租户在一子轮内可以传输的最大数据量,把各租户的传输量依次分配给各租户内的coflow作为各coflow的传输量;
子轮内租户传输量估计法,具体包括:
若租户内存在信息不可知coflow,则使用基于子流数目的租户带宽估计法,计算出租户的带宽;
若租户内不存在信息不可知coflow,则使用基于流大小的租户带宽估计法,计算出租户的带宽;
根据子轮的持续时间估计法,设置一子轮的持续时间;
根据各租户的带宽和一子轮的持续时间,计算出租户的传输量;
租户的传输量的计算公式为
Figure BDA0003083639370000056
其中
Figure BDA0003083639370000057
是租户Tk的传输量,
Figure BDA0003083639370000058
是租户Tk的带宽,tr是一子轮的持续时间;
设置一个子流的最大传输量超过1MB;
子轮的持续时间估计法,具体包括:
设置一子轮的持续时间tr的原则是尽可能地在一子轮内保证只有一个先导流传输完毕,所以一子轮的持续时间设置为tr=Size/Band,其Size是现有公开的coflow信息中统计出来的,它是75%的coflow的一个子流的大小,使用者可以自定义,默认设置为10Mbyte。Band是一个子流在一条链路上理想状态下可以达到的最大速率,即一条链路上的满带宽;
基于子流数目的租户带宽估计法,具体包括:
根据各租户内coflow的子流数目,计算出各租户在不同链路上的子流数目的向量;
计算各租户在不同链路上的子流数目的向量的公式为
Figure BDA0003083639370000061
其中
Figure BDA0003083639370000062
是租户Tk在不同链路上coflow的子流的数目的向量,租户Tk有Nk个coflow
Figure BDA0003083639370000063
Figure BDA0003083639370000064
是租户Tk的coflowCk,i在不同链路上的子流数目的向量;
根据各租户在不同链路上的子流数目的向量,计算出各租户在不同链路上的需求量的相关向量;
假设网络中有2m条链路(链路1,链路2,...,链路2m),计算租户在不同链路上的需求量的相关向量的公式为
Figure BDA0003083639370000065
其中
Figure BDA0003083639370000066
是租户Tk在不同链路上的需求量的相关向量,
Figure BDA0003083639370000067
是租户Tk在链路i上的需求量的相关向量,计算公式为
Figure BDA0003083639370000068
Figure BDA0003083639370000069
是租户Tk在链路i上分布的子流的数目;
根据各租户在不同链路上的需求量的相关向量,使用DRF方法计算各租户的带宽。
进一步的,基于流大小的租户带宽估计法,具体包括:
根据各租户内coflow的需求量,计算出各租户在不同链路上的需求量;
Figure BDA00030836393700000610
其中dTk是租户Tk在不同链路上的需求量的向量,租户Tk有Nk个coflow Ck,1,...,
Figure BDA00030836393700000611
Figure BDA00030836393700000612
是租户Tk的coflowCk,i在不同链路上的需求量的向量;
根据各租户的需求量,使用DRF方法计算各租户的带宽;
子轮内coflow优先级评定法,具体包括:
为信息不可知coflow的先导流分配高优先级;为信息不可知coflow的非先导流和信息可知coflow的所有子流分配低优先级;
信息不可知coflow的先导流按照其所属的租户的次序进行轮询排序,而且每经过一子轮,租户的次序发生轮转变化;信息不可知coflow的非先导流和信息可知coflow的所有子流按照其所属的租户的次序进行轮询排序,而且每经过一子轮,租户的次序发生轮转变化;
子轮内coflow速率估计法,具体包括:
根据各先导流的优先级,为各先导流分配带宽,计算先导流的速率;
根据各coflow的优先级和传输量,使用Super-coflow方法,计算出各信息不可知coflow的非先导流和信息可知coflow的所有子流速率;
基于先导流大小的coflow大小估计法,具体包括:
已知一个信息不可知coflow的先导流的大小为Sizep,那么该信息不可知coflow的其他每一个子流的大小都是Sizep
coflow传输量估计法,具体包括:
使用租户传输量估计法,计算各租户在一轮内可以传输的最大数据量,把各租户的传输量依次分配给各租户内的coflow作为各coflow的传输量。
租户传输量估计法,具体包括:
使用基于流大小的租户带宽估计法,计算出租户的带宽;
使用基于最短流完成时间的一轮持续时间估计法,计算出一轮的持续时间;
根据各租户的带宽和一轮的持续时间,计算出租户的传输量;
租户的传输量的计算公式为
Figure BDA0003083639370000071
其中
Figure BDA0003083639370000072
是租户Tk的传输量,
Figure BDA0003083639370000073
是租户Tk的带宽,t是一轮的持续时间;
基于最短流完成时间的一轮持续时间估计法,具体包括:
根据各租户的带宽和coflow的大小,计算出各coflow的完成时间;
一个coflow完成时间的计算公式为
Figure BDA0003083639370000074
其中
Figure BDA0003083639370000075
是租户Tk的第i个coflow Ck,i的完成时间,
Figure BDA0003083639370000076
是该coflow在链路j上的需求量,
Figure BDA0003083639370000077
是给租户Tk在链路j上分配的带宽;
从各coflow的完成时间中选取最短完成时间作为一轮的持续时间;
coflow优先级评定法,具体包括:
根据一个coflow的传输量和该coflow的剩余大小,可以判断该coflow是否能够在一轮内完成;
根据一个coflow是否能够在一轮内完成,把所有coflow分为两类:
若coflow能够在一轮内完成,把该coflow分为第一类;
若coflow不能在一轮内完成,把该coflow分为第二类;
对第一类coflow按照其所属的租户的次序进行轮询排序,而且每经过一轮,租户的次序发生轮转变化;对第二类coflow按照coflow完成时间的升序进行排序;把第一类coflow排序结果放在前,第二类coflow排在第一类coflow之后,合并两类的排序结果为所有coflow的排序结果;coflow的次序就是coflow的优先级;
coflow速率估计法,具体包括:
根据各coflow的优先级和传输量,使用Super-coflow方法,计算出各coflow的速率。
进一步的,一种基于时间片轮转的公平流束调度系统,包括:
时间分割模块用于把时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对并行数据流的集合coflow调度;
信息不可知coflow存在判断模块用于在每一轮调度开始时,判断是否存在信息不可知coflow;
若存在信息不可知coflow,则使用基于先导流估计的调度策略,为各coflow提供带宽分配,计算出信息不可知coflow的大小;
若不存在信息不可知coflow,则使用基于信息可知的coflow调度策略,为各coflow提供带宽分配。
与现有技术相比,本发明有以下技术效果:
本发明采用以一轮为基本时间单位对coflow调度,限制每一轮内租户的最大传输量和以租户轮询的方式分配带宽的调度方式解决了缺乏策略防范的问题。详细说明如下:
本发明限制每一轮内租户的最大传输量,每个租户在每一轮内的传输量是有限的,所以一个租户无法通过欺骗不间断传输数据抢占带宽。
以租户轮询的方式分配带宽指的是在每一轮调度中,对coflow分配带宽时采用基于租户的轮询方式。例如,假设有两个租户(租户1和租户2),在第一轮中,租户的调度次序为:租户1、租户2;在第二轮中,租户的调度次序为:让租户2、租户1。这种轮询次序只由调度器掌握,而租户是无法获取或决定的,所以不诚实的租户无法通过欺骗一直处于排序的前端中优先获取更多的带宽。所以,本发明通过以上两种方法解决了缺乏策略防范的问题。
本发明在每一轮中通过给coflow分配优先级的方式分配带宽解决了效率低的问题。详细说明如下:
给coflow分配优先级指是把带宽尽可能的优先分配给具有较高优先级的coflow,然后分配给具有较低优先级的coflow,而不是把带宽平均分配给所有的coflow。通过这种方式,可以加速具有高优先级的coflow的完成,可以提升所有coflow的性能。本发明通过这种方法解决了效率低的问题。
附图说明
图1为本发明提供的一种先验信息不确定条件下基于时间片轮转的公平流束调度机制总体流程图;
图2为本发明提供的当一论调度中存在信息不可知coflow时的调度流程图;
图3为本发明提供的当一论调度中不存在信息不可知coflow时的调度流程图;
图4为本发明实施提供的一种有三个coflow调度时带宽变化示意图;
图5为本发明实施的在租户欺骗系统前后coflow完成时间的放大倍数示意图。
表1为图4中各coflow的子流以及其大小。
表2为本发明实施的coflow平均完成时间。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法包括:把时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对coflow调度;根据一轮调度时是否存在信息不可知coflow,采用两种不同方式调度:若存在信息不可知coflow,则使用优先发送先导流的方式,估算信息不可知coflow的大小信息,同时以租户轮询的方式对其分配带宽对coflow进行调度;若不存在信息不可知coflow,则基于coflow的信息,以分配优先级和租户轮询相结合方式对其分配带宽对coflow进行调度;两种调度方式均限制租户在一轮内的最大传输数据量,以保证本方法的策略防范性。本发明可以在保证策略防范和一轮的最优隔离的同时,提高coflow的性能,与现有提供隔离保证的方法相比,性能提升了54%。
如图1所示,本实施例公开一种先验信息不确定条件下基于时间片轮转的公平流束调度机制在一轮内调度,包括以下步骤S1至S3:
S1、在每一轮调度开始时,判断是否存在信息不可知coflow。若判定为是,则去执行S2;若判定为否,则去执行S3。
S2、该方法使用基于先导流估计的调度策略,为各coflow提供带宽分配,计算出信息不可知coflow的大小。
S3、该方法使用基于信息可知的coflow调度策略,为各coflow提供带宽分配。
本实施例中,步骤S2具体包括图2中所示出的步骤S21、S22、S23、S24、S25、S26、S27、S28、S29、S210:
S21、在每一轮调度开始时,该方法使用基于拥塞最少先导流最少的分配法,在每一个信息未知的coflow中选取一个子流作为它的先导流。
S22、在每一子轮调度开始时,使用子轮内coflow传输量估计法,计算出各coflow在一子轮内的传输量,各coflow内除先导流以外的其他子流在一子轮内传输的总数据量不能超过传输量;先导流在一子轮内的传输数据量不受其传输量的限制。
本实施例中,步骤S22具体包括图2中未示出的步骤S221、S222、S223、S224:
S221、对于租户内存在信息不可知coflow,使用基于子流数目的租户带宽估计法,计算出租户的带宽;
S222、对于租户内不存在信息不可知coflow,使用基于流大小的租户带宽估计法,计算出租户的带宽;
S223、根据子轮的持续时间估计法,计算出一子轮的持续时间;
S224、根据各租户的带宽和一子轮的持续时间,计算出租户的传输量。
S23、在每一子轮调度开始时,使用子轮内coflow优先级评定法,计算出各coflow的获取带宽的优先级。
S24、在每一子轮内,该方法使用子轮内coflow速率估计法,计算出各coflow的速率。
S25、在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完。若判定为是,则去执行S26;若判定为否,返回判定开始的地方,等待下一次判定。
S26、在一子轮内,判断是否所有先导流传输完毕。若判定为是,则去执行S27;若判定为否,则去执行S28。
S27、结束所述子轮的调度,使用基于先导流大小的coflow大小估计法,计算信息不可知coflow的大小,并且结束一轮的调度。
S28、在一子轮内,判断所有信息不可知coflow的非先导流和信息可知coflow的传输量是否使用完。若判定为是,则去执行S29;若判定为否,则去执行S24。
S29、结束一子轮的调度。
本实施例中,步骤S3具体包括图3中所示出的步骤S31、S32、S33、S34、S35、S36:
S31、在每一轮调度开始时,该方法使用coflow传输量估计法,计算出各coflow在一轮内的传输量,各coflow在一轮内传输的数据量不能超过所述传输量。
本实施例中,步骤S31具体包括图3中未示出的步骤S311、S312、S313:
S311、根据租户的coflow的大小信息,使用DRF计算各租户的带宽;
S312、根据coflow的大小信息和租户的带宽,计算出一轮的持续时间;
S313、根据租户的带宽和一轮的持续时间,计算出各租户的传输量和各coflow的传输量;
S32、在每一轮调度开始时,使用coflow优先级评定法,计算出各coflow的获取带宽的优先级,各coflow按照所诉优先级获取带宽。
S33、在每一轮调度开始时,该方法使用coflow速率估计法,计算出各coflow的速率,各coflow以所述速率传输数据。
S34、在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完。若判定为是,则去执行S35;若判定为否,返回判定开始的地方,等待下一次判定。
S35、在一子轮内,判断所有coflow的传输量是否使用完。若判定为是,则去执行S36,若判定为否,则去执行S33。
S36、结束一轮调度。
图4为本发明实施提供的一种有三个coflow调度时带宽变化示意图;有三个coflow(C1、C2、C3)分布于链路1和链路2上,它们分别属于租户T1、租户T2、租户T3,它们每个都有2个子流,如表1所示,三个coflow在0ms到达。C1、C2和C3一共被调度了4轮(R1、R2、R3和R4),在第一轮(R1)和第一个子轮的开始0ms时,设置C1的f1,1、C3的f1,1和C2的f2,2为先导流,给先导流分配高优先级传输,并给C2的非先导流f1,1分配了1Mb的传输量。经过调度后,三个先导流传输完毕,一个子轮调度结束,计算三个coflow的大小(C1在链路2上剩余大小为80Mb,C2在链路1上剩余大小为152Mb,C3在链路2上剩余大小为40Mb),并结束一轮的调度。在第二轮,确定了coflow优先级排序为C2、C3、C1,传输量都是40Mb,先后以1Gbps传输,说明本发明可以保证在一轮内为租户提供最优的隔离保障。在234ms时,所有coflow使用完它的传输量,第二轮调度结束,开启第三轮调度。每一轮如此反复,在344ms时四轮调度结束。
图5为本发明实施的在租户欺骗系统前后coflow完成时间的放大倍数示意图;图中可见,对于所有类型(图中用ALL表示,包括:短窄(SN)、长窄(LN)、短宽(SW)、长宽(LW)四种类型)的coflow,使用了本发明,欺骗了系统的租户的coflow的平均完成时间是没有欺骗时的1.55倍,说明本发明增加了不诚实的租户的coflow完成时间,租户会放弃欺骗,因此可以证明本发明是策略防范的。而对于原有的不可以策略防范的coflow调度方法Aalo,它的coflow放大倍数达到了0.89,说明不诚实的租户可以通过欺骗加速了coflow完成。
表1为图4中各coflow的子流以及其大小。例如,C1有子流f1,1和f2,2,其中f1,1表示该子流是从发送端口1到接收端口1,f2,2表示该子流是从发送端口2到接收端口2。
表2为发明实施的coflow平均完成时间;表中可见,对于不同类型(短窄(SN)、长窄(LN)、短宽(SW)、长宽(LW))coflow,与原有的可用于信息不可知coflow的调度方法NC-DRF相比,本发明都可以降低其平均完成时间分别可达53.7%、66.3%、65.9%、53.6%,显著提升了coflow的性能。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
表1
Figure BDA0003083639370000131
表2
Figure BDA0003083639370000141

Claims (9)

1.一种基于时间片轮转的公平流束调度方法,其特征在于,包括以下步骤:
将时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对并行数据流的集合coflow调度;
在每一轮调度开始时,判断是否存在信息不可知coflow;
若存在信息不可知coflow,则使用基于先导流估计的调度策略,为各coflow提供带宽分配,计算出信息不可知coflow的大小;
若不存在信息不可知coflow,则使用基于信息可知的coflow调度策略,为各coflow提供带宽分配。
2.根据权利要求1所述的一种基于时间片轮转的公平流束调度方法,其特征在于,
存在信息不可知coflow:
S1,从信息不可知coflow的子流中选取一个子流,被选取的这个子流称为先导流;该信息不可知coflow的其他子流称为非先导流;在每一轮开始时,使用基于拥塞最少先导流最少的分配法,在每一个信息未知的coflow中选取一个子流作为它的先导流;
S2,把一轮的调度时间分成若干个片段,每个片段为一子轮,以一子轮为基本时间单位对coflow调度;在每一子轮调度开始时,使用子轮内coflow传输量估计法,计算出各coflow在一子轮内可以传输的最大数据量,简称为传输量;各coflow中除先导流以外的其他子流在一子轮内传输的总数据量不能超过传输量;先导流在一子轮内的传输数据量不受其传输量的限制;
S3,在每一子轮调度开始时,使用子轮内coflow优先级评定法,计算出各coflow的获取带宽的优先级;
S4,在每一子轮内,使用子轮内coflow速率估计法,计算出各coflow的速率;
S5,在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完;若判定为是,则去执行下一步,若判定为否,返回判定开始的地方,等待下一次判定;
S6,在一子轮内,判断是否所有先导流传输完毕,若判定为是,则去结束所述子轮的调度,使用基于先导流大小的coflow大小估计法,计算信息不可知coflow的大小,并且结束一轮的调度;若判定为否,则去在一子轮内,判断所有信息不可知coflow的非先导流和信息可知coflow的传输量是否使用完,若判定为是,则结束一子轮的调度;若判定为否,则使用子轮内coflow速率估计法,计算出各coflow的速率;
S7,结束一子轮的调度。
3.根据权利要求2所述的一种基于时间片轮转的公平流束调度方法,其特征在于,S2具体包括:
S21、对于租户内存在信息不可知coflow,使用基于子流数目的租户带宽估计法,计算出租户的带宽;
S22、对于租户内不存在信息不可知coflow,使用基于流大小的租户带宽估计法,计算出租户的带宽;
S23、根据子轮的持续时间估计法,计算出一子轮的持续时间;
S24、根据各租户的带宽和一子轮的持续时间,计算出租户的传输量。
4.根据权利要求1所述的一种基于时间片轮转的公平流束调度方法,其特征在于,
不存在信息不可知coflow:
S1、在每一轮调度开始时,使用coflow传输量估计法,计算出各coflow在一轮内的传输量,各coflow在一轮内传输的数据量不能超过所述传输量;
S2、在每一轮调度开始时,使用coflow优先级评定法,计算出各coflow的获取带宽的优先级,各coflow按照所诉优先级获取带宽;
S3、在每一轮调度开始时,使用coflow速率估计法,计算出各coflow的速率,各coflow以所述速率传输数据;
S4、在一子轮内,根据主机是否上报控制器包含有单个子流传输完毕或其传输量使用完的信息,判断是否有单个子流传输完毕或其传输量使用完,若判定为是,则去执行下一步;若判定为否,返回判定开始的地方,等待下一次判定;
S5、在一子轮内,判断所有coflow的传输量是否使用完;若判定为是,则去执行S36,若判定为否,则去使用coflow速率估计法,计算出各coflow的速率,各coflow以所述速率传输数据;
S6、结束一轮调度。
5.根据权利要求4所述的一种基于时间片轮转的公平流束调度方法,其特征在于,本实施例中,步骤S1具体包括:
S11、根据租户的coflow的大小信息,使用DRF计算各租户的带宽;
S12、根据coflow的大小信息和租户的带宽,计算出一轮的持续时间;
S13、根据租户的带宽和一轮的持续时间,计算出各租户的传输量和各coflow的传输量。
6.根据权利要求2所述的一种基于时间片轮转的公平流束调度方法,其特征在于,基于拥塞最少先导流最少的分配法具体包括:
在最不容易被拥塞的端口上选择coflow的一个子流作为先导流;
假设一个信息不可知coflow占据M个发送端口(端口号分别为i1,i2,...,iM)和N个接收端口,端口号分别为j1,j2,...,jN,它有M×N个子流,一个子流表示为flowi,j,其中i为子流所在的发送端口号,j为子流所在的接收端口号,该发送端口记为端口i,该接收端口记为端口j;
用拥塞指数(CongestionIndex)表示一个端口的拥塞程度,该指越小,表示的拥塞程度越小;对于发送端口i的拥塞指数
Figure FDA0003083639360000031
其中
Figure FDA0003083639360000036
是该端口上占据的所有coflow的数目,
Figure FDA0003083639360000032
是其他信息不可知coflow的先导流的数目,f是先导流所占的权重值,其取值为
Figure FDA0003083639360000033
对于接收端口j的拥塞指数
Figure FDA0003083639360000034
其中
Figure FDA0003083639360000035
先导流的选择:
选取M个发送端拥塞指数CongestionIndexi(i=i1,i2,...,iM)中最小的所对应的端口号作为先导流在的发送端口ip,计算先导流发送端口号的公式为
Figure FDA0003083639360000041
选取N个接收端拥塞指数CongestionIndexj(j=j1,j2,...,jN)中最小的所对应的端口号作为先导流在的接收端口号jp,计算先导流接收端口号的公式为
Figure FDA0003083639360000042
选择子流
Figure FDA0003083639360000043
作为先导流。
7.根据权利要求2所述的一种基于时间片轮转的公平流束调度方法,其特征在于,子轮内coflow传输量估计法,具体包括:
使用子轮内租户传输量估计法,计算各租户在一子轮内可以传输的最大数据量,把各租户的传输量依次分配给各租户内的coflow作为各coflow的传输量;
子轮内租户传输量估计法,具体包括:
若租户内存在信息不可知coflow,则使用基于子流数目的租户带宽估计法,计算出租户的带宽;
若租户内不存在信息不可知coflow,则使用基于流大小的租户带宽估计法,计算出租户的带宽;
根据子轮的持续时间估计法,设置一子轮的持续时间;
根据各租户的带宽和一子轮的持续时间,计算出租户的传输量;
租户的传输量的计算公式为
Figure FDA0003083639360000044
其中
Figure FDA0003083639360000045
是租户Tk的传输量,
Figure FDA0003083639360000046
是租户Tk的带宽,tr是一子轮的持续时间;
设置一个子流的最大传输量超过1MB;
子轮的持续时间估计法,具体包括:
设置一子轮的持续时间tr的原则是尽可能地在一子轮内保证只有一个先导流传输完毕,所以一子轮的持续时间设置为tr=Size/Band,其Size是现有公开的coflow信息中统计出来的,它是75%的coflow的一个子流的大小,使用者可以自定义,默认设置为10Mbyte;Band是一个子流在一条链路上理想状态下可以达到的最大速率,即一条链路上的满带宽;
基于子流数目的租户带宽估计法,具体包括:
根据各租户内coflow的子流数目,计算出各租户在不同链路上的子流数目的向量;
计算各租户在不同链路上的子流数目的向量的公式为
Figure FDA0003083639360000051
其中
Figure FDA0003083639360000052
是租户Tk在不同链路上coflow的子流的数目的向量,租户Tk有Nk个coflow
Figure FDA0003083639360000053
Figure FDA0003083639360000054
是租户Tk的coflowCk,i在不同链路上的子流数目的向量;
根据各租户在不同链路上的子流数目的向量,计算出各租户在不同链路上的需求量的相关向量;
假设网络中有2m条链路(链路1,链路2,...,链路2m),计算租户在不同链路上的需求量的相关向量的公式为
Figure FDA0003083639360000055
其中
Figure FDA0003083639360000056
是租户Tk在不同链路上的需求量的相关向量,
Figure FDA0003083639360000057
是租户Tk在链路i上的需求量的相关向量,计算公式为
Figure FDA0003083639360000058
Figure FDA0003083639360000059
是租户Tk在链路i上分布的子流的数目;
根据各租户在不同链路上的需求量的相关向量,使用DRF方法计算各租户的带宽。
8.根据权利要求7所述的一种基于时间片轮转的公平流束调度方法,其特征在于,
基于流大小的租户带宽估计法,具体包括:
根据各租户内coflow的需求量,计算出各租户在不同链路上的需求量;
Figure FDA00030836393600000510
其中
Figure FDA00030836393600000511
是租户Tk在不同链路上的需求量的向量,租户Tk有Nk个coflow
Figure FDA00030836393600000512
Figure FDA00030836393600000513
是租户Tk的coflowCk,i在不同链路上的需求量的向量;
根据各租户的需求量,使用DRF方法计算各租户的带宽;
子轮内coflow优先级评定法,具体包括:
为信息不可知coflow的先导流分配高优先级;为信息不可知coflow的非先导流和信息可知coflow的所有子流分配低优先级;
信息不可知coflow的先导流按照其所属的租户的次序进行轮询排序,而且每经过一子轮,租户的次序发生轮转变化;信息不可知coflow的非先导流和信息可知coflow的所有子流按照其所属的租户的次序进行轮询排序,而且每经过一子轮,租户的次序发生轮转变化;
子轮内coflow速率估计法,具体包括:
根据各先导流的优先级,为各先导流分配带宽,计算先导流的速率;
根据各coflow的优先级和传输量,使用Super-coflow方法,计算出各信息不可知coflow的非先导流和信息可知coflow的所有子流速率;
基于先导流大小的coflow大小估计法,具体包括:
已知一个信息不可知coflow的先导流的大小为Sizep,那么该信息不可知coflow的其他每一个子流的大小都是Sizep
coflow传输量估计法,具体包括:
使用租户传输量估计法,计算各租户在一轮内可以传输的最大数据量,把各租户的传输量依次分配给各租户内的coflow作为各coflow的传输量;
租户传输量估计法,具体包括:
使用基于流大小的租户带宽估计法,计算出租户的带宽;
使用基于最短流完成时间的一轮持续时间估计法,计算出一轮的持续时间;
根据各租户的带宽和一轮的持续时间,计算出租户的传输量;
租户的传输量的计算公式为
Figure FDA0003083639360000061
其中
Figure FDA0003083639360000062
是租户Tk的传输量,
Figure FDA0003083639360000063
是租户Tk的带宽,t是一轮的持续时间;
基于最短流完成时间的一轮持续时间估计法,具体包括:
根据各租户的带宽和coflow的大小,计算出各coflow的完成时间;
一个coflow完成时间的计算公式为
Figure FDA0003083639360000064
其中
Figure FDA0003083639360000065
是租户Tk的第i个coflowCk,i的完成时间,
Figure FDA0003083639360000066
是该coflow在链路j上的需求量,
Figure FDA0003083639360000067
是给租户Tk在链路j上分配的带宽;
从各coflow的完成时间中选取最短完成时间作为一轮的持续时间;
coflow优先级评定法,具体包括:
根据一个coflow的传输量和该coflow的剩余大小,可以判断该coflow是否能够在一轮内完成;
根据一个coflow是否能够在一轮内完成,把所有coflow分为两类:
若coflow能够在一轮内完成,把该coflow分为第一类;
若coflow不能在一轮内完成,把该coflow分为第二类;
对第一类coflow按照其所属的租户的次序进行轮询排序,而且每经过一轮,租户的次序发生轮转变化;对第二类coflow按照coflow完成时间的升序进行排序;把第一类coflow排序结果放在前,第二类coflow排在第一类coflow之后,合并两类的排序结果为所有coflow的排序结果;coflow的次序就是coflow的优先级;
coflow速率估计法,具体包括:
根据各coflow的优先级和传输量,使用Super-coflow方法,计算出各coflow的速率。
9.一种基于时间片轮转的公平流束调度系统,其特征在于,包括:
时间分割模块用于把时间分成若干个片段,每个片段为一轮,以一轮为基本时间单位对并行数据流的集合coflow调度;
信息不可知coflow存在判断模块用于在每一轮调度开始时,判断是否存在信息不可知coflow;
若存在信息不可知coflow,则使用基于先导流估计的调度策略,为各coflow提供带宽分配,计算出信息不可知coflow的大小;
若不存在信息不可知coflow,则使用基于信息可知的coflow调度策略,为各coflow提供带宽分配。
CN202110574065.7A 2021-05-25 2021-05-25 一种基于时间片轮转的公平流束调度方法及系统 Active CN113268326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110574065.7A CN113268326B (zh) 2021-05-25 2021-05-25 一种基于时间片轮转的公平流束调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110574065.7A CN113268326B (zh) 2021-05-25 2021-05-25 一种基于时间片轮转的公平流束调度方法及系统

Publications (2)

Publication Number Publication Date
CN113268326A true CN113268326A (zh) 2021-08-17
CN113268326B CN113268326B (zh) 2024-05-28

Family

ID=77233007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110574065.7A Active CN113268326B (zh) 2021-05-25 2021-05-25 一种基于时间片轮转的公平流束调度方法及系统

Country Status (1)

Country Link
CN (1) CN113268326B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666283A (zh) * 2022-03-07 2022-06-24 国家电网有限公司信息通信分公司 一种应用感知的多租户Coflow调度方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150103646A1 (en) * 2012-04-30 2015-04-16 Hewlett-Packard Development Company, L.P. Allocating network bandwith
CN105871751A (zh) * 2016-03-25 2016-08-17 中国科学院计算技术研究所 一种数据中心网络带宽保证方法及系统
WO2017054566A1 (zh) * 2015-09-28 2017-04-06 中兴通讯股份有限公司 一种防止cpu报文拥塞的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150103646A1 (en) * 2012-04-30 2015-04-16 Hewlett-Packard Development Company, L.P. Allocating network bandwith
WO2017054566A1 (zh) * 2015-09-28 2017-04-06 中兴通讯股份有限公司 一种防止cpu报文拥塞的方法及装置
CN105871751A (zh) * 2016-03-25 2016-08-17 中国科学院计算技术研究所 一种数据中心网络带宽保证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蔡岳平;张文鹏;罗森;: "基于最小接入保证带宽的数据中心网络带宽分配机制", 计算机应用, no. 07 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666283A (zh) * 2022-03-07 2022-06-24 国家电网有限公司信息通信分公司 一种应用感知的多租户Coflow调度方法和系统
CN114666283B (zh) * 2022-03-07 2023-11-24 国家电网有限公司信息通信分公司 一种应用感知的多租户Coflow调度方法和系统

Also Published As

Publication number Publication date
CN113268326B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN101057481B (zh) 为在网络中路由而利用要以优先级处理的分组的隐式确定来调度分组的方法和设备
EP1471700B1 (en) Method and device for assigning packet queue priority
US6201793B1 (en) Packet delay estimation in high speed packet switches
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
CN101414958B (zh) 一种业务调度方法及装置
CN103348640A (zh) 中继装置
CA2535545A1 (en) Method and apparatus for bandwidth guarantee and overload protection in a network switch
JP2014187421A (ja) 通信装置及びパケットスケジューリング方法
JP6569374B2 (ja) スイッチ装置及びスイッチ装置の制御方法
CN105389204B (zh) 一种多资源偏序调度方法
CN107592966A (zh) 对网络设备中的输出队列所使用的共享存储器的动态保护
CN1565143A (zh) 通信网络中业务流的分配传输
EP2740245A1 (en) A scalable packet scheduling policy for vast number of sessions
CN113268326A (zh) 一种基于时间片轮转的公平流束调度方法及系统
CN100505688C (zh) 一种用于网络处理器的差额权重排队调度装置及调度方法
EP1638273B1 (en) Scheduling using quantum and deficit values
Ma et al. Chronos: Meeting coflow deadlines in data center networks
Potter et al. Analysis of a discrete multipriority queueing system involving a central shared processor serving many local queues
EP1461920A1 (en) Method for real time network traffic admission and scheduling
US7756037B2 (en) Oversubscription of guaranteed bandwidth
US7817640B2 (en) Fair round robin scheduler for network systems
US8467401B1 (en) Scheduling variable length packets
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
CN109391558A (zh) 一种队列的控制方法及控制装置
US20050190795A1 (en) Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots

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
GR01 Patent grant
GR01 Patent grant