CN109104463A - 一种基于时间标签的I/O调度QoS方法 - Google Patents

一种基于时间标签的I/O调度QoS方法 Download PDF

Info

Publication number
CN109104463A
CN109104463A CN201810789230.9A CN201810789230A CN109104463A CN 109104463 A CN109104463 A CN 109104463A CN 201810789230 A CN201810789230 A CN 201810789230A CN 109104463 A CN109104463 A CN 109104463A
Authority
CN
China
Prior art keywords
label
queue
request
node
time
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
Application number
CN201810789230.9A
Other languages
English (en)
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.)
Nanjing Innovative Data Technologies Inc
Original Assignee
Nanjing Innovative Data Technologies Inc
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 Nanjing Innovative Data Technologies Inc filed Critical Nanjing Innovative Data Technologies Inc
Priority to CN201810789230.9A priority Critical patent/CN109104463A/zh
Publication of CN109104463A publication Critical patent/CN109104463A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于时间标签的I/O调度QoS方法,系统基于时间标签设计,采用一个两级映射队列的形式,其中第一级为客户端的client队列,第二级为真实的请求队列,每个请求包含三个时间标签<Ri,Wi,Li>,其中i表示其归属的client编号,通过分别构建预留时间标签、权重时间标签和上限时间标签完全二叉树来组织管理大量的动态数据。本发明所设计的基于时间标签的I/O调度QoS方法,能够对有限的I/O资源进行更加合理地按需分配,以应对灵活多变的应用场景,保证系统性能的可靠性。

Description

