本申请涉及存储器端存储请求管理。提供一种用于至少部分地基于I/O请求的一个或多个逻辑特性在存储系统内管理I/O请求被存储系统处理的顺序的技术。逻辑特性例如可以包括,例如:提交I/O请求的用户的身份、提交I/O请求的服务、I/O请求所针对的数据库、I/O请求映射的消费者组的指示、发布该I/O请求的原因、I/O请求的优先级类别等。还提供在存储系统内自动建立调度策略且响应于工作负荷中的变化自动改变调度策略的技术。
【技术实现步骤摘要】
【专利说明】 本申请是申请日为2009年9月18日申请号为200980142588. 1(国际【申请号】PCT/ US2009/057590)专利技术名称为"存储器端存储请求管理"的专利技术专利申请的分案申请。
本专利技术涉及存储请求管理,且更具体而言,涉及I/O请求的存储器端管理。
技术介绍
数据库系统的主要作用是解释数据对象的高级抽象声明,且操纵和搜索这些对 象。理想地,这些声明和操纵通过数据库系统被有效地解释为发送给简单的、线性寻址的、 封闭的、持续的存储装置的I/O请求。通常,数据库系统必须为多个应用执行这种解释。这 些应用可以使用跨越不同用户和方案安全级别的多个数据库、应用类型、数据库会话类型 以及I/O请求的优先权和类别。 在很多情形中,I/O请求被发送到存储系统的顺序影响着系统的效率。例如,当小 的高优先级I/O请求和大的低优先级I/O请求都需要被发送到存储系统时,在小的高优先 级I/O请求之前发送大的低优先级I/O请求对于数据库服务器而言就不是高效的。 已经开发了各种技术来确保I/O请求以智能方式发送到存储系统。例如,此处通 过引用包括在此的名为"Management Of Shared Storage I/O Resources"的美国专利申 请No. 11/716, 364描述了用于在数据库服务器中将I/O请求排队且以智能方式将这些请求 发布到存储系统的技术。然而,使得数据库服务器以智能方式发布I/O请求并不确保存储 系统优化处理I/O请求。 具体而言,存储系统典型地以先进先出(FIFO)为基础处理I/O请求。就这方面而 言,存储系统从FIFO处理偏离,所述偏离涉及I/O请求的重新排序以改善磁盘效率。在1/ 0请求之后执行这种重新排序,而没有任何目的。因此,当多个数据库服务器向相同的存储 系统(或者存储系统内的相同存储装置)发送用于多个数据库的I/O请求时,存储系统可 能在处理较高优先级I/O之前终止处理较低优先级I/O请求,即使每个独立数据库服务器 以最优的序列独立向存储系统发送其I/O请求。 多种类型的工作负荷和数据库通常共享存储器。遗憾的是,在共享存储器上运行 多种类型的工作负荷和数据库通常导致应用和混合工作负荷之间的性能和响应时间问题。 例如,对一个产品数据仓库进行大规模并行查询会影响对另一产品数据仓库的关键查询的 性能。而且,数据仓库上的数据负荷会影响也运行在相同数据仓库上的关键查询的性能。通 过过度供应存储系统可以减轻这些问题,但是这消除了共享存储器的成本节省益处。还可 以在非峰值时间调度非关键任务,但是这种手工的处理是费力的。当数据库具有行为不协 调的不同管理员时,这变得不可能。 本部分中描述的方法是应当追求的方法,但是不必是原先考虑到或追求的方法。 因此,除非明确声明,不应当假设本部分中描述的任意方法限定仅包括在本部分中的现有 技术。【附图说明】 在附图中,通过举例的方式而非限制的方式说明本专利技术,附图中,相似的参考标号 表示相似的元件,且其中: 图1是配置成从多个I/O请求者接收I/O请求且智能地排列I/O请求的存储服务 器的框图; 图2是说明根据本专利技术的实施例,各个请求元数据值如何可以映射到消费者组的 框图; 图3是根据本专利技术的实施例的三阶段选择策略的框图; 图4是说明根据本专利技术的实施例的逐幸存组策略的框图; 图5是说明根据本专利技术的实施例的逐幸存组策略的两个阶段的框图;以及 图6是可以实现本专利技术的实施例的计算装置的框图。【具体实施方式】 下面的描述中,用于解释目的,涉及各种特定细节以提供本专利技术的透彻的理解。然 而,很明显,本专利技术可以不使用这些特定细节实践。在其他情形中,以框图形式示出了已知 结构和装置以避免不必要地模糊本专利技术。 概览 此处描述了用于至少部分地基于I/O请求的一个或多个逻辑特性在存储系统内 管理I/O请求被存储系统处理的序列的技术。逻辑特性例如可以包括:提交I/O请求的用 户的身份、提交I/O请求的服务、I/O请求所针对的数据库、I/O请求映射的消费者组的指 示、发布该I/O请求的原因、I/O请求的优先级类别等。这种逻辑特性基本不同于I/O请求 的物理特性,I/O请求的物理特性诸如是I/O请求所针对的数据的存储位置以及该I/O请 求指定的I/O操作中涉及的数据量。 代替或除了在向存储系统发布I/O请求的I/O请求者内执行的任意管理,可以采 用此处描述的内存储(in-storage) I/O管理技术。当在此使用时,"I/O请求者"表示向存 储系统发布I/O请求的任意实体。I/O请求者例如可以是响应于从数据库应用接收的数据 库命令发布I/O请求的数据库服务器。然而,此处描述的技术不限于任意特定类型的I/O 请求者。 因为存储系统处理引导到存储系统内的存储装置的所有I/O请求,存储系统比1/ 0请求者更好地用于做出关于如何调度已经引导到这些存储装置的I/O请求的智能调度判 断。例如,存储系统能够判断目标为特定存储装置的高优先级I/O请求应在目标为相同存 储装置的低优先级I/O请求之前被处理,即使两个请求来自不同I/O请求者且目标为两个 不同的数据库。 包含在存储系统内用于管理I/O请求的逻辑此处被称为存储系统的"存储服务 器"。存储服务器可以通过在作为存储系统的一部分的处理器上执行的软件、通过硬布线逻 辑、或者通过软件和硬件的任意组合实现。存储服务器接收了但仍未被发布的I/O请求(例 如,已添加到存储系统的输出队列)此处被称为"悬置I/O请求"。已发布到存储装置但是 仍未完成的I/O请求此处被称为"未决I/O请求"。 与I/O请求相关的工作的逻辑特性通常对于存储系统并不可用。因此,在一个实 施例中,I/O请求的逻辑特性以"请求元数据"的方式从其他实体被传递到存储系统。例如, 在一个实施例中,I/O请求者向存储服务器提供请求元数据以及I/O请求。如上面所解释, 请求元数据指定关于I/O请求代表的工作的逻辑特性。基于这些逻辑特性、调度策略和选 择策略,存储服务器判断何时发布每个I/O请求。如下面更详细描述,存储服务器可以立即 发布I/O请求,或者可以将该请求入队以用于延期发布。 在一个实施例中,当多于一个I/O请求悬置且调度策略指示I/O请求应被发布时, 由一个或多个选择策略确定哪个悬置I/O请求需要发布。在选择策略中指定的各种策略可 以在各个阶段应用。在每个阶段中,被认为是选择候选的悬置I/O请求的数目基于属于该 阶段的策略减小。当悬置I/O请求的仅一个非空等待队列保留为候选时,存储服务器选择 位于等待队列的头部的I/O请求以供处理。 可以在选择策略中指定的策略的示例包括: · 70 %的存储性能容量应被分配给数据仓库财务,且30 %的存储性能容量应被分 配给数据仓库销售 ?产品数据库应具有高于测试和开发数据库的优先级 · OLTP工作负荷应具有高于维护工作负荷的优先级 示例性系统 图1是可以实现此处描述的I/O请求管理技术的系统的框图。参考图1,存储系统 100为若干不同应用130、132、134、136和138使用的数据提供存储。这些应用通过向I/O 请求者120、122和124发送命令而间接利用存储系统100。例如,应用130、132、1本文档来自技高网...
【技术保护点】
一种方法,包括:在存储系统处接收从一个或多个存储装置读取数据或向所述一个或多个存储装置写入数据的输入/输出I/O请求,所述I/O请求包括物理特性,所述物理特性指示所述一个或多个存储装置中的要从其读取或向其写入所述数据的位置;在所述存储系统内,对由存储系统接收到的多个I/O请求排队;当所述存储系统准备处理已经在所述存储系统中排队的一悬置I/O请求时,所述存储系统中的存储服务器至少部分基于与所述多个I/O请求中的多个特定I/O请求相关联的一个或多个逻辑特性来从排队的所述多个I/O请求中选择一要处理的特定I/O请求;其中,所述一个或多个逻辑特性不是所述物理特性;其中,所述一个或多个逻辑特性对于所述多个特定I/O请求中的至少第一I/O请求包括对以下中至少一者的指示:与第一I/O请求相关联的数据库名称;工作负荷类型,所述工作负荷类型对由第一I/O请求者执行的、第一I/O请求者针对其发出了第一I/O请求的工作进行分类;与第一I/O请求者响应于其而发出第一I/O请求的通信会话相关联的用户名称;响应于所述存储服务器选择该特定I/O请求通过从由该特定I/O请求中所包括的特定物理特性指示的位置读取数据或向该位置写入数据来处理该特定I/O请求;其中,所述方法由一个或多个计算装置执行。...
【技术特征摘要】
...
【专利技术属性】
技术研发人员:S·K·李,V·C·科拉,A·D·谢,S·查特吉,M·苏赛拉吉,J·R·洛埃扎,A·楚科曼,S·苏布拉玛尼亚姆,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。