CN103135943A - 一种多控存储系统自适应io调度方法 - Google Patents

一种多控存储系统自适应io调度方法 Download PDF

Info

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
Application number
CN2013100553611A
Other languages
English (en)
Other versions
CN103135943B (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 CN201310055361.1A priority Critical patent/CN103135943B/zh
Publication of CN103135943A publication Critical patent/CN103135943A/zh
Application granted granted Critical
Publication of CN103135943B publication Critical patent/CN103135943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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调度方法。对来自应用层的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处理并行完成后,给主机返回应答消息。
CN201310055361.1A 2013-02-21 2013-02-21 一种多控存储系统自适应io调度方法 Active CN103135943B (zh)

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)

* Cited by examiner, † Cited by third party
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)

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

Citations (3)

* Cited by examiner, † Cited by third party
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 浪潮电子信息产业股份有限公司 一种多控制器磁盘阵列协调调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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