一种基于时间标签的I/O调度QoS方法
技术领域
本发明属于分布式大数据的云存储领域,具体涉及一种基于时间标签的I/O调度QoS方法。
背景技术
伴随着云计算、虚拟化技术的逐渐兴起,集群中I/O资源分配的问题日益严重。比如,生产环境中可能出现由于个别结点侵占了整个集群的绝大部分I/O资源,导致其他结点操作时延较大、用户体验不友好等问题。QoS最早起源于网络通信,是指一个通信网络能够利用各种基础技术,为特定应用提供更好的服务能力。对一个系统而言,QoS旨在更加合理地统筹系统有限的I/O资源,从而实现资源按需分配,对外提供更好的服务。
传统系统通常采用基于令牌桶的优先级队列(prio)进行I/O调度,但是令牌桶中的令牌是一个变化量,需要对令牌桶中的令牌不断进行刷新,导致刷新同一队列对应令牌桶中令牌的时间间隔太长。此外,如果采用基于权重的优先级队列(wpq)进行I/O调度,该算法的权重值是固定分配的,不能根据网络的负载状况实现动态的带宽资源分配。所述的I/0调度算法缺点明显,无法真正地发挥QoS的特性。
发明内容
本发明针对现有技术中的不足,提供一种基于时间标签的I/O调度QoS方法,能为系统应用提供QoS保障,适用于云存储系统。
为实现上述目的,本发明采用以下技术方案:
一种基于时间标签的I/O调度QoS方法,其特征在于,采用一个两级映射队列实现,第一级为客户端的client队列,第二级为真实的请求队列,每个请求包含三个时间标签&lt;Ri,Wi,Li&gt;,其中R表示预留时间标签,W表示权重时间标签,L表示上限时间标签,i表示其归属的client编号;三个时间标签&lt;Ri,Wi,Li&gt;采用完全二叉树来组织管理动态数据处理,完全二叉树结点为每个client对应的请求队列,结点在二叉树中的位置根据其队首元素的三个时间标签值确定,总体原则是父结点的时间标签小于子结点。
为优化上述技术方案,采取的具体措施还包括:
每个请求的时间标签计算公式如下:
Ri r=max{Ri r-1i/ri,current time}
Wi r=max{Wi r-1i/wi,current time}
Li r=max{Li r-1i/li,current time}
其中,ρ和σ分别表示客户端在向目标服务器和非目标服务器下发请求时,携带距上次下发请求以来,收到完成的请求个数的增量值;r、w和l分别表示I/O预留值、权重和I/O上限值;current time表示当前时间。
在入队时,对于已存在的client,将请求直接挂入请求队列的尾部;对于新增client,除了新创建一个对应的请求队列,将请求入队之外,还需要将队列作为一个新结点加入时间标签二叉树,根据完全二叉树的特点,采用顺序的变长数组结构存储,新结点先加入二叉树的尾部,再调整至合适的位置。
时间标签二叉树的调整规则如下:
对于预留标签二叉树,以结点的队首元素的预留标签为依据,值小的结点调整至树的上层,反之调整至下层,最终根结点的预留标签值最小;
对于权重标签二叉树,该树的结点中的请求有两种状态:一种满足出队条件,其上限时间标签小于或等于当前时间,准备标记被置为开启;另一种不满足出队条件,准备标记被置为关闭;对结点位置调整时,根据请求队列队首元素的准备状态,满足出队条件的结点调至上层,不满足出队条件的调至下层;相同状态的结点再由权重标签大小决定,标签值较小的往上调整,反之往下调整;
对于上限标签二叉树,用于判决权重标签二叉树结点中的请求是否满足出队条件,也使用准备标记区分,准备标记为开启的结点往下层调整,反之则往上层调整,相同状态的结点则依据标签值大小决定。
在出队时,首先进入约束阶段,取预留标签二叉树的根结点的请求队列,判断其队首元素的预留标签是否小于等于当前时间,作为是否满足出队条件的依据:如条件满足,则选取该根结点对应的client,从其请求队列的队首出队一个元素;否则进入权重阶段,从上限标签二叉树根结点开始,逐个判断队首元素的上限标签是否小于等于当前时间,并设置满足条件的请求的准备标记为开启,以决定其是否可参与随后的权重竞争。
权重竞争是指对所有满足条件的clients,依据其队首元素的权重标签值,调整自身在权重二叉树中的位置的过程,最终位于根结点的client竞争胜出;最后,从根结点的请求队列的队首出队请求。
本发明的有益效果是:所设计的基于时间标签的I/O调度QoS方法,能够对有限的I/O资源进行更加合理地按需分配,以应对灵活多变的应用场景,保证系统性能的可靠性。
附图说明
图1是本发明中的队列结构。
图2是本发明中时间标签二叉树结构。
图3是本发明中基于时间标签的I/O调度方法入队的流程图。
图4是本发明中基于时间标签的I/O调度方法出队的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
本发明提供的一种基于时间标签的I/O调度QoS方法,包括如图1所示的一个两级映射队列,其中第一级为客户端的client队列,第二级为真实的请求队列,每个请求包含三个时间标签&lt;Ri,Wi,Li&gt;,其中R表示预留时间标签,W表示权重时间标签,L表示上限时间标签,i表示其归属的client编号。每个请求的时间标签计算公式如下:
Ri r=max{Ri r-1i/ri,current time}
Wi r=max{Wi r-1i/wi,current time}
Li r=max{Li r-1i/li,current time}
其中,ρ和σ分别表示客户端在向目标服务器和非目标服务器下发请求时,携带距上次下发请求以来,收到完成的请求个数的增量值;r、w和l分别表示I/O预留值、权重和I/O上限值。三个时间标签&lt;Ri,Wi,Li&gt;采用完全二叉树来组织管理大量的动态数据处理,完全二叉树结点为每个client对应的请求队列,结点在二叉树中的位置,则根据其队首元素(即每个请求队列的第一个元素,后续所有判断均基于队首元素的时间标签值)的三个时间标签值确定,总体原则是父结点的时间标签小于子结点。
图2为本发明的一种基于时间标签的I/O调度方法的时间标签的二叉树结构,对于预留时间标签、权重时间标签和上限时间标签采用完全二叉树来组织管理。树结点为每个client对应的请求队列,结点在二叉树中的位置,则根据其队首元素(即每个请求队列的第一个元素,后续所有判断均基于队首元素的时间标签值)的三个时间标签值确定,总体原则是父结点的时间标签小于子结点。
图3为本发明的一种基于时间标签的I/O调度方法入队的流程图,对于已存在的client,将请求直接挂入请求队列的尾部;对于新增client,除了新创建一个对应的请求队列,将请求入队之外,还需要将队列作为一个新结点加入时间标签二叉树。根据完全二叉树的特点,采用顺序的变长数组结构存储,新结点先加入二叉树的尾部,再调整至合适的位置,标签二叉树的调整规则如下:
对于预留标签二叉树,以结点的队首元素的预留标签为依据,值小的结点调整至树的上层,反之调整至下层,最终根结点的预留标签值最小。
对于权重标签二叉树,该树的结点中的请求有两种状态,一种满足出队条件,其上限标签小于或等于当前时间,准备标记被置为开启;另一种不满足出队条件,准备标记被置为关闭。对结点位置调整时,根据请求队列队首元素的准备状态,满足出队条件的结点调至上层,不满足出队条件的调至下层;相同状态的结点再由权重标签大小决定,标签值较小的往上调整,反之往下调整。
对于上限标签二叉树,用于判决权重二叉树结点中的请求是否满足出队条件,也使用准备标记区分。但与权重二叉树不同,准备标记为开启的结点往下层调整,反之则往上层调整,准备状态相同的结点则依据标签值大小决定。
图4为本发明的一种基于时间标签的I/O调度方法出队的流程图,在client队列中选择合理的client,并从其请求队列中出列元素的过程。首先进入约束阶段,取预留标签二叉树的根结点的请求队列,判断其队首元素的预留标签是否小于等于当前时间,作为是否满足出队条件的依据。如条件满足,则选取该根结点对应的client,从其请求队列的队首出队一个元素;否则进入权重阶段,从上限标签二叉树根结点开始,逐个判断队首元素的上限标签是否小于等于当前时间,并设置满足条件的请求的准备标记为开启,以决定其是否可参与随后的权重竞争。
权重竞争,是指对所有满足上限条件的clients,依据其队首元素的权重标签值,调整自身在权重二叉树中的位置的过程,最终位于根结点的client竞争胜出。最后,从竞争胜出者(根结点)的请求队列的队首出队请求。
时间标签二叉树的结点不是孤立的,而是指向同一个client队列。任何一个client出队一个请求后,由于队首元素改变导致时间标签发生变化,都可能影响其在所有二叉树中的位置。因而,从根结点出队一个请求后,除了调整其在当前二叉树中的位置,还需同步调整对应结点在其他两棵树中的位置。位置调整包括两个方向:一个是上移,即以冒泡的方式,逐层往上尽量移动至根结点位置;一个是下移,选择较小的子结点,逐层往下尽量移动至最底层位置。每个新结点在加入三棵二叉树时,都是先加入树的尾部,再通过上移方式分别调整位置;在请求出队的过程中,通过上移和下移方式调整至合适的位置,结点在三棵树中的位置一直处于动态调整状态。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (6)

