CN103324444B - 一种主机端与存储端协同的多控io调度方法 - Google Patents

一种主机端与存储端协同的多控io调度方法 Download PDF

Info

Publication number
CN103324444B
CN103324444B CN201310195428.1A CN201310195428A CN103324444B CN 103324444 B CN103324444 B CN 103324444B CN 201310195428 A CN201310195428 A CN 201310195428A CN 103324444 B CN103324444 B CN 103324444B
Authority
CN
China
Prior art keywords
path
module
component
multipath
queues
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.)
Active
Application number
CN201310195428.1A
Other languages
English (en)
Other versions
CN103324444A (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201310195428.1A priority Critical patent/CN103324444B/zh
Publication of CN103324444A publication Critical patent/CN103324444A/zh
Application granted granted Critical
Publication of CN103324444B publication Critical patent/CN103324444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种主机端与存储端协同的多控IO调度方法,多路径调度组件与传统调度组件的区别在于分布结构的不同,物理上分为服务端的多路径组件和存储控制器的路径调度组件,其中,多路径组件部署在文件系统和网络存储驱动之间,用于从文件系统端接收IO请求,并将请求进行队列化,其队列化的个体策略依赖于所述存储控制器的路径调度组件的决策和自身路径决策结合,所述策略区别于传统的策略在于动态调整IO队列,以使系统吞吐始终处于均衡状态,所述路径调度组件有两方面的工作,一方面,等时多点收集存储系统各控制器的可量化性能测量指标形成历史参考值,并根据参考值采用智能化预测算法对将来路径性能进行评价,传递到服务端用于路径评价和决策;另一方面,链路出现故障时,会及时得到通知并尝试自修复。

Description

一种主机端与存储端协同的多控IO调度方法
技术领域
本发明涉及计算机领域,具体地说是一种主机端与存储端协同的多控IO调度方法。
背景技术
数据中心中存储系统与服务器之间单通道带宽具有局限性,这使得服务器不能够充分利用存储系统高效的数据处理能力。目前,采用的解决的方案是采用多链路聚合的方式,通过服务器与存储系统之间多条路径同时进行数据传输,以增加整体系统的吞吐能力。此方案,一方面可以突破单链路带宽限制;另一方面,通过多条绝对物理的路径进行数据传输,起到了提高可靠性的作用,即,当一条链路的某个或者多个元素(如适配卡、连接线、存储控制器等)出现故障时,整体系统依然正常运行。
由于环境及设备条件的限制,存储系统与服务器之间的多条路径在吞吐率方面并非绝对对称。因此,如果使得数据IO在路径间进行均衡调度是面临的最大的问题。传统的多路径组件采用单机结构,通过当前的路径的性能代替将来的性能特征,并通过加权或轮循等方式进行静态调度。在这种形式下,当由于外部环境发生变化导致路径的吞吐能力动态进行改变时,无法抓住这个时机提高系统吞吐能力;同时,也无法在某条路径负载过大时,进行适时均衡。
同时,传统IO调度算法也有其局限性,其基本思想时以路径当前的性能状态代替将来的路径状态,而非预测将来状态。事实上,当前的状态和将来状态是非线性的,单纯以当前的状态,特别是以当前某点的状态代替将来的状态,将导致相当大的调度误差,特别是在性能波动较大的应用或系统中,此局限性会更加明显。
本案通过存储自身预测其吞吐并由服务端调度的策略,解决上述局限性。
发明内容
本发明的目的是提供一种主机端与存储端协同的多控IO调度方法,用于解决现有多路径调度组件在复杂环境下调度不均衡的问题。
本发明的目的是按以下方式实现的,多路径调度组件与传统调度组件的区别在于分布结构的不同,物理上分为服务端的多路径组件和存储控制器的路径调度组件,其中,多路径组件部署在文件系统和网络存储驱动之间,用于从文件系统端接收IO请求,并将请求进行队列化,其队列化的个体策略依赖于所述存储控制器的路径调度组件的决策和自身路径决策结合,所述策略区别于传统的策略在于动态调整IO队列,以使系统吞吐始终处于均衡状态,所述路径调度组件有两方面的工作,一方面,等时多点收集存储系统各控制器的可量化性能测量指标形成历史参考值,并根据参考值采用智能化预测算法对将来路径性能进行评价,传递到服务端用于路径评价和决策;另一方面,链路出现故障时,会及时得到通知并尝试自修复;
多路径组件包括通信模块、IO队列均衡模块、IO执行模块三个子模块;路径调度组件包括通信模块、压力预测模块、特征量化收集模块、路径修复模块四个子模块;
所述多路径组件中,通信模块用于与路径调度组件中的通信模块协同服务器与存储系统间的专用于多路径调度的信道,并进行必要的信息传递,其所采用的通信协议不限于TCP/IP协议和信道;所述IO队列均衡模块用来接收上层逻辑传递下来的IO请求,并将其队列化,其具体做法是,将IO请求按照一定的策略均衡到多个队列中,每条链路将对应一个队列;所述IO执行模块用于将IO队列传递对应链路进行执行,由于IO队列由链路专有,多链路可并行执行IO操作,与此同时,所述IO执行模块在执行IO操作时,可根据IO命令是否超时的特征判断路径是否建康;
所述路径调度组件中,通信模块用于与多路径组件通信模块协同;所述特征量化收集模块与部署于同一系统不同控制器的同名模块借助于存储系统内联通道进行相互通信,并收集各个控制器的性能量化数据,包括采用CPU负载、内存负载、IO负载信息形成的评价值代替,并形成一定长度的等时定点采集的历史序列;所述压力预测模块使用特征量化收集模块收集的各控制器性能量化数据预测将来其控制器的性能值,并采用智能预测算法进行集中评测;所述路径修复模块在控制器对应路径出现故障时尝试自修复;
智能预测算法基于灰色动态模型实现,将性能特征值序列化,并使用GM(1,1)模型进行预测,所述特征量化收集模块收集的性能特征信息历史值可构建成数列:
H(0)={H(0)(1),H(0)(2),H(0)(3),...,H(0)(N)} (1)
其中N可配置。
对数列(1)进行累加,得到
H(1)={H(1)(1),H(1)(2),H(1)(3),...,H(1)(N)} (2)
其中,
构造成矩阵B与常数量:
YN=[H(0)(2),H(0)(3),...H(0)(N)]T
进而求出灰参:
进而根据GM(1,1)模型,计算出将来控制器性能预测值。
负载均衡流程如下:
步骤101:特征量化收集模块收集量化负载信息,负载可参考信息包括但不限于CPU负载、IO负载、内存负载,并将其根据需要的算法形成可参考的特定值,包括采用加权平均方式;
步骤102:压力预测模块进行压力预测,压力预测采用的基本策略是将特征量化值的历史序列进行G(1,1)模型预测;
步骤103:压力预测模块形成压力分级;
步骤104:压力预测模块将分级信息传递给IO均衡模块;
步骤105:压力均衡模块将IO队列重新均衡;
路径智能恢复流程如下:
步骤201:IO执行模块执行命令超时,在本步骤中的真实目的是为了判断IO路径是否是健康路径,最直接的判断方式是通过IO超时或者出错进行判断;
步骤202:IO队列均衡模块对队列进行重新均衡,其目的是,将出错的IO队列清空,并将未决的IO请求均衡到其它指令中;
步骤203:IO队列通知路径调度组件进行路径自修复。
采用分布式的多路径均衡部署,所述分布式是指系统部署包括多路径组件和路径调度组件两个部分,所述路径调度组件采用基于灰度预测的调度方法,其思想是将历史特征值基于时间序列化,并采用G(1,1)模型进行预测。
所述多路径组件用于路径IO的智能调度,其调度策略不仅取决于自身检测特征,还包括所述路径调度组件预测的特征。
本发明的有益效果是:本发明的的多路径调度组件区别于传统的调度组件在于采用分布结构,物理上分为服务端的多路径组件和存储控制器的路径调度组件。所述多路径组件部署在文件系统和网络存储驱动(如FC驱动)之间,用于从文件系统端接收IO请求,并将请求进行队列化。其队列化的个体策略依赖于所述存储控制器的路径调度组件的决策和自身路径决策结合。所述策略区别于传统的策略在于动态调整IO队列,以使系统吞吐始终处于均衡状态。所述路径调度组件有两方面的工作,一方面等时多点收集存储系统各控制器可量化的性能测量指标形成历史参考值,并根据参考值采用智能化预测算法对将来路径性能进行评价,传递到服务端用于路径评价和决策;另一方面,链路出现故障时,会及时得到通知并尝试自修复。
附图说明
图1是部署示意图;
图2是模块逻辑示意图;
图3是路径调度均衡流程图;
图4是路径自修复流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本案总体部署如图1所示。本案所涉及的多路径调度组件区别于传统的调度组件在于采用分布结构,物理上分为服务端的多路径组件和存储控制器的路径调度组件。所述多路径组件部署在文件系统和网络存储驱动(如FC驱动)之间,用于从文件系统端接收IO请求,并将请求进行队列化。其队列化的个体策略依赖于所述存储控制器的路径调度组件的决策和自身路径决策结合。所述策略区别于传统的策略在于动态调整IO队列,以使系统吞吐始终处于均衡状态。所述路径调度组件有两方面的工作,一方面等时多点收集存储系统各控制器可量化的性能测量指标形成历史参考值,并根据参考值采用智能化预测算法对将来路径性能进行评价,传递到服务端用于路径评价和决策;另一方面,链路出现故障时,会及时得到通知并尝试自修复。
本案所述组件的逻辑结构如图2所示:多路径组件包括通信模块、IO队列均衡模块、IO执行模块三个子模块;路径调度组件包括通信模块、压力预测模块、特征量化收集模块、路径修复模块四个子模块。
所述多路径组件中,所述通信模块用于与路径调度组件中的通信模块协同服务器与存储系统间的专用于多路径调度的信道,并进行必要的信息传递,其所采用的通信协议可以但不限于TCP/IP协议和信道;所述IO队列均衡模块用来接收上层逻辑传递下来的IO请求,并将其队列化,其具体做法时,将IO请求按照一定的策略均衡到多个队列中,原则上,每条链路将对应一个队列;所述IO执行模块用于将IO队列传递对应链路进行执行,由于IO队列由链路专有,多链路可并行执行IO操作。与此同时,所述IO执行模块在执行IO操作时,可根据IO命令是否超时等特征判断路径是否建康。
所述路径调度组件中,通信模块如上述,用于与多路径组件通信模块协同;所述特征量化收集模块与部署于同一系统不同控制器的同名模块借助于存储系统内联通道进行相互通信,并收集各个控制器的性能量化数据(可采用CPU负载、内存负载、IO负载等信息形成的评价值代替),并形成一定长度的等时定点采集的历史序列。所述压力预测模块使用特征量化收集模块收集的各控制器性能量化数据预测将来其控制器的性能值,并采用智能预测算法进行集中评测。所述路径修复模块在控制器对应路径出现故障时尝试自修复。
本发明所涉及智能预测算法基于灰色动态模型实现,其特征在于将性能特征值序列化,并使用GM(1,1)模型进行预测。所述特征量化收集模块收集的性能特征信息历史值可构建成数列:
H(0)={H(0)(1),H(0)(2),H(0)(3),...,H(0)(N)} (1)
其中N可配置。
对数列(1)进行累加,得到
H(1)={H(1)(1),H(1)(2),H(1)(3),...,H(1)(N)} (2)
其中,
构造成矩阵B与常数量:
YN=[H(0)(2),H(0)(3),...H(0)(N)]T
进而求出灰参:
进而根据GM(1,1)模型,计算出将来控制器性能预测值。
本案所涉及负载均衡流程,如图3所示,其施例,包括:
步骤101:特征量化收集模块收集量化负载信息,负载可参考信息包括但不限于CPU负载、IO负载、内存负载等,并将其根据需要的算法形成可参考的特定值。例如,可采用加权平均等方式;
步骤102:压力预测模块进行压力预测,压力预测采用的基本策略是将特征量化值的历史序列进行G(1,1)模型预测;
步骤103:压力预测模块形成压力分级
步骤104:压力预测模块将分级信息传递给IO均衡模块
步骤105:压力均衡模块将IO队列重新均衡
本案所涉及路径智能恢复流程,如图4所示,其施例,包括:
步骤201:IO执行模块执行命令超时。在本步骤中,其真实目的是为了判断IO路径是否是健康路径。最直接的判断方式是通过IO超时或者出错进行判断。当然,在其他施例中,也可能涉及到不同的判定方法。
步骤202:IO队列均衡模块对队列进行重新均衡,其目的是,将出错的IO队列清空,并将未决的IO请求均衡到其它指令中。
步骤203:IO队列通知路径调度组件进行路径自修复。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种主机端与存储端协同的多控IO调度方法,其特征在于多路径调度组件与传统调度组件的区别在于分布结构的不同,物理上分为服务端的多路径组件和存储控制器的路径调度组件,其中,多路径组件部署在文件系统和网络存储驱动之间,用于从文件系统端接收IO请求,并将请求进行队列化,其队列化的个体策略依赖于所述存储控制器的路径调度组件的决策和自身路径决策结合,所述策略区别于传统的策略在于动态调整IO队列,以使系统吞吐始终处于均衡状态,所述路径调度组件有两方面的工作,一方面,等时多点收集存储系统各控制器的可量化性能测量指标形成历史参考值,并根据参考值采用智能化预测算法对将来路径性能进行评价,传递到服务端用于路径评价和决策;另一方面,链路出现故障时,会及时得到通知并尝试自修复;
多路径组件包括通信模块、IO队列均衡模块、IO执行模块三个子模块;路径调度组件包括通信模块、压力预测模块、特征量化收集模块、路径修复模块四个子模块;
所述多路径组件中,通信模块用于与路径调度组件中的通信模块协同,服务器与存储系统间的专用于多路径调度的信道,并进行必要的信息传递,其所采用的通信协议不限于TCP/IP协议和信道;所述IO队列均衡模块用来接收上层逻辑传递下来的IO请求,并将其队列化,其具体做法是,将IO请求按照一定的策略均衡到多个队列中,每条链路将对应一个队列;所述IO执行模块用于将IO队列传递对应链路进行执行,由于IO队列由链路专有,多链路可并行执行IO操作,与此同时,所述IO执行模块在执行IO操作时,可根据IO命令是否超时的特征判断路径是否健 康;
所述路径调度组件中,通信模块用于与多路径组件通信模块协同;所述特征量化收集模块与部署于同一系统不同控制器的同名模块借助于存储系统内联通道进行相互通信,并收集各个控制器的性能量化数据,包括采用CPU负载、内存负载、IO负载信息形成的评价值代替,并形成一定长度的等时定点采集的历史序列;所述压力预测模块使用特征量化收集模块收集的各控制器性能量化数据预测将来其控制器的性能值,并采用智能预测算法进行集中评测;所述路径修复模块在控制器对应路径出现故障时尝试自修复;
智能预测算法基于灰色动态模型实现,将性能特征值序列化,并使用GM(1,1)模型进行预测,所述特征量化收集模块收集的性能特征信息历史值可构建成数列:
H(0)={H(0)(1),H(0)(2),H(0)(3),...,H(0)(N)} (1)
其中N可配置;
对数列(1)进行累加,得到
H(1)={H(1)(1),H(1)(2),H(1)(3),...,H(1)(N)} (2)
其中,构造成矩阵B与常数量:
YN=[H(0)(2),H(0)(3),...H(0)(N)]T
进而求出灰参:
进而根据GM(1,1)模型,计算出将来控制器性能预测值;
负载均衡流程如下:
步骤101:特征量化收集模块收集量化负载信息,负载可参考信息包括但不限于CPU负载、IO负载、内存负载,并将其根据需要的算法形成可参考的特定值,包括采用加权平均方式;
步骤102:压力预测模块进行压力预测,压力预测采用的基本策略是将特征量化值的历史序列进行G(1,1)模型预测;
步骤103:压力预测模块形成压力分级;
步骤104:压力预测模块将分级信息传递给IO均衡模块;
步骤105:压力均衡模块将IO队列重新均衡;
路径智能恢复流程如下:
步骤201:IO执行模块执行命令超时,在本步骤中的真实目的是为了判断IO路径是否是健康路径,最直接的判断方式是通过IO超时或者出错进行判断;
步骤202:IO队列均衡模块对队列进行重新均衡,其目的是,将出错的IO队列清空,并将未决的IO请求均衡到其它指令中;
步骤203:IO队列通知路径调度组件进行路径自修复。
CN201310195428.1A 2013-05-24 2013-05-24 一种主机端与存储端协同的多控io调度方法 Active CN103324444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310195428.1A CN103324444B (zh) 2013-05-24 2013-05-24 一种主机端与存储端协同的多控io调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310195428.1A CN103324444B (zh) 2013-05-24 2013-05-24 一种主机端与存储端协同的多控io调度方法

Publications (2)

Publication Number Publication Date
CN103324444A CN103324444A (zh) 2013-09-25
CN103324444B true CN103324444B (zh) 2017-09-22

Family

ID=49193219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310195428.1A Active CN103324444B (zh) 2013-05-24 2013-05-24 一种主机端与存储端协同的多控io调度方法

Country Status (1)

Country Link
CN (1) CN103324444B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632788A (zh) * 2017-09-26 2018-01-26 郑州云海信息技术有限公司 一种多控存储系统io调度的方法及多控存储系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760261B (zh) * 2014-12-16 2019-06-11 华为技术有限公司 业务输入输出io处理方法和装置
CN105487813A (zh) * 2015-10-21 2016-04-13 国家电网公司 一种分布式存储的多路径i/o传输方法
CN107301090B (zh) * 2016-04-14 2020-11-03 华为技术有限公司 在存储服务器中为应用设置数据处理路径的方法及装置
CN106293522A (zh) * 2016-08-03 2017-01-04 浪潮(北京)电子信息产业有限公司 一种基于tgt的存储性能优化方法和装置
CN107145311B (zh) * 2017-06-12 2020-06-19 苏州浪潮智能科技有限公司 一种io数据处理方法及系统
US10212043B1 (en) * 2017-07-26 2019-02-19 Citrix Systems, Inc. Proactive link load balancing to maintain quality of link
CN109992212B (zh) * 2019-04-10 2020-03-27 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN111208943B (zh) * 2019-12-27 2023-12-12 天津中科曙光存储科技有限公司 存储系统的io压力调度系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478436A (zh) * 2009-01-21 2009-07-08 杭州华三通信技术有限公司 一种输入输出调度方法和装置
CN101770346A (zh) * 2010-01-04 2010-07-07 浪潮电子信息产业股份有限公司 一种多控制器磁盘阵列协调调度方法
CN102970241A (zh) * 2012-11-07 2013-03-13 浪潮(北京)电子信息产业有限公司 多路径负载均衡方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387175A (zh) * 2010-08-31 2012-03-21 国际商业机器公司 一种存储系统迁移的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478436A (zh) * 2009-01-21 2009-07-08 杭州华三通信技术有限公司 一种输入输出调度方法和装置
CN101770346A (zh) * 2010-01-04 2010-07-07 浪潮电子信息产业股份有限公司 一种多控制器磁盘阵列协调调度方法
CN102970241A (zh) * 2012-11-07 2013-03-13 浪潮(北京)电子信息产业有限公司 多路径负载均衡方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632788A (zh) * 2017-09-26 2018-01-26 郑州云海信息技术有限公司 一种多控存储系统io调度的方法及多控存储系统

Also Published As

Publication number Publication date
CN103324444A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN103324444B (zh) 一种主机端与存储端协同的多控io调度方法
CN102111337B (zh) 任务调度方法和系统
CN106250305B (zh) 云计算环境下监控系统数据采集周期的自适应控制方法
CN109791505A (zh) 控制在数据中心中的资源分配
CN103970587B (zh) 一种资源调度的方法、设备和系统
CN104978236B (zh) 基于多衡量指标的hdfs负载源宿节点选取方法
CN113490254A (zh) 一种基于联邦学习双向gru资源需求预测的vnf迁移方法
CN115543577B (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN112261120B (zh) 一种配电物联网云边协同任务卸载方法及装置
US20210367855A1 (en) Network-aware workload management using artificial intelligence and exploitation of asymmetric link for allocating network resources
CN106453546B (zh) 分布式存储调度的方法
CN112559129B (zh) 虚拟化平台负载均衡功能和性能的测试装置及方法
CN104506337B (zh) 基于区域性故障预测的虚拟网络映射方法及装置
CN109670611A (zh) 一种电力信息系统故障诊断方法及装置
CN111357242A (zh) 异常通信探测装置、异常通信探测方法、程序
CN113228574A (zh) 计算资源调度方法、调度器、物联网系统和计算机可读介质
Zhang et al. Quantified edge server placement with quantum encoding in internet of vehicles
CN103634167B (zh) 云环境中对目标主机进行安全配置检查的方法和系统
CN108985556B (zh) 流量调度的方法、装置、设备和计算机存储介质
CN116759355B (zh) 一种晶圆传送控制方法及系统
CN116893900A (zh) 集群计算压力负载均衡方法、系统、设备及ic设计平台
CN115277249B (zh) 一种多层异构网络协同的网络安全态势感知方法
CN106445680A (zh) 基于综合效用的计算单元迁移方法
CN106681803A (zh) 一种任务调度方法及服务器
US20080091382A1 (en) System and method for measuring tool performance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant