《一种多控存储系统自适应IO调度方法.pdf》由会员分享,可在线阅读,更多相关《一种多控存储系统自适应IO调度方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103135943 A(43)申请公布日 2013.06.05CN103135943A*CN103135943A*(21)申请号 201310055361.1(22)申请日 2013.02.21G06F 3/06(2006.01)(71)申请人浪潮电子信息产业股份有限公司地址 250014 山东省济南市高新区舜雅路1036号(72)发明人王恩东 吕烁 张海涛 文中领(54) 发明名称一种多控存储系统自适应IO调度方法(57) 摘要本发明提供一种多控存储系统自适应IO调度方法,多控制器体系架构,各控制器间可实现负载均衡,避免单控制器故障带来的风险和性能的瓶颈,支持丰富的。
2、主机连接接口,支持iSCSI、FC、InfiniBand及万兆网络连接,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。本发明涉及多控存储系统的IO调度,提出多个控制器间的IO调度方法,当多控存储系统接受来自应用层的IO请求时,能够将IO请求调度给多个控制器同时并发执行,该方法不仅给低载的控制器分配了未分配的IO请求,还能从过载的控制器上重新调度IO请求到负载较轻的控制器上,从而改善了系统中各个控制器的负载状态,完成了多控节点上的IO负载调度和均衡,充分调度了设备的潜力,提升了系统性能。(51)Int.Cl.权利要求书1页 说明书3页 附图3页(19)中华人。
3、民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书3页 附图3页(10)申请公布号 CN 103135943 ACN 103135943 A1/1页21.一种多控存储系统自适应IO调度方法, 其特征在于多控存储系统是由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,包括:FC、SRP、Iscsi、iSER存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,客户端主机通过主机适配卡与多控存储系统相连,以访问存储系统提供的资源,系统包括:IO调度进程模块、IO派发进程模块、IO完成收集模块、多协议模块、缓存模块,其中:所述IO调度进程模块,与。
4、所述缓存模块相连,用以IO数据的拆分并确定将数据提交给哪个控制器执行,用于执行IO调度方法之IO派生部分,并调用IO派发进程模块发送IO请求数据,它是自适应的IO调度方法;所述IO派发进程模块,将发往不同控制器的IO请求以链表方式组织,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上;所述IO完成收集模块,用于处理远端控制器的完成IO请求,接收来自其它控制器的io完成处理通知,并进行计数统治,判断某一个大的IO集合的处理是否已经完成,如所有的并行处理请求完成,则通知IO调度进程模块;所述多协议模块,与缓存模块相连,用于接收来自客户端的请求,并将数据提交给缓存模块;所述缓存模块,。
5、与多协议模块和IO调度进程模块相连,用于缓存IO请求,并将IO请求提交给IO调度程序执行;来自客户端的IO处理执行流程如下:根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求余的规则派生或根据系统负载情况,将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行,当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,给主机返回应答消息。权 利 要 求 书CN 103135943 A1/3页3一种多控存储系统自适应 IO 调度方法技术领域0001 。
6、本发明涉及计算机应用技术领域,具体地说是一种多控存储系统自适应IO调度方法。背景技术0002 随着信息化发展,数据规模增长快速,目前存在的双通道磁盘阵列已不能满足现有大数据的需求,多控磁盘阵列应运而生。磁盘调度算法是影响系统性能的关键因素,传统的调度是由单控制器IO 系统实现的集中调度,并没有多控制器间的协同调度,作为一种共享资源向外提供不同的服务。对复杂的多控存储系统,包含多个控制器,每个控制器只从自身角度优化调度,并未考虑其它环节的存在,因此,如何充分利用多控磁盘阵列的硬件资源,提高多控间的IO协调和合作,提升系统性能变成了一个重要和急需解决的问题。发明内容0003 本发明的目的是提供一种。
7、多控存储系统自适应IO调度方法。对来自应用层的IO请求,在多控制器间并行调度和利用适配器的多设备并发操作来提高系统的读写性能,从而提高数据的存储速度。它在两方面改进了存储的性能:一是提高了小量数据随机访问的吞吐量,二是加速了大批量数据传输的数据率。0004 本发明的目的是按以下方式实现的,多控存储系统是由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,包括:FC、SRP、Iscsi、iSER存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,客户端主机通过主机适配卡与多控存储系统相连,以访问存储系统提供的资源,系统包括:IO调度进程模块、IO派发进程模。
8、块、IO完成收集模块、多协议模块、缓存模块,其中:所述IO调度进程模块,与所述缓存模块相连,用以IO数据的拆分并确定将数据提交给哪个控制器执行,用于执行IO调度方法之IO派生部分,并调用IO派发进程模块发送IO请求数据,它是自适应的IO调度方法;所述IO派发进程模块,将发往不同控制器的IO请求以链表方式组织,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上;所述IO完成收集模块,用于处理远端控制器的完成IO请求,接收来自其它控制器的io完成处理通知,并进行计数统治,判断某一个大的IO集合的处理是否已经完成,如所有的并行处理请求完成,则通知IO调度进程模块。0005 所述多协议模。
9、块,与缓存模块相连,用于接收来自客户端的请求,并将数据提交给缓存模块;所述缓存模块,与多协议模块和IO调度进程模块相连,用于缓存IO请求,并将IO请求提交给IO调度程序执行;来自客户端的IO处理执行流程如下:根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求说 明 书CN 103135943 A2/3页4余的规则派生或根据系统负载情况,将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行,当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,。
10、给主机返回应答消息。0006 本发明的有益效果是:多控制器体系架构,各控制器间可实现负载均衡,避免单控制器故障带来的风险和性能的瓶颈,支持丰富的主机连接接口,支持iSCSI、FC、InfiniBand及万兆网络连接,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。本发明涉及多控存储系统的IO调度,提出多个控制器间的IO调度方法,当多控存储系统接受来自应用层的IO请求时,能够将IO请求调度给多个控制器同时并发执行,该方法不仅给低载的控制器分配了未分配的IO请求,还能从过载的控制器上重新调度IO请求到负载较轻的控制器上,从而改善了系统中各个控制器的负载状态,完成。
11、了多控节点上的IO负载调度和均衡,充分调度了设备的潜力,提升了系统性能。附图说明0007 图1是多控存储系统结构示意图:图2是多控存储系统IO调度模块结构示意图;图3是多控并行调度执行流程图。具体实施方式0008 参照说明书附图对本发明的方法作以下详细地说明。0009 附图1是多控存储系统结构图,它由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,如FC、SRP、Iscsi、iSER等存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,系统具有高性能、高可用、高并发的特点,客户端主机通过主机适配卡与多控存储系统相连,从而访问存储系统提供的资源。0010。
12、 结合下图2来解释来自客户端的IO处理执行流程:根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求余的规则派生(或根据系统负载情况),将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行。当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,给主机返回应答消息。0011 本文描述的自适应IO调度方法能够改善多个控制其的负载状态,进行多控IO节点上的负载均衡,使得在多控系统的IO并行中,数据访问速度更快.其调度过程描述如下:定义以下概念:Ave。
13、rage=总IO请求数量/N,N表示多控存储系统中控制器的总数目,其中总的IO请求数量包括了待分配的IO请求数(也即IO调度进程上的IO请求等待分配的队列)和控制器本地待处理的总IO请求数(即已分配到控制器,但是还没有得到IO节点响应处理的IO请求数);设T为未分配的IO请求数目,U(n,pendi ng)表示能够由控制器n来提供服务的,未说 明 书CN 103135943 A3/3页5分配的IO请求的子集,P(n,background)为分配在控制器n上未处理的IO请求的总数。0012 首先对多个控制器本地但是未处理的IO请求数进行排序。总共为N个控制器:对N个控制器中的每一个控制器n,如P。
14、(n,background)average则v= P(n,background)-averageP(n,background)= P(n,background)-vT=T+v如控制器N上未处理的IO请求数每个控制器应该服务的平均请求数,则V=min(P(n,background)+ U(n,pending),average)U(n,pending)= U(n,pending)-vT=T-v下面是多控IO并发处理执行流程:如图2所示;参见图3,该图示出了本发明实施多控存储系统IO调度方法,包括IO调度进程模块、IO派发进程模块、IO完成收集模块、高速互联网络模块、缓存模块、多协议模块。0013 。
15、所述多协议模块,用于接收来自客户端的IO请求,并将数据提交给缓存模块。0014 所述缓存模块,用于缓存IO请求,并将IO请求提交给IO调度程序执行。0015 所述IO调度进程模块,与所述缓存模块相连,根据自适应IO调度算法进行数据的拆分并确定将数据提交给哪个控制器执行,执行IO调度算法,并调用IO派发进程模块发送IO请求数据。0016 所述IO派发进程模块,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上。0017 所述IO完成收集模块,用于处理远端控制器的完成IO请求,并进行判断所有的并行处理请求是否完成,主要使用计数进行判断,如果完成,则通知IO调度进程模块。0018 除说明书所述的技术特征外,均为本专业技术人员的已知技术。说 明 书CN 103135943 A1/3页6图1说 明 书 附 图CN 103135943 A2/3页7图2说 明 书 附 图CN 103135943 A3/3页8图3说 明 书 附 图CN 103135943 A。