1.一种基于时间标签的I/O调度QoS方法,其特征在于,采用一个两级映射队列实现,第一级为客户端的client队列,第二级为真实的请求队列,每个请求包含三个时间标签&lt;Ri,Wi,Li&gt;,其中R表示预留时间标签,W表示权重时间标签,L表示上限时间标签,i表示其归属的client编号;三个时间标签&lt;Ri,Wi,Li&gt;采用完全二叉树来组织管理动态数据处理,完全二叉树结点为每个client对应的请求队列,结点在二叉树中的位置根据其队首元素的三个时间标签值确定,总体原则是父结点的时间标签小于子结点。
2.如权利要求1所述的一种基于时间标签的I/O调度QoS方法,其特征在于:每个请求的时间标签计算公式如下:
Ri r=max{Ri r-1i/ri,current time}
Wi r=max{Wi r-1i/wi,current time}
Li r=max{Li r-1i/li,current time}
其中,ρ和σ分别表示客户端在向目标服务器和非目标服务器下发请求时,携带距上次下发请求以来,收到完成的请求个数的增量值;r、w和l分别表示I/O预留值、权重和I/O上限值;current time表示当前时间。
3.如权利要求1所述的一种基于时间标签的I/O调度QoS方法,其特征在于:在入队时,对于已存在的client,将请求直接挂入请求队列的尾部;对于新增client,除了新创建一个对应的请求队列,将请求入队之外,还需要将队列作为一个新结点加入时间标签二叉树,根据完全二叉树的特点,采用顺序的变长数组结构存储,新结点先加入二叉树的尾部,再调整至合适的位置。
4.如权利要求3所述的一种基于时间标签的I/O调度QoS方法,其特征在于:时间标签二叉树的调整规则如下:
对于预留标签二叉树,以结点的队首元素的预留标签为依据,值小的结点调整至树的上层,反之调整至下层,最终根结点的预留标签值最小;
对于权重标签二叉树,该树的结点中的请求有两种状态:一种满足出队条件,其上限时间标签小于或等于当前时间,准备标记被置为开启;另一种不满足出队条件,准备标记被置为关闭;对结点位置调整时,根据请求队列队首元素的准备状态,满足出队条件的结点调至上层,不满足出队条件的调至下层;相同状态的结点再由权重标签大小决定,标签值较小的往上调整,反之往下调整;
对于上限标签二叉树,用于判决权重标签二叉树结点中的请求是否满足出队条件,也使用准备标记区分,准备标记为开启的结点往下层调整,反之则往上层调整,相同状态的结点则依据标签值大小决定。
5.如权利要求1所述的一种基于时间标签的I/O调度QoS方法,其特征在于:在出队时,首先进入约束阶段,取预留标签二叉树的根结点的请求队列,判断其队首元素的预留标签是否小于等于当前时间,作为是否满足出队条件的依据:如条件满足,则选取该根结点对应的client,从其请求队列的队首出队一个元素;否则进入权重阶段,从上限标签二叉树根结点开始,逐个判断队首元素的上限标签是否小于等于当前时间,并设置满足条件的请求的准备标记为开启,以决定其是否可参与随后的权重竞争。
6.如权利要求5所述的一种基于时间标签的I/O调度QoS方法,其特征在于:权重竞争是指对所有满足条件的clients,依据其队首元素的权重标签值,调整自身在权重二叉树中的位置的过程,最终位于根结点的client竞争胜出;最后,从根结点的请求队列的队首出队请求。
CN201810789230.9A 2018-07-18 2018-07-18 一种基于时间标签的I/O调度QoS方法 Pending CN109104463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810789230.9A CN109104463A (zh) 2018-07-18 2018-07-18 一种基于时间标签的I/O调度QoS方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810789230.9A CN109104463A (zh) 2018-07-18 2018-07-18 一种基于时间标签的I/O调度QoS方法

