CN103135943A - 一种多控存储系统自适应io调度方法 - Google Patents
一种多控存储系统自适应io调度方法 Download PDFInfo
- Publication number
- CN103135943A CN103135943A CN2013100553611A CN201310055361A CN103135943A CN 103135943 A CN103135943 A CN 103135943A CN 2013100553611 A CN2013100553611 A CN 2013100553611A CN 201310055361 A CN201310055361 A CN 201310055361A CN 103135943 A CN103135943 A CN 103135943A
- Authority
- CN
- China
- Prior art keywords
- module
- request
- storage system
- controller
- control storage
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种多控存储系统自适应IO调度方法,多控制器体系架构,各控制器间可实现负载均衡,避免单控制器故障带来的风险和性能的瓶颈,支持丰富的主机连接接口,支持iSCSI、FC、InfiniBand及万兆网络连接,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。本发明涉及多控存储系统的IO调度,提出多个控制器间的IO调度方法,当多控存储系统接受来自应用层的IO请求时,能够将IO请求调度给多个控制器同时并发执行,该方法不仅给低载的控制器分配了未分配的IO请求,还能从过载的控制器上重新调度IO请求到负载较轻的控制器上,从而改善了系统中各个控制器的负载状态,完成了多控节点上的IO负载调度和均衡,充分调度了设备的潜力,提升了系统性能。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种多控存储系统自适应IO调度方法。
背景技术
随着信息化发展,数据规模增长快速,目前存在的双通道磁盘阵列已不能满足现有大数据的需求,多控磁盘阵列应运而生。磁盘调度算法是影响系统性能的关键因素,传统的调度是由单控制器IO 系统实现的集中调度,并没有多控制器间的协同调度,作为一种共享资源向外提供不同的服务。对复杂的多控存储系统,包含多个控制器,每个控制器只从自身角度优化调度,并未考虑其它环节的存在,因此,如何充分利用多控磁盘阵列的硬件资源,提高多控间的IO协调和合作,提升系统性能变成了一个重要和急需解决的问题。
发明内容
本发明的目的是提供一种多控存储系统自适应IO调度方法。对来自应用层的IO请求,在多控制器间并行调度和利用适配器的多设备并发操作来提高系统的读写性能,从而提高数据的存储速度。它在两方面改进了存储的性能:一是提高了小量数据随机访问的吞吐量,二是加速了大批量数据传输的数据率。
本发明的目的是按以下方式实现的,多控存储系统是由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,包括:FC、SRP、Iscsi、iSER存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,客户端主机通过主机适配卡与多控存储系统相连,以访问存储系统提供的资源,系统包括:IO调度进程模块、IO派发进程模块、IO完成收集模块、多协议模块、缓存模块,其中:
所述IO调度进程模块,与所述缓存模块相连,用以IO数据的拆分并确定将数据提交给哪个控制器执行,用于执行IO调度方法之IO派生部分,并调用IO派发进程模块发送IO请求数据,它是自适应的IO调度方法;
所述IO派发进程模块,将发往不同控制器的IO请求以链表方式组织,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上;
所述IO完成收集模块,用于处理远端控制器的完成IO请求,接收来自其它控制器的io完成处理通知,并进行计数统治,判断某一个大的IO集合的处理是否已经完成,如所有的并行处理请求完成,则通知IO调度进程模块。
所述多协议模块,与缓存模块相连,用于接收来自客户端的请求,并将数据提交给缓存模块;
所述缓存模块,与多协议模块和IO调度进程模块相连,用于缓存IO请求,并将IO请求提交给IO调度程序执行;
来自客户端的IO处理执行流程如下:
根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求余的规则派生或根据系统负载情况,将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行,当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,给主机返回应答消息。
本发明的有益效果是:多控制器体系架构,各控制器间可实现负载均衡,避免单控制器故障带来的风险和性能的瓶颈,支持丰富的主机连接接口,支持iSCSI、FC、InfiniBand及万兆网络连接,同时可以为用户提供高带宽的IB及万兆网络连接,满足客户对高带宽及高性能的差异化需求。本发明涉及多控存储系统的IO调度,提出多个控制器间的IO调度方法,当多控存储系统接受来自应用层的IO请求时,能够将IO请求调度给多个控制器同时并发执行,该方法不仅给低载的控制器分配了未分配的IO请求,还能从过载的控制器上重新调度IO请求到负载较轻的控制器上,从而改善了系统中各个控制器的负载状态,完成了多控节点上的IO负载调度和均衡,充分调度了设备的潜力,提升了系统性能。
附图说明
图1是多控存储系统结构示意图:
图2是多控存储系统IO调度模块结构示意图;
图3是多控并行调度执行流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
附图1是多控存储系统结构图,它由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,如FC、SRP、Iscsi、iSER等存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,系统具有高性能、高可用、高并发的特点,客户端主机通过主机适配卡与多控存储系统相连,从而访问存储系统提供的资源。
结合下图2来解释来自客户端的IO处理执行流程:
根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求余的规则派生(或根据系统负载情况),将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行。当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,给主机返回应答消息。
本文描述的自适应IO调度方法能够改善多个控制其的负载状态,进行多控IO节点上的负载均衡,使得在多控系统的IO并行中,数据访问速度更快.其调度过程描述如下:
定义以下概念:
Average=总IO请求数量/N,N表示多控存储系统中控制器的总数目,其中总的IO请求数量包括了待分配的IO请求数(也即IO调度进程上的IO请求等待分配的队列)和控制器本地待处理的总IO请求数(即已分配到控制器,但是还没有得到IO节点响应处理的IO请求数);
设T为未分配的IO请求数目,U(n,pending)表示能够由控制器n来提供服务的,未分配的IO请求的子集,P(n,background)为分配在控制器n上未处理的IO请求的总数。
首先对多个控制器本地但是未处理的IO请求数进行排序。总共为N个控制器:
对N个控制器中的每一个控制器n,
如P(n,background)>average
则v= P(n,background)-average
P(n,background)= P(n,background)-v
T=T+v
如控制器N上未处理的IO请求数<每个控制器应该服务的平均请求数,则
V=min(P(n,background)+ U(n,pending),average)
U(n,pending)= U(n,pending)-v
T=T-v
下面是多控IO并发处理执行流程:如图2所示;
参见图3,该图示出了本发明实施多控存储系统IO调度方法,包括IO调度进程模块、IO派发进程模块、IO完成收集模块、高速互联网络模块、缓存模块、多协议模块。
所述多协议模块,用于接收来自客户端的IO请求,并将数据提交给缓存模块。
所述缓存模块,用于缓存IO请求,并将IO请求提交给IO调度程序执行。
所述IO调度进程模块,与所述缓存模块相连,根据自适应IO调度算法进行数据的拆分并确定将数据提交给哪个控制器执行,执行IO调度算法,并调用IO派发进程模块发送IO请求数据。
所述IO派发进程模块,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上。
所述IO完成收集模块,用于处理远端控制器的完成IO请求,并进行判断所有的并行处理请求是否完成,主要使用计数进行判断,如果完成,则通知IO调度进程模块。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.一种多控存储系统自适应IO调度方法, 其特征在于多控存储系统是由多个控制器节点通过高速互联网络组成, 系统整体对外支持多协议接口,包括:FC、SRP、Iscsi、iSER存储服务,运行的存储服务采取统一的管理方式,以统一视图方式提供给系统管理者,客户端主机通过主机适配卡与多控存储系统相连,以访问存储系统提供的资源,系统包括:IO调度进程模块、IO派发进程模块、IO完成收集模块、多协议模块、缓存模块,其中:
所述IO调度进程模块,与所述缓存模块相连,用以IO数据的拆分并确定将数据提交给哪个控制器执行,用于执行IO调度方法之IO派生部分,并调用IO派发进程模块发送IO请求数据,它是自适应的IO调度方法;
所述IO派发进程模块,将发往不同控制器的IO请求以链表方式组织,与所述高速互联网络模块相连,用于处理提交IO请求到不同的控制器上;
所述IO完成收集模块,用于处理远端控制器的完成IO请求,接收来自其它控制器的io完成处理通知,并进行计数统治,判断某一个大的IO集合的处理是否已经完成,如所有的并行处理请求完成,则通知IO调度进程模块;
所述多协议模块,与缓存模块相连,用于接收来自客户端的请求,并将数据提交给缓存模块;
所述缓存模块,与多协议模块和IO调度进程模块相连,用于缓存IO请求,并将IO请求提交给IO调度程序执行;
来自客户端的IO处理执行流程如下:
根据主机来自的SCSI命令,解释出要读写的数据块的起始位置和偏移量,按照数据求余的规则派生或根据系统负载情况,将来自主机的SCSI命令进行拆分,以256K的数据块大小为单元,按照求余的方式拆分IO数据,形成拆分数据链表,并派发到多个控制器上执行,当各控制器上的IO请求完成后,IO处理收集模块会收集相应的IO完成信息,待所有IO处理并行完成后,给主机返回应答消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310055361.1A CN103135943B (zh) | 2013-02-21 | 2013-02-21 | 一种多控存储系统自适应io调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310055361.1A CN103135943B (zh) | 2013-02-21 | 2013-02-21 | 一种多控存储系统自适应io调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103135943A true CN103135943A (zh) | 2013-06-05 |
CN103135943B CN103135943B (zh) | 2017-02-08 |
Family
ID=48495825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310055361.1A Active CN103135943B (zh) | 2013-02-21 | 2013-02-21 | 一种多控存储系统自适应io调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103135943B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158874A (zh) * | 2014-08-12 | 2014-11-19 | 浪潮集团有限公司 | 一种powerpc云存储平台采用scst实现fc通信的方法 |
CN104407810A (zh) * | 2014-11-11 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于多控磁盘阵列请求处理系统 |
CN104461733A (zh) * | 2014-11-24 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种高端磁盘阵列多控制器间的并行io调度方法 |
CN104571931A (zh) * | 2013-10-10 | 2015-04-29 | 中国科学院声学研究所 | 基于系统资源的i/o请求合并调度系统与方法 |
CN105025027A (zh) * | 2015-07-27 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种多控存储系统的rpc安全认证方法 |
CN105302481A (zh) * | 2015-10-12 | 2016-02-03 | 深圳市安云信息科技有限公司 | 一种在高速缓存中双控制器负载均衡的方法和装置 |
CN105677484A (zh) * | 2016-01-08 | 2016-06-15 | 国家计算机网络与信息安全管理中心 | 一种自动负载均衡的多核cpu实时数据处理方法 |
CN106649135A (zh) * | 2016-12-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种单控存储的缓存管理方法及装置 |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
CN107741917A (zh) * | 2017-10-19 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种改进的io限流处理方法和系统 |
CN109445996A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种分配io流的方法、系统及相关组件 |
CN110175092A (zh) * | 2019-04-30 | 2019-08-27 | 杭州电子科技大学 | 一种基于PCIe的多接口存储设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632788A (zh) * | 2017-09-26 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种多控存储系统io调度的方法及多控存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5951671A (en) * | 1997-12-18 | 1999-09-14 | Advanced Micro Devices, Inc. | Sharing instruction predecode information in a multiprocessor system |
CN101441557A (zh) * | 2008-11-08 | 2009-05-27 | 腾讯科技(深圳)有限公司 | 基于动态数据拆分的分布式并行计算的系统及其方法 |
CN101770346A (zh) * | 2010-01-04 | 2010-07-07 | 浪潮电子信息产业股份有限公司 | 一种多控制器磁盘阵列协调调度方法 |
-
2013
- 2013-02-21 CN CN201310055361.1A patent/CN103135943B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5951671A (en) * | 1997-12-18 | 1999-09-14 | Advanced Micro Devices, Inc. | Sharing instruction predecode information in a multiprocessor system |
CN101441557A (zh) * | 2008-11-08 | 2009-05-27 | 腾讯科技(深圳)有限公司 | 基于动态数据拆分的分布式并行计算的系统及其方法 |
CN101770346A (zh) * | 2010-01-04 | 2010-07-07 | 浪潮电子信息产业股份有限公司 | 一种多控制器磁盘阵列协调调度方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571931B (zh) * | 2013-10-10 | 2017-10-03 | 中国科学院声学研究所 | 基于系统资源的i/o请求合并调度系统与方法 |
CN104571931A (zh) * | 2013-10-10 | 2015-04-29 | 中国科学院声学研究所 | 基于系统资源的i/o请求合并调度系统与方法 |
CN104158874A (zh) * | 2014-08-12 | 2014-11-19 | 浪潮集团有限公司 | 一种powerpc云存储平台采用scst实现fc通信的方法 |
CN104407810A (zh) * | 2014-11-11 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于多控磁盘阵列请求处理系统 |
CN104461733A (zh) * | 2014-11-24 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种高端磁盘阵列多控制器间的并行io调度方法 |
CN105025027A (zh) * | 2015-07-27 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种多控存储系统的rpc安全认证方法 |
CN105302481B (zh) * | 2015-10-12 | 2019-04-12 | 深圳市安云信息科技有限公司 | 一种在高速缓存中双控制器负载均衡的方法和装置 |
CN105302481A (zh) * | 2015-10-12 | 2016-02-03 | 深圳市安云信息科技有限公司 | 一种在高速缓存中双控制器负载均衡的方法和装置 |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
CN106909312B (zh) * | 2015-12-23 | 2020-03-20 | 伊姆西Ip控股有限责任公司 | 用于控制从存储系统读取数据的方法和装置 |
CN105677484A (zh) * | 2016-01-08 | 2016-06-15 | 国家计算机网络与信息安全管理中心 | 一种自动负载均衡的多核cpu实时数据处理方法 |
CN106649135A (zh) * | 2016-12-30 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种单控存储的缓存管理方法及装置 |
CN107741917A (zh) * | 2017-10-19 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种改进的io限流处理方法和系统 |
CN107741917B (zh) * | 2017-10-19 | 2021-05-18 | 郑州云海信息技术有限公司 | 一种改进的io限流处理方法和系统 |
CN109445996A (zh) * | 2018-11-09 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种分配io流的方法、系统及相关组件 |
CN109445996B (zh) * | 2018-11-09 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种分配io流的方法、系统及相关组件 |
CN110175092A (zh) * | 2019-04-30 | 2019-08-27 | 杭州电子科技大学 | 一种基于PCIe的多接口存储设备 |
CN110175092B (zh) * | 2019-04-30 | 2022-11-25 | 杭州电子科技大学 | 一种基于PCIe的多接口存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103135943B (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103135943A (zh) | 一种多控存储系统自适应io调度方法 | |
US11934864B1 (en) | System and method for controlled sharing of consumable resources in a computer cluster | |
US11570272B2 (en) | Provisioning using pre-fetched data in serverless computing environments | |
US7680848B2 (en) | Reliable and scalable multi-tenant asynchronous processing | |
US8949847B2 (en) | Apparatus and method for managing resources in cluster computing environment | |
US10715587B2 (en) | System and method for load balancing computer resources | |
CN105900063A (zh) | 多处理环境中的调度方法和装置 | |
CN101951411A (zh) | 云调度系统及方法以及多级云调度系统 | |
CN105141541A (zh) | 一种基于任务的动态负载均衡调度方法及装置 | |
US20150081912A1 (en) | Computer-based, balanced provisioning and optimization of data transfer resources for products and services | |
CN114138486A (zh) | 面向云边异构环境的容器化微服务编排方法、系统及介质 | |
US20130124668A1 (en) | Dynamic streaming data dispatcher | |
CN109725829A (zh) | 用于数据存储系统的端到端 QoS 解决方案的系统和方法 | |
CN109697120A (zh) | 用于应用迁移的方法、电子设备 | |
CN113014611B (zh) | 一种负载均衡方法及相关设备 | |
CN103414764A (zh) | 一种云平台弹性存储系统及其弹性存储实现方法 | |
CN106970827A (zh) | 信息处理方法、信息处理装置、电子设备 | |
CN110515728A (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN112561301A (zh) | 工单分配方法、装置、设备和计算机可读介质 | |
US20150296006A1 (en) | Dynamic provisioning of processing resources in a virtualized computational architecture | |
US9110823B2 (en) | Adaptive and prioritized replication scheduling in storage clusters | |
Banerjee et al. | Framework on service based resource selection in cloud computing | |
US20220027200A1 (en) | System for operating and method for arranging nodes thereof | |
Berwal et al. | Load Balancing in cloud computing | |
CN110399206A (zh) | 一种基于云计算环境下idc虚拟化调度节能系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |