存储系统的IO压力调度系统技术方案

技术编号:24330488 阅读:64 留言:0更新日期:2020-05-29 19:26
本发明专利技术公开了一种存储系统的IO压力调度系统,该系统包括:IO接收模块,用于接收用户应用发给存储系统的IO请求;IO缓存模块,用于将接收到的IO请求暂存到IO处理队列上;检测模块,用于至少检测IO数据通路上多个模块的资源使用情况、队列深度、和带宽占用情况;IO派发模块,用于根据检测模块检测到的存储系统实时的资源使用情况、队列深度、和带宽占用情况,对各个IO类型重新分配相应的队列深度,并且按照重新分配的队列深度,从IO缓存模块获取相应量的IO数据派发到IO数据通路上。

IO pressure scheduling system of storage system

【技术实现步骤摘要】
存储系统的IO压力调度系统
本专利技术涉及数据存储
,具体来说,涉及一种存储系统的IO压力调度系统。
技术介绍
近年来,随着信息技术和人类生产生活交汇融合,全球数据规模急速增长,在医疗、高性能计算、数字媒体等各行各业对大量数据的依赖愈加严重,对海量数据的存储和管理,保证存储数据的高稳定性、可靠性和高可用性将对提升社会生产力和提高人民生活质量发挥不可替代的重要作用。在传统的存储系统中,为了提升系统的吞吐性能并保证数据一致性,一般采用增加数据的多级缓存、采用多级存储介质等方式才实现。存储系统通过分析数据的访问频率、保留时间、数据大小等指标,将数据在一定时间内存储在高速存储介质(例如SSD、NVDIMM或RAM)中,并且能够通过多副本的模式,保证数据的可靠,不仅缩短了系统对用户数据IO的响应时间,同时一定程度上通过缓存层对数据的聚合缓解了存储系统对低速磁盘的访问压力。通过这样的机制虽然一定程度上解决了性能的问题,但也对存储系统的高稳定性和可靠性带来了诸多问题。现在的存储系统作为一种底层的基础设施,被动接受处理用户应用发起的数据IO,随着增加缓存、高速存储介质层等不断优化,在一些复杂场景或系统压力较大时,有以下几个问题:首先,系统压力大时,IO处理效率降低,由于无法预测用户使用场景,如果IO数据仍然不断地进入,造成系统中IO逐渐积累,会不断加剧系统压力,使系统长时间无法恢复正常;其次,随着系统层次的增多,任何一个模块的异常都会对系统的性能带来开销,可能成为系统的性能瓶颈,降级了系统的高稳定性,不能满足存储系统服务对IO延时、抖动的要求。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种存储系统的IO压力调度系统,能够解决存储压力较大时造成的性能抖动、IO延时不稳定的问题。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种存储系统的IO压力调度系统,包括:IO接收模块,用于接收用户应用发给存储系统的IO请求;IO缓存模块,用于将接收到的IO请求暂存到IO处理队列上;检测模块,用于至少检测IO数据通路上多个模块的资源使用情况、队列深度、和带宽占用情况;IO派发模块,用于根据检测模块检测到的存储系统实时的资源使用情况、队列深度、和带宽占用情况,对各个IO类型重新分配相应的队列深度,并且按照重新分配的队列深度,从IO缓存模块获取相应量的IO数据派发到IO数据通路上。根据本专利技术的实施例,存储系统的IO压力调度系统,其特征在于,还包括:队列整理模块,用于对IO处理队列上的IO请求重新进行排序,其中,在存储系统收到IO请求之后,IO派发模块从IO处理队列中取出排在队尾的IO请求并按照检测模块计算出的允许队列深度进行投递。根据本专利技术的实施例,当检测模块检测到多个模块中的一个模块的队列深度小于设定阈值时,则不进行带宽限制;当检测模块检测到一个模块的队列深度大于设定阈值时,则对IO派发模块的队列深度进行调整。根据本专利技术的实施例,对IO派发模块的队列深度进行调整包括:将一个模块的历史采样检测结果x1,x2,x3,…,xt形成序列:x1,x2,x3,…,xt(1)基于自适应过滤算法模型通过下式(2)计算xt+1:其中,是权数,p是设定的权数个数,设定k为调整系数,et+1表示第t+1期的误差,运用自适应过滤法通过下式(3)将权数调整为通过算法迭代计算出最佳预测值xt+1,以对IO派发模块的队列深度Qn进行相应调整;通过下式(4)计算面向IO派发模块的队列深度Q:Q=min{Q1,Q2,…,Qn}(4)。根据本专利技术的实施例,对各个IO类型重新分配相应的队列深度包括:当第一IO类型的IO请求配额被占满,第二IO类型的IO请求占量小于设定值时,调整第一IO类型和第二IO类型的配额。根据本专利技术的实施例,当IO缓存模块中的IO请求超过预定时间未被处理时,队列整理模块负责按照不同的权重,重新调整IO处理队列中IO请求的顺序。根据本专利技术的实施例,检测模块以设定检测时间Tn对多个模块中的一个模块进行检测,其中,一个模块的资源不足或队列深度过高时,检测模块降低一个模块的负载压力,并且,对一个模块的设定检测时间Tn随负载压力递增而递减,或者,对一个模块的设定检测时间Tn随负载压力降低而递增。根据本专利技术的实施例,IO类型包括读请求和写请求。本专利技术的上述技术方案,提供了一种存储系统中节点内的根据系统压力负反馈的动态IO自适应调度方法。通过在存储系统中根据自身压力情况动态调整IO调度,避免了在异常场景下,存储系统压力的不正常累积,造成存储后端负载更大的恶性循环,使得系统在各种故障、高压力等异常情况下适应能力恢复能力增强、性能抖动降低,平稳性得到提高,从而使整系统的高稳定性、高可靠性得到改善。另外,通过采用自适应过滤算法对数据进行分析预测,能够有效提高调控精确度,并能够屏蔽数据中的抖动因素带来的影响。通过采用IO队列缓存的方式,能够避免在存储磁盘介质或其它系统瓶颈点上造成负载压力累积;通过不同IO请求类型间的配额自动调整,能够保证系统资源得到充分利用;并且根据系统自身压力,自动调整带宽吞吐,提高系统运行稳定性、平稳性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的存储系统的IO压力调度系统的框图;图2是图1中的IO派发模块投递IO的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。为了解决现有技术中存储压力较大时造成的性能抖动、IO(输入输出)延时不稳定的问题,本专利技术提出了一种存储系统的IO压力调度系统,该系统是一种基于存储系统压力的变化动态IO调度技术方案。如图1所示,本专利技术提出的IO压力调度系统包括:IO接收模块101、IO缓存模块102、IO派发模块103、队列整理模块104和检测模块105。IO接收模块101用于接收用户应用发给存储系统的IO请求。IO缓存模块102,用于将接收到的IO请求暂存到IO处理队列上。队列整理模块104用于将IO处理队列上的IO根据IO延时、重试次数、IO类型等不同维度指标对IO重新进行排序。检测模块105用于至少检测IO数据通路上多个模块的资源使用情况、队列深度、和带宽占用情况。IO派发模块103用于根据检测模块检测到的存储系统实时的资源使用情况、队列深度、和带宽占用情况本文档来自技高网
...