Publications (1)

Publication Number Publication Date
CN109104463A true CN109104463A (zh) 2018-12-28

Family

ID=64846690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810789230.9A Pending CN109104463A (zh) 2018-07-18 2018-07-18 一种基于时间标签的I/O调度QoS方法

Country Status (1)

Country Link
CN (1) CN109104463A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795371A (zh) * 2019-10-25 2020-02-14 浪潮电子信息产业股份有限公司 一种i/o请求处理方法、系统、设备及计算机存储介质
CN112684988A (zh) * 2021-01-11 2021-04-20 北京同有飞骥科技股份有限公司 基于分布式存储的QoS方法及系统
CN114168338A (zh) * 2021-12-12 2022-03-11 海南港航控股有限公司 一种Linux磁盘的IO调度方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202183A (zh) * 2014-08-21 2014-12-10 清华大学深圳研究生院 一种解决sdn流级别配置一致性更新的方法和装置
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
CN108153494A (zh) * 2017-12-25 2018-06-12 新华三技术有限公司 一种io请求处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202183A (zh) * 2014-08-21 2014-12-10 清华大学深圳研究生院 一种解决sdn流级别配置一致性更新的方法和装置
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
CN108153494A (zh) * 2017-12-25 2018-06-12 新华三技术有限公司 一种io请求处理方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795371A (zh) * 2019-10-25 2020-02-14 浪潮电子信息产业股份有限公司 一种i/o请求处理方法、系统、设备及计算机存储介质
CN110795371B (zh) * 2019-10-25 2021-06-29 浪潮电子信息产业股份有限公司 一种i/o请求处理方法、系统、设备及计算机存储介质
CN112684988A (zh) * 2021-01-11 2021-04-20 北京同有飞骥科技股份有限公司 基于分布式存储的QoS方法及系统
CN114168338A (zh) * 2021-12-12 2022-03-11 海南港航控股有限公司 一种Linux磁盘的IO调度方法及系统

Similar Documents

Publication Publication Date Title
CN109104463A (zh) 一种基于时间标签的I/O调度QoS方法
CN106411733B (zh) 一种基于链路实时负载的sdn动态负载均衡调度方法
CN110851272A (zh) 基于吞噬的粒子群遗传混合算法的云任务调度方法
CN105515987B (zh) 一种基于sdn架构面向虚拟光网络的映射方法
CN105704055B (zh) 一种基于自然启发的网络拥塞预防方法
CN104009931B (zh) 数据中心网络中基于通告窗口和多流协同的拥塞控制方法
CN107967171A (zh) 一种云环境下基于遗传算法的多工作流调度方法
CN102195803B (zh) 数据通信方法和数据通信系统
CN103746852B (zh) 业务路由配置方法及网络管理设备
CN108259238B (zh) 数据中心中网络功能服务链映射的方法
CN108573326A (zh) 基于遗传蚁群混合算法的视频服务器选址方法
CN101873224A (zh) 一种云计算负载均衡方法和设备
CN107979545A (zh) 一种基于节点属性的虚拟网络映射方法
CN106302228A (zh) 一种数据中心网络中基于任务感知的传输控制方法
CN105262669A (zh) 一种虚拟网络映射方法
CN110290077A (zh) 一种基于实时业务配置的工业sdn资源分配方法
CN105677447A (zh) 分布式云中基于聚类的时延带宽极小化虚拟机部署方法
CN111885493B (zh) 一种基于改进布谷鸟搜索算法的微云部署方法
CN110149282A (zh) 流量调度方法和装置
CN107889195A (zh) 一种区分业务的自学习异构无线网络接入选择方法
CN115049071A (zh) 一种基于dag区块链的联邦学习方法
CN108769843A (zh) 一种电力光纤入户的epon网络优化方法及系统
CN102082732A (zh) 一种基于虚拟路由器可迁移的虚拟网节能方法
CN103581329A (zh) 基于分簇的对等网络流媒体直播系统拓扑结构的构建方法
CN106209683A (zh) 基于数据中心广域网的数据传输方法及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181228