[go: up one dir, main page]

CN106155810A - 软件定义混合储存系统中工作负载感知的输入输出调度器 - Google Patents

软件定义混合储存系统中工作负载感知的输入输出调度器 Download PDF

Info

Publication number
CN106155810A
CN106155810A CN201510193350.9A CN201510193350A CN106155810A CN 106155810 A CN106155810 A CN 106155810A CN 201510193350 A CN201510193350 A CN 201510193350A CN 106155810 A CN106155810 A CN 106155810A
Authority
CN
China
Prior art keywords
queue
value
input
live load
workload
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
CN201510193350.9A
Other languages
English (en)
Other versions
CN106155810B (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.)
Xianzhi Yunduan Data Co ltd
Original Assignee
Xianzhi Yunduan Data 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 Xianzhi Yunduan Data Co ltd filed Critical Xianzhi Yunduan Data Co ltd
Priority to CN201510193350.9A priority Critical patent/CN106155810B/zh
Publication of CN106155810A publication Critical patent/CN106155810A/zh
Application granted granted Critical
Publication of CN106155810B publication Critical patent/CN106155810B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种软件定义混合储存系统中工作负载感知的输入输出调度器,其包括一队列管理模块、一工作负载特性数据库、一流量监控模块与一流量模型模块。该队列管理模块进一步包括一请求接收子模块、一请求控制子模块与一请求调度子模块。通过队列管理模块用以存取硬盘与固态硬盘的请求和各自队列。从而,软件定义混合储存的性能可以改进。同时,该调度器能同时用于来自多个工作负载的请求,从而达到每一工作负载的性能需求。

Description

软件定义混合储存系统中工作负载感知的输入输出调度器
技术领域
本发明涉及一种输入输出调度器,特别是涉及一种软件定义混合储存系统中工作负载感知的输入输出调度器。
背景技术
计算机操作系统使用输入输出调度器来决定储存块输入/输出作业将以何种顺序提交给储存卷。依据不同的目的,一个输入输出调度器的目标可能以最小化花费在硬盘搜寻的时间、优先考虑处理一部分的输入/输出请求、给每个正在运行的程序部分磁盘带宽的份额,及/或保证某些输入/输出请求在一个特定的截止时点前开始执行。举例而言,Linux内核内的截止时点调度器用来保证对于请求的一个开始服务时间,它的功能由强加一个截止时点到所有的输入/输出作业中来防止请求饥饿现象(starvation)而达成。因而,通过使用各别输入/输出队列,截止时点调度器偏好读取过于写入。它对数据库工作负载运行良好。另一个例子是完全公平队列(Complete Fair Queuing)调度器。完全公平队列调度器放置由程序提交的同步请求到许多按程序的队列中,并接着对每一队列分配时间片,以存取该磁盘。从而,完全公平队列调度器适合于连续读取视频或音频流,及来自一般主机的工作负载。
上述的调度器是基于改善硬盘或由硬盘组成的储存系统的性能而提出的。以下是一些硬盘储存系统的特性:首先,多重输入/输出请求(读取与写入两者)可能合并到一个单一请求中,而该单一请求在一个读取写入头的移动下进行处理。因此,读取写入头移动的次数可减少,以增加了硬盘的流通量。第二,输入/输出请求被分类,由减少硬盘读取写入头的往来移动以改善搜寻时间。基于该些特征,排成队列以等待将来处理的输入/输出请求可被合并与分类。当使用不同的调度器时,具有不同特征的工作负载能以较佳的性能进行处理。
储存系统的一种主流,特别是用在云端系统,是使用混合的固态硬盘与硬盘,而非仅由硬盘组成,因而最新的调度器可能无法在它们装设到储存系统时,达到它们本身要求所要达成的目标。固态硬盘具有异于硬盘的鲜明特点描述如下。首先,固态硬盘不需要合并及分类固态硬盘的输入/输出请求,这暗示了无须合并与分类所需的时间。输入/输出请求应能以最快速度传送到固态硬盘中。第二,因为许多现代固态硬盘具有多信道,固态硬盘输入/输出请求可能平行化处理,而该多通道能同时容纳多个输入/输出请求。如果应用该调度器的储存系统是一种软件定义混合储存系统,要处理调度器需求的情况会更加复杂。在考虑固态硬盘存在的情况下,有必要改变及改进现有的调度器
此外,进一步调查,工作负载的流量特性是另一项重要的问题。任何工作负载可能具有某些异于其它工作负载的特性,该特性可能是输入/输出模式(顺序或随机)、读取/写入比率、固态硬盘快取命中等。举例而言,在线事务处理(On-LineTransaction Processing)数据库的工作负载具有随机输入/输出模式、读取/写入比率大于1,及较小的储存块大小;而MongoDB的工作负载具有顺序输入/输出模式、读取/写入比率小于1,及较大的储存块大小。如果该两种工作负载在相同混合储存系统下执行,近来发展的调度器不能达到服务层级协议(ServiceLevel Agreements)中对二者的性能需求,至少会存在嘈杂邻居问题(Noisy Neighbor Problem),影响该些工作负载。
对上述要求,现有的一些技术提供了相关的解决方案,其中一例公开于美国专利第8,756,369号。在该专利中,一储存系统包括一命令分类器,用来决定用于至少一固态硬盘命令与一硬盘命令的一目标储存设备、如果该固态硬盘命令是标定到该储存系统的一固态硬盘储存设备,则放置该命令到一固态硬盘预备队列中,及如果该硬盘命令是标定到该储存系统的一硬盘储存设备,则放置该硬盘命令到一硬盘预备队列中。该储存系统也包括一固态硬盘预备队列,用以队列标定到该固态硬盘储存设备的固态硬盘命令,及一硬盘预备队列,用以队列标定到该硬盘储存设备的硬盘命令。同时,一命令调度器从该预备队列中取出硬盘与固态硬盘命令,并放置该些命令到一命令处理器中。基于对应该特别命令的一目标设备的一处理队列的可用性级别,该命令调度器放置来自其各自预备队列的一特别(硬盘或固态硬盘)命令,到该命令处理器中。那么,该命令处理器给予该处理队列该些储存命令。
美国专利第8,756,369号所提供的储存系统区分硬盘命令(输入/输出请求)与固态硬盘命令,它有助于对一工作负载的硬件操作。然而,如果应用于多工作负载,该储存系统可能无法如它预设般地运作。另一方面,对于各种运行于该储存系统上的工作负载来说,没有合适的方式来协调来自每一工作负载的请求,以便每一工作负载能满足服务层级协议或服务质量(Quality of Service)需求。因此,在软件定义混合储存系统中需要一种能够感知工作负载的输入输出调度器,该调度器可用来解决以上的问题。
发明内容
为了满足上述需求,本发明提供了一种软件定义混合储存(SDHS)系统中工作负载感知的输入输出调度器,该软件定义混合储存至少包括一硬盘与一固态硬盘。该软件定义混合储存系统中工作负载感知的输入输出调度器包括一队列管理模块、一工作负载特性数据库及一流量监控模块,该队列管理模块用以管理队列、读取请求与写入请求,该队列管理模块包含一请求接收子模块、一请求控制子模块及一请求调度子模块,其中,该请求接收子模块用以暂时储存该些读取请求与写入请求;该请求控制子模块用以创建工作负载队列、依照一调度器配置功能以动态配置该些工作负载队列与安排该些读取请求与写入请求到该些工作负载队列中;该请求调度子模块用以创建设备队列,并调度来自该工作负载队列的每一读取请求或写入请求到一特定的设备队列中;该工作负载特性数据库用以储存工作负载的特性以供存取;该流量监控模块用以监控及持续记录该软件定义混合储存系统的一性能参数的值,并提供该些性能参数的值给该请求控制子模块。
该调度器配置功能对每一工作负载队列,基于该工作负载特性数据库提供的该些特性与接收到的该些性能参数的值,计算一队列深度与一等待时间,以调整该软件定义混合储存系统的性能参数值在未来落于设定给该性能参数的一性能保证值与一性能调节值之间。
上述软件定义混合储存系统中工作负载感知的输入输出调度器,还可以进一步包含一流量模型模块,该流量模型模块用以模型化来自该工作负载的该些请求的储存流量,并在未来的一特定的时间点上提供该些特性的预测储存流量。
较佳的,该些特性为读取/写入比率、合并比率、固态硬盘命中率及储存块大小。该性能参数为每秒输入输出操作次数、流通量、延迟时间或前述三者的组合。该性能保证值与性能调节值由该工作负载的服务层级协议(Service Level Agreement)或服务质量(Quality of Service)需求所定义。每一工作负载队列被归类为深层次、中等层次或浅层次,每一等待时间被归类为长延时、中等延时或短延时,其中深层次工作负载队列的队列深度较中等层次工作负载队列的队列深度容纳更多读取请求或写入请求;中等层次工作负载队列的队列深度较浅层次工作负载队列的队列深度容纳更多读取请求或写入请求;储存块大小为一中等大小;长延时长于中等延时;中等延时长于短延时。
在一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为深层次,且对每一工作负载队列的等待时间定为中等延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于性能保证值,且该读取/写入比率小于1,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值,且该读取/写入比率小于1,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为深层次,且对每一工作负载队列的等待时间设定为长延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率小于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率小于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值不接近或低于性能保证值,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
在另一例子中,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值不接近或低于性能保证值,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为中等延时。
在另一例子中,如果该固态硬盘命中率增加,则该工作负载队列的队列深度维持相同或变得更浅,且对每一工作负载队列的等待时间维持相同或变得更短,否则该工作负载队列的队列深度维持相同或变得更深,且对每一工作负载队列的等待时间维持相同或变得较长。
在另一例子中,如果该合并比率增加,则该工作负载队列的队列深度维持相同或变得更浅,且对每一工作负载队列的等待时间维持相同或变得更短,否则该工作负载队列的队列深度维持相同或变得更深,且对每一工作负载队列的等待时间维持相同或变得较长。
较佳的,该中等大小为8KB。
附图说明
图1为本发明软件定义混合储存系统中工作负载感知的输入输出调度器的储存系统的结构示意图;
图2为一请求控制子模块与一请求调度子模块的操作示意图;
图3为输入输出调度器工作负载的完整情况。
附图标记说明:1-远程用户;5-云端储存系统;10-调度器;50-主机;55-文件系统;60-设备驱动器模块;61-固态硬盘;62-固态硬盘;63-硬盘;64-硬盘;100-队列管理模块;101-请求接收子模块;102-请求控制子模块;103-请求调度子模块;110-工作负载特性数据库;120-流量监控模块;130-流量模型模块;W1-工作负载队列群组;W2-工作负载队列群组;Wn-工作负载队列群组;QW1-队列深度;QW2-队列深度;QWn-队列深度;QS1-第一固态硬盘设备队列;QS2-第二固态硬盘设备队列;QH1-第一硬盘设备队列;QH2-第二硬盘设备队列。
具体实施方式
本发明将参照下列实施方式而更具体地描述。
如图1所示,其描述本发明的一实施例。显示于图1中的一云端储存系统5为一软件定义混合储存系统此软件定义混合储存使得在云端架构下,能够基于原则的快速创建、移除及管理储存系统。软件定义混合储存通常以储存虚拟化的方式来将软件从其管理的储存硬件中分开。不同于一般的软件定义储存,软件定义混合储存系统包含一种以上的磁盘型态。它通常由两种磁盘构成,例如硬盘与固态硬盘,用于满足不同特征工作负载的需求。从而,云端储存系统5也能应用于许多的工作负载。这些工作负载可以是一在线事务处理数据库、视频流服务、虚拟桌面基础架构环境、电子邮件服务器、备份服务器或档案服务器。所有利用软件定义混合储存为储存单元的服务或架构,都是依照本发明的精神的工作负载。
云端储存系统5接收来自网络中许多用户的读取或写入请求。为了简化本发明的说明,仅一远程用户1用于代表所有的用户。基本上,云端储存系统5的输入/输出作业对所有用户来说都一样,但是在不同的情况下,对于每个工作负载的处理优先次序及响应延时不同。当阅读本实施例时,应当考虑有许多远程用户1发出读取/写入请求给云端储存系统5,并同时等待响应。
一工作负载感知的输入/输出调度器10装设于云端储存系统5中,它是本发明的重要部分。因为能区分请求来源的工作负载,调度器10是对工作负载感知的。调度器10包括一队列管理模块100、一工作负载特性数据库110、一流量监控模块120与一流量模型模块130。每一者将于后文中详细说明。要注意的是输入/输出调度器10能以软件的形式执行于云端储存系统5的一主机50上,它也可以是为主机50内云端储存系统5工作的硬设备。或者,输入/输出调度器10能部分由硬件实现,而其余部分由软件驱动,这不为本发明所限制。
队列管理模块100的主要功能是管理队列、读取请求、及写入请求,前述的读取请求与写入请求来自主机50的一文件系统55。队列管理模块100包括三个重要的子模块。它们分别是一请求接收子模块101、一请求控制子模块102与一请求调度子模块103。请求接收子模块101能暂时地储存来自文件系统55的读取请求与写入请求。该请求之后将依据工作负载而分类,并接着安排到一工作负载队列群组的写入队列与读取队列中。该写入队列为某一特定的工作负载排序写入请求,该读取队列为相同的工作负载依序保持读取请求。要再强调有许多的工作负载同时使用云端储存系统5,同样也有许多工作负载队列群组W1至Wn显示于图2中。
请求控制子模块102用来对每一工作负载的请求,创建工作负载队列(写入队列与读取队列)。在工作负载队列设立之后,请求控制子模块102能进一步依照一调度器配置功能,动态配置工作负载队列。该调度器的配置功能会运作来决定工作负载队列的深度及每一请求等待合并机会的时间长度,这将在后面详细地描述。因此,请求控制子模块102安排读取请求与写入请求到相关的工作负载队列中。
请求调度子模块103负责创建设备队列。每一设备队列包含对特定设备,即固态硬盘61、62或硬盘63、64,的请求(读取及/或写入)。该请求可来自一工作负载队列群组或某些工作负载队列群组。请求调度子模块103将调度每一来自工作负载队列的读取请求或写入请求到一特定的设备队列中。如果其它已队列的请求在一请求之前已进行处理,该请求将会接着进行处理。在某些主机50设计中,调度可经由一设备驱动器模块60触发对应储存设备的驱动器而达成。该请求调度子模块103提供一种其它调度器无法达成的绝佳功能,它将到硬盘的请求与到固态硬盘的请求分开。从而,到固态硬盘的请求能直接执行,不必与其它到硬盘的请求在队列中等待,云端储存系统5的性能可因此提升。
工作负载特性数据库110储存各工作负载的特性,以供存取之用。该些特性是调度器配置功能用来决定队列深度与等待时间的因子。依照本发明,该些特性是读取/写入比率、固态硬盘命中率、合并比率及储存块大小。读取/写入比率是工作负载读取请求数量对写入请求数量的比值。对一工作负载来说,它通常具有一特定的使用模式,读取请求数量多于写入请求数量或写入请求数量超过读取请求数量。对某些特殊情况,某一工作负载,比如一个备份服务器,可能具有写入请求但没有读取请求。
固态硬盘命中率指的是云端储存系统5中的固态硬盘被存取的频率,不论该些请求是由哪一工作负载而来。使用于每一工作负载的固态硬盘的数量或空间可能依据工作负载使用情况而变。从而,用于每一工作负载的固态硬盘命中率随时在变。如果该固态硬盘命中率增加,则该工作负载队列的队列深度可能维持相同或变得更浅,且对每一工作负载队列的等待时间可能维持相同或变得更短。反之,该工作负载队列的队列深度可能维持相同或变得更深,且对每一工作负载队列的等待时间可能维持相同或变得较长。维持或改变队列深度或等待时间是基于增加/减少的程度而定。维持与改变间的门坎值,及改变程度的量值能在云端储存系统5上线运作前就设定好。前述的方法是一种用于制定规则的准则,"浅"、"短"、"深",及"长"等量化描述将在随后说明。对比的使用是针对现有级别而说明其增加或减少。
读取/写入比率是表达读取/写入模式的一种指针。合并比率仅计算硬盘的存取,它是一读取写入头在相同移动间,与其它请求合并处理(处理优先级的改变)的请求的比例。举例而言,在一固定时限开始(ta)时,有10个硬盘读取请求在队列中。在该时限结束时(tb),请求合并造成队列中的请求数量变成7个,该合并比率在tb时为0.3,它来自下面的公式:
其中tb>ta
r(t)表示在时间t时,一队列中请求获得数量的函数。合并比率越高,硬盘的流通量越大(本例显示大于30%)。然而,如果该请求等的够长而获致最大的流通量,延迟时间也可能变得较长,而较长的延迟时间会使得使用者经验变差。对一工作负载而言,它的合并比率也可能随着时间而变化。如果合并比率增加,该工作负载队列的队列深度可能维持相同或变得较浅,且对每一工作负载队列的等待时间可能维持相同或变得较短。否则该工作负载队列的队列深度可能维持相同或变得更深,且对每一工作负载队列的等待时间可能维持相同或变得更长。相似地,"浅"、"短"、"深",及"长"等量化描述将在随后说明。对比的使用是针对现有级别而说明其增加或减少。
储存块大小是储存装置的基本储存单元空间,硬盘或固态硬盘都有,它从4KB或更小到16MB或以上都有可能。一般来说,中等大小使用上以8KB较常见。随着储存设备科技的演进,该中等大小将会增加。为了说明的目的,在本说明书中,8KB设定为该中等大小,然而这并不限制本发明。对不同的储存块大小与状况而言,调度器配置功能用来决定队列深度与等待时间的策略不同,以下将说明。
流量监控模块120能监控及持续记录云端储存系统5的一性能参数的值,它也能提供该性能参数的值给请求控制子模块102。性能参数可以是每秒输入输出操作次数、流通量、延迟时间或前述三者的组合。流量模型模块130用来模型化来自工作负载请求的储存流量及在未来的一特定的时间点上,提供预测某些特性的储存流量。模型化使用的数据来自流量监控模块120。任何适合的方法、算法或模块都可以应用,最好使用由相同发明人于美国专利申请案第14/290,533号中所提供的一种储存设流量模型,可由该申请案获得相同技术之共同参考。来自工作负载请求之模型化的储存流量,以及储存流量的预测值,能提供请求控制子模块102参考,以备未来工作负载队列及等待时间的组态之用。
以下,调度器配置功能的运作将以所有状况的例子来说明。调度器配置功能基于工作负载特性数据库提供的特性与接收的性能参数值,计算队列深度及对每一工作负载队列的等待时间。因此,调度器配置功能可调整云端储存系统5的性能参数值,以便在未来落于设定给该性能参数的一性能保证值与一性能调节值之间。前述的性能保证值与性能调节值由工作负载的服务层级协议或服务质量需求所定义。每一工作负载队列被归类为深层次、中等层次或浅层次。每一等待时间被归类为长延时、中等延时或短延时。
依照本发明的精神,对每一分类的工作负载队列而言,如同在运作时被分类的等待时间,没有绝对的定界符。一个指引方针是深层次工作负载队列的队列深度应比中等层次工作负载队列的队列深度,容纳更多读取请求或写入请求;中等层次工作负载队列的队列深度比浅层次工作负载队列的队列深度,容纳更多读取请求或写入请求;储存块的大小为中等大小。相似地,长延时较中等延时长,中等延时较短延时长。
如上所述,有许多的工作负载状况影响调度器配置功能决定队列深度与等待时间,所有的状况揭露如下。在一实施例中,云端储存系统5支持视频流、在线事务处理数据库与邮件服务器。这些工作负载仅用于说明,并不限定本发明的应用,不同于上述三者的工作负载都能使用。视频流是一种序列输入/输出型态,具有的读取请求数量较写入请求数量多,需要储存块大小大于或等于8K,产生每秒输入输出操作次数或流通量的值接近各自的性能调节值,且具有的延迟时间接近或低于延迟时间的性能保证值。如图2所示,工作负载队列群组W1中工作负载队列的一队列深度QW1设定为中等层次(5),对每一工作负载队列的等待时间设定为短延时(20ms)。请求调度子模块103安排来自工作负载队列群组W1的请求到用于固态硬盘61的一第一固态硬盘设备队列QS1及用于硬盘63的一第一硬盘设备队列QH1。
在线事务处理数据库是随机输入/输出型态,具有相同数量的读取/写入请求或读取请求数量多于写入请求数量,需要储存块大小大于或等于8K,产生每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值,且具有的延迟时间接近或低于延迟时间的性能保证值。工作负载队列群组W2中工作负载队列的一队列深度QW2设定为浅层次(2),对每一工作负载队列的等待时间设定为短延时(20ms)。请求调度子模块103安排来自工作负载队列群组W2的请求到用于固态硬盘61的第一固态硬盘设备队列QS1及用于固态硬盘62的一第二固态硬盘设备队列QS2。
邮件服务器是随机输入/输出型态,具有的读取请求数量较写入请求数量多,(或甚至是相同),需要储存块大小小于8K,产生每秒输入输出操作次数或流通量的值接近各自的性能调节值,且具有的延迟时间并不接近或低于延迟时间的性能保证值。工作负载队列群组Wn中工作负载队列的一队列深度QWn设定为深层次(7),对每一工作负载队列的等待时间设定为长延时(100ms)。请求调度子模块103安排来自工作负载队列群组Wn的请求到用于硬盘63的第一硬盘设备队列QH1及用于硬盘64的第二硬盘设备队列QH2。
工作负载状况的完整组合表列于图3中。很明显地,视频流、在线事务处理数据库、及邮件服务器各别是第1号、第5号与第10号状况。其余的状况说明如下。
对第2号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值接近或低于性能保证值、读取/写入比率大于或等于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为深层次,且对每一工作负载队列的等待时间设定为中等延时。
对第3号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值接近或低于性能保证值、读取/写入比率小于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
对第4号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值接近或低于性能保证值、读取/写入比率小于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
对第6号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值接近或低于性能保证值、读取/写入比率大于或等于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
对第7号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值接近或低于性能保证值、读取/写入比率小于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
对第8号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值接近或低于性能保证值、读取/写入比率小于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
对第9号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率大于或等于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
对第11号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率小于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
对第12号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率小于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
对第13号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率大于或等于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
对第14号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率大于或等于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为中等延时。
对第15号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率小于1,且储存块大小大于或等于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
对第16号状况来说,如果接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、接收的延迟时间值不接近或低于性能保证值、读取/写入比率小于1,且储存块大小小于中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为中等延时。
虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许之更动与润饰,因此本发明的保护范围当视本案权利要求范围所界定为准。

