一种主机端与存储端协同的多控IO调度方法与流程

文档序号:11407517阅读:267来源:国知局
一种主机端与存储端协同的多控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的智能调度,其调度策略不仅取决于自身检测特征,还包括所述路径调度组件预测的特征。本发明的有益效果是:本发明的的多路径调度组件区别...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1