【技术保护点】
1.一种存储系统的IO压力调度系统,其特征在于,包括:/nIO接收模块,用于接收用户应用发给所述存储系统的IO请求;/nIO缓存模块,用于将接收到的IO请求暂存到IO处理队列上;/n检测模块,用于至少检测IO数据通路上多个模块的资源使用情况、队列深度、和带宽占用情况;/nIO派发模块,用于根据所述检测模块检测到的所述存储系统实时的所述资源使用情况、所述队列深度、和所述带宽占用情况,对各个IO类型重新分配相应的队列深度,并且按照重新分配的队列深度,从所述IO缓存模块获取相应量的IO数据派发到所述IO数据通路上。/n

【技术特征摘要】
1.一种存储系统的IO压力调度系统,其特征在于,包括:
IO接收模块,用于接收用户应用发给所述存储系统的IO请求;
IO缓存模块,用于将接收到的IO请求暂存到IO处理队列上;
检测模块,用于至少检测IO数据通路上多个模块的资源使用情况、队列深度、和带宽占用情况;
IO派发模块,用于根据所述检测模块检测到的所述存储系统实时的所述资源使用情况、所述队列深度、和所述带宽占用情况,对各个IO类型重新分配相应的队列深度,并且按照重新分配的队列深度,从所述IO缓存模块获取相应量的IO数据派发到所述IO数据通路上。


2.根据权利要求1所述的存储系统的IO压力调度系统,其特征在于,还包括:
队列整理模块,用于对所述IO处理队列上的所述IO请求重新进行排序,其中,在所述存储系统收到IO请求之后,所述IO派发模块从所述IO处理队列中取出排在队尾的IO请求并按照所述检测模块计算出的允许队列深度进行投递。


3.根据权利要求1所述的存储系统的IO压力调度系统,其特征在于,当所述检测模块检测到所述多个模块中的一个模块的队列深度小于设定阈值时,则不进行带宽限制;当所述检测模块检测到所述一个模块的队列深度大于所述设定阈值时,则对所述IO派发模块的队列深度进行调整。


4.根据权利要求3所述的存储系统的IO压力调度系统,其特征在于,对所述IO派发模块的队列深度进行调整包括:
将所述一个模块的历史采样检测结果x1,x2,x3,…,xt形成序列:
x1,x2,x3,…,xt(1)
基于自适应过...

【专利技术属性】
技术研发人员:吕方川沈海嘉吴瑞强张超
申请(专利权)人:天津中科曙光存储科技有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1