Claims (21)

1.一种软件定义混合储存系统中工作负载感知的输入输出调度器,该软件定义混合储存系统包括至少一硬盘与一固态硬盘,其特征在于,该软件定义混合储存系统中工作负载感知的输入输出调度器包含一队列管理模块、一工作负载特性数据库及一流量监控模块,其中:
该队列管理模块用以管理队列、读取请求与写入请求,该队列管理模块包含一请求接收子模块、一请求控制子模块及一请求调度子模块,其中,
该请求接收子模块用以暂时储存该些读取请求与写入请求;
该请求控制子模块用以创建工作负载队列、依照一调度器配置功能以动态配置该些工作负载队列与安排该些读取请求与写入请求到该些工作负载队列中;
该请求调度子模块用以创建设备队列,并调度来自该工作负载队列的每一读取请求或写入请求到一特定的设备队列中;
该工作负载特性数据库用以储存工作负载的特性以供存取;
该流量监控模块用以监控及持续记录该软件定义混合储存系统的一性能参数的值,并提供该些性能参数的值给该请求控制子模块;
其中该调度器配置功能对每一工作负载队列,基于该工作负载特性数据库提供的该些特性与接收到的该些性能参数的值,计算一队列深度与一等待时间,以调整该软件定义混合储存系统的性能参数值在未来落于设定给该性能参数的一性能保证值与一性能调节值之间。
2.根据权利要求1所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,进一步包含一流量模型模块,该流量模型模块用以模型化来自该工作负载的该些请求的储存流量,并在未来的一特定的时间点上提供该些特性的预测储存流量。
3.根据权利要求1所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,该些特性为读取/写入比率、合并比率、固态硬盘命中率及储存块大小。
4.根据权利要求3所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,该性能参数为每秒输入输出操作次数、流通量、延迟时间或前述三者的组合。
5.根据权利要求3所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,该性能保证值与性能调节值由该工作负载的服务层级协议或服务质量需求所定义。
6.根据权利要求4所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,每一工作负载队列被归类为深层次、中等层次或浅层次,每一等待时间被归类为长延时、中等延时或短延时,其中深层次工作负载队列的队列深度较中等层次工作负载队列的队列深度容纳更多读取请求或写入请求;中等层次工作负载队列的队列深度较浅层次工作负载队列的队列深度容纳更多读取请求或写入请求;储存块大小为一中等大小;长延时长于中等延时;中等延时长于短延时。
7.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
8.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为深层次,且对每一工作负载队列的等待时间定为中等延时。
9.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值接近或低于性能保证值,且该读取/写入比率小于1,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
10.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
11.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
12.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值接近或低于性能保证值,且该读取/写入比率小于1,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
13.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
14.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率大于或等于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为深层次,且对每一工作负载队列的等待时间设定为长延时。
15.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率小于1,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为短延时。
16.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近各自的性能调节值、该接收的延迟时间值不接近或低于性能保证值、该读取/写入比率小于1,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为中等层次,且对每一工作负载队列的等待时间设定为中等延时。
17.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值不接近或低于性能保证值,且该储存块大小大于或等于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为短延时。
18.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该接收的每秒输入输出操作次数或流通量的值接近或低于各自的性能保证值、该接收的延迟时间值不接近或低于性能保证值,且该储存块大小小于该中等大小,则该工作负载队列的队列深度设定为浅层次,且对每一工作负载队列的等待时间设定为中等延时。
19.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该固态硬盘命中率增加,则该工作负载队列的队列深度维持相同或变得更浅,且对每一工作负载队列的等待时间维持相同或变得更短,否则该工作负载队列的队列深度维持相同或变得更深,且对每一工作负载队列的等待时间维持相同或变得较长。
20.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,如果该合并比率增加,则该工作负载队列的队列深度维持相同或变得更浅,且对每一工作负载队列的等待时间维持相同或变得更短,否则该工作负载队列的队列深度维持相同或变得更深,且对每一工作负载队列的等待时间维持相同或变得较长。
21.根据权利要求6所述的软件定义混合储存系统中工作负载感知的输入输出调度器,其特征在于,该中等大小为8KB。
CN201510193350.9A 2015-04-22 2015-04-22 软件定义混合储存系统中工作负载感知的输入输出调度器 Expired - Fee Related CN106155810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510193350.9A CN106155810B (zh) 2015-04-22 2015-04-22 软件定义混合储存系统中工作负载感知的输入输出调度器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510193350.9A CN106155810B (zh) 2015-04-22 2015-04-22 软件定义混合储存系统中工作负载感知的输入输出调度器

Publications (2)

Publication Number Publication Date
CN106155810A true CN106155810A (zh) 2016-11-23
CN106155810B CN106155810B (zh) 2018-12-25

Family

ID=58058445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510193350.9A Expired - Fee Related CN106155810B (zh) 2015-04-22 2015-04-22 软件定义混合储存系统中工作负载感知的输入输出调度器

Country Status (1)

Country Link
CN (1) CN106155810B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614236A (zh) * 2018-12-07 2019-04-12 深圳前海微众银行股份有限公司 集群资源动态调整方法、装置、设备及可读存储介质
CN111208943A (zh) * 2019-12-27 2020-05-29 天津中科曙光存储科技有限公司 存储系统的io压力调度系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其系统
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN102394931A (zh) * 2011-11-04 2012-03-28 北京邮电大学 一种基于云的用户访问请求调度方法
CN102799487A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 基于阵列/lun的io调度方法及装置
CN103299271A (zh) * 2011-01-11 2013-09-11 惠普发展公司,有限责任合伙企业 并发请求调度
US20140026122A1 (en) * 2012-07-18 2014-01-23 Infosys Limited Cloud-based application testing
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719082A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 虚拟化计算平台中应用请求调度的方法及其系统
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN103299271A (zh) * 2011-01-11 2013-09-11 惠普发展公司,有限责任合伙企业 并发请求调度
CN102394931A (zh) * 2011-11-04 2012-03-28 北京邮电大学 一种基于云的用户访问请求调度方法
CN102799487A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 基于阵列/lun的io调度方法及装置
US20140026122A1 (en) * 2012-07-18 2014-01-23 Infosys Limited Cloud-based application testing
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614236A (zh) * 2018-12-07 2019-04-12 深圳前海微众银行股份有限公司 集群资源动态调整方法、装置、设备及可读存储介质
CN111208943A (zh) * 2019-12-27 2020-05-29 天津中科曙光存储科技有限公司 存储系统的io压力调度系统
CN111208943B (zh) * 2019-12-27 2023-12-12 天津中科曙光存储科技有限公司 存储系统的io压力调度系统

Also Published As

Publication number Publication date
CN106155810B (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
US9575664B2 (en) Workload-aware I/O scheduler in software-defined hybrid storage system
KR101086514B1 (ko) 연속 매체 우선순위 인식 저장장치 스케줄러
Tavakkol et al. FLIN: Enabling fairness and enhancing performance in modern NVMe solid state drives
US8959249B1 (en) Cooperative cloud I/O scheduler
CN102667724B (zh) 用于动态管理加速器资源的方法和系统
US9436389B2 (en) Management of shared storage I/O resources
US8424007B1 (en) Prioritizing tasks from virtual machines
CN100397341C (zh) 管理计算环境中的工作负载的方法和系统
US20140115586A1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
US20070156955A1 (en) Method and apparatus for queuing disk drive access requests
US10877790B2 (en) Information processing apparatus, control method and storage medium
WO2016078178A1 (zh) 一种虚拟cpu调度方法
US10884667B2 (en) Storage controller and IO request processing method
US20120290789A1 (en) Preferentially accelerating applications in a multi-tenant storage system via utility driven data caching
CN106133707A (zh) 高速缓存管理
CN107273200A (zh) 一种针对异构存储的任务调度方法
EP3293625B1 (en) Method and device for accessing file, and storage system
US10592107B2 (en) Virtual machine storage management queue
Povzner et al. Horizon: efficient deadline-driven disk I/O management for distributed storage systems
US10686721B2 (en) Storage device access mediation
CN106155810A (zh) 软件定义混合储存系统中工作负载感知的输入输出调度器
US8245229B2 (en) Temporal batching of I/O jobs
Tai et al. SLA-aware data migration in a shared hybrid storage cluster
Zhao et al. MHQoS: A multi-user hierarchical quality of service optimization for P2P storage
TWI509411B (zh) 軟體定義混合儲存系統中之工作負載感知的輸入/輸出調度器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1231197

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181225

CF01 Termination of patent right due to non-payment of annual fee