CN117331484A - 基于输入/输出模式亲和度计算的存储工作负载分配 - Google Patents
基于输入/输出模式亲和度计算的存储工作负载分配 Download PDFInfo
- Publication number
- CN117331484A CN117331484A CN202210719865.8A CN202210719865A CN117331484A CN 117331484 A CN117331484 A CN 117331484A CN 202210719865 A CN202210719865 A CN 202210719865A CN 117331484 A CN117331484 A CN 117331484A
- Authority
- CN
- China
- Prior art keywords
- storage
- input
- workloads
- output
- identified set
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 429
- 239000000203 mixture Substances 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 70
- 230000015654 memory Effects 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 29
- 238000003491 array Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 230000006872 improvement Effects 0.000 claims description 8
- 230000015556 catabolic process Effects 0.000 claims description 6
- 238000006731 degradation reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 4
- 238000002156 mixing Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 16
- 238000009826 distribution Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种设备,包括处理装置,所述处理装置被配置为识别将在存储系统上运行的存储工作负载,并且确定与所述识别的存储工作负载相关联的输入/输出(IO)模式混合体,所述IO模式混合体包括:第一组IO模式,所述第一组IO模式对由第一存储工作负载执行的IO操作的类型进行表征;以及至少第二组IO模式,所述第二组IO模式对由第二存储工作负载执行的IO操作的类型进行表征。所述处理装置还被配置为计算所述IO模式混合体的亲和度度量,所述计算的亲和度度量对(i)同时运行的所述IO模式混合体与(ii)单独运行的所述第一组IO模式和所述第二组IO模式的性能度量之间的差异进行表征。所述处理装置还被配置为基于所述计算的亲和度度量而将所述识别的存储工作负载分配到所述存储系统的存储装置。
Description
技术领域
本领域总体上涉及信息处理,并且更具体地涉及信息处理系统中的存储。
背景技术
存储阵列和其他类型的存储系统通常通过网络由多个主机装置共享。主机装置上运行的应用程序各自包括执行应用程序功能的一个或多个进程。此类进程发出输入-输出(IO)操作请求以传送到存储系统。存储系统的存储控制器对此类IO操作请求进行服务。在一些信息处理系统中,可使用多个存储系统来形成存储集群。
发明内容
本公开的说明性实施方案提供了用于至少部分地基于输入/输出模式亲和度计算而进行存储工作负载分配的技术。
在一个实施方案中,一种设备包括至少一个处理装置,所述至少一个处理装置包括耦合到存储器的处理器。所述至少一个处理装置被配置为执行以下步骤:识别将在存储系统上运行的一组存储工作负载,所述存储系统包括多个存储装置;以及确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的输入/输出模式混合体,所述输入/输出模式混合体包括:第一组一个或多个输入/输出模式,所述第一组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第一存储工作负载执行的输入/输出操作的类型进行表征;以及至少第二组一个或多个输入/输出模式,所述第二组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第二存储工作负载执行的输入/输出操作的类型进行表征。所述至少一个处理装置还被配置为执行以下步骤:计算与识别的所述一组存储工作负载中的所述两个或更多个存储工作负载相关联的所述输入/输出模式混合体的亲和度度量,所述计算的亲和度度量对(i)同时运行的所述输入/输出模式混合体与(ii)单独运行的所述第一组一个或多个输入/输出模式和所述第二组一个或多个输入/输出模式的性能度量之间的差异进行表征。所述至少一个处理装置还被配置为执行以下步骤:至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置中的一者或多者。
这些和其他说明性实施方案包括但不限于方法、设备、网络、方法和处理器可读存储介质。
附图说明
图1是在说明性实施方案中的用于至少部分地基于输入/输出模式亲和度计算而进行存储工作负载分配的信息处理系统的框图。
图2是在说明性实施方案中的用于至少部分地基于输入/输出模式亲和度计算而进行存储工作负载分配的示例性过程的流程图。
图3示出了在说明性实施方案中的不同的存储工作负载的特性的表格。
图4A至图4E示出了在说明性实施方案中的在不同的存储层上的输入/输出模式混合体的不同的性能度量的曲线图和表格。
图5A至图5E示出了在说明性实施方案中的在不同的存储层上的另一个输入/输出模式混合体的不同的性能度量的曲线图和表格。
图6A和图6B示出了在说明性实施方案中的一组输入/输出模式到存储装置组的不同分配。
图7示出了在说明性实施方案中的用于基于输入/输出模式亲和度而生成对存储工作负载分配的建议的过程流。
图8A和图8B示出了在说明性实施方案中的输入/输出模式混合体的输入/输出模式亲和度度量的表格和曲线图。
图9A和图9B示出了在说明性实施方案中的另一个输入/输出模式混合体的输入/输出模式亲和度度量的表格和曲线图。
图10和图11示出了在说明性实施方案中的可用于实现信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文中将参考示例性信息处理系统和相关联的计算机、服务器、存储装置和其他处理装置来描述说明性实施方案。然而,应当了解,实施方案不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所使用的术语“信息处理系统”意图被广泛地解释,以便涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可包括例如至少一个数据中心或包括托管访问云资源的租户的一个或多个云的其他类型的基于云的系统。
图1示出了信息处理系统100,所述信息处理系统根据说明性实施方案被配置为提供至少部分地基于输入/输出(IO)模式亲和度计算而进行存储工作负载分配的功能。信息处理系统100包括一个或多个主机装置102-1、102-2、...102-N(统称为主机装置102),所述一个或多个主机装置通过网络104与一个或多个存储阵列106-1、106-2、...106-M(统称为存储阵列106)通信。网络104可包括存储区域网络(SAN)。
如图1所示,存储阵列106-1包括各自存储由主机装置102上运行的一个或多个应用程序所利用的数据的多个存储装置108。存储装置108说明性地布置在一个或多个存储池中。存储阵列106-1还包括有利于对存储装置108的输入/输出(IO)处理的一个或多个存储控制器110。存储阵列106-1及其相关联的存储装置108是在本文中更一般地称为“存储系统”的示例。本实施方案中的这种存储系统由主机装置102共享,并且因此在本文中也称为“共享存储系统”。在只存在单个主机装置102的实施方案中,主机装置102可被配置为独占使用存储系统。
主机装置102说明性地包括相应的计算机、服务器或能够经由网络104与存储阵列106通信的其他类型的处理装置。例如,主机装置102的至少一个子集可被实现为计算服务平台或其他类型的处理平台的相应的虚拟机。在这种布置中,主机装置102说明性地提供计算服务,诸如代表与主机装置102中的相应的主机装置相关联的一个或多个用户中的每一者执行一个或多个应用程序。
本文的术语“用户”意图被广泛地解释,以便涵盖人类、硬件、软件或固件实体的许多布置,以及此类实体的组合。
在平台即服务(PaaS)模型、基础设施即服务(IaaS)模型、功能即服务(FaaS)模型和/或存储即服务(STaaS)模型下为用户提供计算和/或存储服务,但是应当了解,可使用许多其他云基础设施布置。另外,说明性实施方案可在云基础设施背景之外实现,就像在给定的企业内实现的独立式计算和存储系统的情况下一样。
存储阵列106-1的存储装置108可实现逻辑单元(LUN),所述逻辑单元被配置为存储用于与主机装置102相关联的用户的对象。这些对象可包括文件、块或其他类型的对象。主机装置102利用读取和写入命令以及通过网络104传输的其他类型的命令与存储阵列106-1交互。此类命令在一些实施方案中更具体地包括小型计算机系统接口(SCSI)命令,但是在其他实施方案中可使用其他类型的命令。给定的IO操作(如该术语在本文中广泛地使用)说明性地包括一个或多个此类命令。在本文中对诸如“输入-输出”和“IO”等术语的提及应当被理解为是指输入和/或输出。因此,IO操作涉及输入和输出中的至少一者。
另外,如本文所使用的术语“存储装置”意图被广泛地解释,以便涵盖例如诸如LUN的逻辑存储装置或其他逻辑存储体。逻辑存储装置可被定义为在存储阵列106-1中包括一个或多个物理存储装置的不同部分。存储装置108因此可被视为包括相应的LUN或其他逻辑存储体。
存储阵列106-1的存储装置108可使用固态驱动器(SSD)来实现。此类SSD使用诸如快闪存储器的非易失性存储器(NVM)装置来实现。可用于实现存储装置108的至少一部分的其他类型的NVM装置包括非易失性随机存取存储器(NVRAM)、相变RAM(PC-RAM)和磁性RAM(MRAM)。还可使用多种不同类型的NVM装置或其他存储装置的这些和各种组合。例如,硬盘驱动器(HDD)可与SSD或其他类型的NVM装置结合使用,或者使用来取代所述SSD或其他类型的NVM装置。因此,可使用许多其他类型的电子或磁性介质来实现存储装置108的至少一个子集。
在图1的信息处理系统100中,假定存储阵列106是存储集群105的一部分(例如,其中存储阵列106可用于实现包括通过一个或多个网络互连的多个存储节点的集群存储系统中的一个或多个存储节点),并且假定主机装置102提交将由存储集群105处理的IO操作(例如,作为主机装置102上运行的一个或多个应用程序的存储工作负载的一部分)。假定存储阵列106的存储控制器中的至少一者(例如,存储阵列106-1的存储控制器110)实现用于跨存储阵列106-1的存储装置108(例如,在存储装置108或其部分中的不同存储装置或其部分之间,其中在一些情况下,不同的存储装置108是存储集群105中的不同存储层的一部分或为所述不同存储层提供存储资源)并且在存储阵列106-1与存储阵列106-2至106-M中的一个或多个其他存储阵列之间进行智能存储工作负载分配的功能。这种智能存储工作负载分配功能经由IO模式亲和度计算模块112和存储工作负载分配模块114来提供。
IO模式亲和度计算模块112被配置为识别将在存储系统(例如,存储阵列106-1、存储集群105)上运行的一组存储工作负载。IO模式亲和度计算模块112还被配置为确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的IO模式混合体。IO模式混合体包括:第一组一个或多个IO模式,所述第一组一个或多个IO模式对由识别的所述一组存储工作负载中的两个或更多个存储工作负载中的第一存储工作负载执行的IO操作的类型进行表征;以及至少第二组一个或多个IO模式,所述第二组一个或多个IO模式对由识别的所述一组存储工作负载中的两个或更多个存储工作负载中的第二存储工作负载执行的IO操作的类型进行表征。IO模式亲和度计算模块112还被配置为计算与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的IO模式混合体的亲和度度量。所计算的亲和度度量对(i)同时运行的IO模式混合体与(ii)单独运行的第一组一个或多个IO模式和第二组一个或多个IO模式的性能度量之间的差异进行表征。存储工作负载分配模块114被配置为至少部分地基于所计算的亲和度度量而将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到存储系统的多个存储装置中的一者或多者。
尽管在图1的实施方案中,IO模式亲和度计算模块112和存储工作负载分配模块114被示出为在存储阵列106-1内部以及在存储控制器110外部实现,但是在其他实施方案中,IO模式亲和度计算模块112和存储工作负载分配模块114中的一者或两者可至少部分地在存储控制器110内部或至少部分地在存储阵列106-1外部实现,诸如在主机装置102中的一者上、存储阵列106-2至106-M中的一个或多个其他存储阵列上、在主机装置102和存储阵列106外部的一个或多个服务器上实现(例如,包括在云计算平台或其他类型的信息技术(IT)基础设施上实现)等。另外,尽管图1中未示出,但是存储阵列106-2至106-M中的其他存储阵列可实现IO模式亲和度计算模块112和存储工作负载分配模块114的相应实例。
IO模式亲和度计算模块112和存储工作负载分配模块114的功能的至少部分可至少部分地以存储在存储器中并由处理器执行的软件的形式来实现。
如上所述,在一些实施方案中,假定存储阵列106是存储集群105的一部分。假定存储集群105提供或实现多层存储系统的多个不同的存储层。举例来说,给定的多层存储系统可包括使用快闪存储装置或其他类型的SSD实现的快速层或性能层,以及使用HDD实现的容量层,其中一个或多个此类层可能是基于服务器。如本领域技术人员将清楚明白的,在其他实施方案中可使用各种其他类型的存储装置和多层存储系统。给定的存储层中所使用的具体存储装置可根据给定的实施方案的具体需求而变化,并且在单个存储层内可使用多种不同的存储装置类型。如先前所指示,如本文所使用的术语“存储装置”意图被广泛地解释,并且因此可涵盖例如SSD、HDD、快闪驱动器、混合驱动器或其他类型的存储产品和装置或其部分,并且说明性地包括诸如LUN的逻辑存储装置。
应当了解,多层存储系统可包括多于两个存储层,诸如一个或多个“性能”层和一个或多个“容量”层,其中性能层说明性地提供相对于容量层提高的IO性能特性,并且容量层说明性地使用比性能层相对更低成本的存储来实现。也可能存在多个性能层(每个性能层根据需要提供不同水平的服务或性能),或多个容量层。
图1的实施方案中的主机装置102和存储阵列106被假定为使用至少一个处理平台来实现,其中每个处理平台包括一个或多个处理装置,每个处理装置具有耦合到存储器的处理器。此类处理装置可说明性地包括计算、存储和网络资源的特定布置。例如,在一些实施方案中,处理装置至少部分地利用诸如虚拟机(VM)或Linux容器(LXC),或如在Docker容器或其他类型的LXC被配置为在VM上运行的布置中的两者的组合等虚拟资源来实现。
主机装置102和存储阵列106可在相应的不同处理平台上实现,但是许多其他布置是可能的。例如,在一些实施方案中,主机装置102中的一者或多者和存储阵列106中的一者或多者的至少部分在同一处理平台上实现。存储阵列106中的一者或多者因此可至少部分地在实现主机装置102的至少一个子集的至少一个处理平台内实现。
网络104可使用多个不同类型的网络来实现以互连存储系统部件。例如,网络104可包括诸如互联网的作为全球计算机网络的一部分的SAN,但是其他类型的网络可为SAN的一部分,包括广域网(WAN)、局域网(LAN)、卫星网络、电话或电缆网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型网络的各个部分或组合。因此,在一些实施方案中,网络104包括多种不同类型的网络的组合,每种网络包括被配置为使用互联网协议(IP)或其他相关通信协议进行通信的处理装置。
作为更特定的示例,一些实施方案可利用一个或多个高速局域网络,其中相关联的处理装置利用那些装置的外围部件快速互连(PCIe)卡和诸如无限带宽、吉比特以太网或光纤通道等联网协议彼此通信。在给定的实施方案中,如本领域技术人员将了解的,许多替代的联网布置是可能的。
尽管在一些实施方案中,由主机装置102使用来与存储阵列106通信的某些命令说明性地包括SCSI命令,但是在其他实施方案中可使用其他类型的命令和命令格式。例如,一些实施方案可利用与NVM快速(NVMe)相关联的命令特征和功能来实现IO操作,如在以引用的方式并入本文的2017年5月的NVMe规范,修订版1.3中所描述。在本文公开的说明性实施方案中可利用的这种类型的其他存储协议包括利用构架的NVMe(也称为NVMeoF)以及利用控制传输协议(TCP)的NVMe(也称为NVMe/TCP)。
在本实施方案中,假定存储阵列106-1包括使用存储阵列106-1的快闪存储器或其他类型的非易失性存储器实现的持久性存储器。更具体的示例包括基于NAND的快闪存储器或其他类型的非易失性存储器,诸如电阻式RAM、相变存储器、自旋扭矩转移磁阻式RAM(STT-MRAM)和基于3D XPointTM存储器的Intel OptaneTM装置。进一步假定持久性存储器与存储阵列106-1的存储装置108是分开的,但是在其他实施方案中,持久性存储器可被实现为存储装置108中的一者或多者的一个或多个指定部分。例如,在一些实施方案中,就像在涉及全快闪存储阵列的实施方案中一样,存储装置108可包括基于快闪的存储装置,或者可整体或部分地使用其他类型的非易失性存储器来实现。
如上文所提及,主机装置102与存储阵列106之间的通信可利用PCIe连接或通过一个或多个网络实现的其他类型的连接。例如,说明性实施方案可使用诸如互联网SCSI(iSCSI)、串行附接SCSI(SAS)和串行ATA(SATA)等接口。在其他实施方案中可使用许多其他接口和相关联的通信协议。
在一些实施方案中,存储阵列106可被实现为基于云的系统的一部分。
因此,应当清楚明白的是,如本文所使用的术语“存储阵列”意图被广泛地解释,并且可涵盖可商购的存储阵列的多个不同的实例。
可用于实现说明性实施方案中的给定的存储系统的其他类型的存储产品包括软件定义存储、云存储、基于对象的存储和向外扩展存储。在说明性实施方案中,这些和其他存储类型中的多种存储类型的组合也可用于实现给定的存储系统。
在一些实施方案中,存储系统包括以主动-主动配置布置的第一存储阵列和第二存储阵列。例如,这种布置可用于确保存储在存储阵列中的一者中的数据能利用同步复制过程复制到存储阵列中的另一个存储阵列。跨多个存储阵列的这种数据复制可用于促成系统100中的故障恢复。因此,存储阵列中的一者可相对于操作为备份或恢复存储阵列的另一个存储阵列操作为生产存储阵列。
然而,应当了解,本文公开的实施方案不限于主动-主动配置或任何其他特定存储系统布置。因此,本文的说明性实施方案可使用各种其他布置来配置,举例来说包括主动-被动布置、主动-主动异步逻辑单元访问(ALUA)布置和其他类型的ALUA布置。
这些和其他存储系统可为本文中更一般地称为处理平台的一部分,所述处理平台包括一个或多个处理装置,每个处理装置包括耦合到存储器的处理器。给定的这种处理装置可对应于一个或多个虚拟机或其他类型的虚拟化基础设施,诸如Docker容器或其他类型的LXC。如上文所指示,系统100的此类元件之间的通信可通过一个或多个网络来进行。
如本文所使用的术语“处理平台”意图被广泛地解释,以便涵盖(作为举例而非限制)被配置为通过一个或多个网络通信的多组处理装置和一个或多个相关联的存储系统。例如,主机装置102的分布式实现方式是可能的,其中主机装置102的某些主机装置驻留在处于第一地理位置的一个数据中心中,而主机装置102的其他主机装置驻留在处于可能远离第一地理位置的一个或多个其他地理位置的一个或多个其他数据中心中。存储阵列106可至少部分地在第一地理位置、第二地理位置和一个或多个其他地理位置中实现。因此,在系统100的一些实现方式中,主机装置102和存储阵列106中的不同的主机装置和存储阵列可能驻留在不同的数据中心中。
主机装置102和存储阵列106的许多其他分布式实现方式是可能的。因此,主机装置102和存储阵列106也可以分布式方式跨多个数据中心实现。
下文将结合图10和图11更详细地描述在说明性实施方案中的用于实现系统100的部分的处理平台的附加示例。
应当理解,图1所示的用于至少部分地基于IO模式亲和度计算而进行存储工作负载分配的所述一组特定元件仅通过说明性示例的方式呈现,并且在其他实施方案中,可使用附加或替代元件。因此,另一个实施方案可包括附加或替代的系统、装置和其他网络实体以及模块和其他部件的不同布置。
应当了解,说明性实施方案的这些和其他特征仅通过示例的方式呈现,并且无论如何都不应解释为限制。
现在将参考图2的流程图更详细地描述用于至少部分地基于IO模式亲和度计算而进行存储工作负载分配的示例性过程。应当理解,这个特定过程仅是示例,并且在其他实施方案中,可使用用于至少部分地基于IO模式亲和度计算而进行存储工作负载分配的附加或替代过程。
在此实施方案中,所述过程包括步骤200至206。假定这些步骤由IO模式亲和度计算模块112和存储工作负载分配模块114执行。所述过程开始于步骤200:识别将在存储系统上运行的一组存储工作负载,所述存储系统包括多个存储装置。在步骤202中确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的IO模式混合体。IO模式混合体包括:第一组一个或多个IO模式,所述第一组一个或多个IO模式对由识别的所述一组存储工作负载中的两个或更多个存储工作负载中的第一存储工作负载执行的IO操作的类型进行表征;以及至少第二组一个或多个IO模式,所述第二组一个或多个IO模式对由识别的所述一组存储工作负载中的两个或更多个存储工作负载中的第二存储工作负载执行的IO操作的类型进行表征。与识别的所述一组存储工作负载中的两个或更多个存储工作负载中的给定的存储工作负载相关联的给定的IO模式对以下项进行表征:由给定的存储工作负载存储的存储对象的大小;由给定的存储工作负载存储的存储对象的读取操作与写入操作之比;以及涉及由给定的存储工作负载存储的存储对象的顺序IO操作与随机IO操作之比。
在步骤204中,计算与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的IO模式混合体的亲和度度量。所计算的亲和度度量对(i)同时运行的IO模式混合体与(ii)单独运行的第一组一个或多个IO模式和第二组一个或多个IO模式的性能度量之间的差异进行表征。至少部分地基于所计算的亲和度度量而将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到存储系统的多个存储装置中的一者或多者。
在一些实施方案中,步骤204包括:确定IO模式混合体的两种或更多种不同类型的性能标准的归一化值;确定IO模式混合体中的IO模式中的每一者的归一化值;以及确定IO模式混合体中的IO模式中的每一者的两种或更多种不同类型的性能标准的归一化值的平均值。两种或更多种不同类型的性能标准可包括响应时间、每秒IO操作数(IOPS)和带宽。步骤204还可包括计算以下两者之间的距离:IO模式混合体的两种或更多种不同类型的性能标准的归一化值;以及IO模式混合体中的IO模式中的每一者的两种或更多种不同类型的性能标准的归一化值的所确定的平均值。所计算的距离可包括对应于IO模式混合体的两种或更多种不同类型的性能标准的归一化值的N维空间中的第一点与对应于IO模式混合体中的IO模式中的每一者的两种或更多种不同类型的性能标准的归一化值的所确定的平均值的N维空间中的第二点之间的距离,其中N是两种或更多种不同类型的性能标准的数量。所计算的距离可另外或可替代地包括欧几里德距离度量。
在一些实施方案中,所计算的亲和度度量包括:第一分量,所述第一分量对IO模式混合体是提供性能提高还是提供性能降低进行表征;以及第二分量,所述第二分量对性能提高或性能降低的量进行表征。步骤206可包括至少部分地基于所计算的亲和度度量的第二分量是否超过指定阈值而确定是否修改对识别的所述一组存储工作负载中的两个或更多个存储工作负载的现有分配。响应于确定所计算的亲和度度量的第二分量超过指定阈值并且所计算的亲和度度量的第一分量指示IO模式混合体提供性能提高,步骤206可包括修改对识别的所述一组存储工作负载中的两个或更多个存储工作负载的现有分配以将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到存储系统的多个存储装置的同一子集。响应于确定所计算的亲和度度量的第二分量超过指定阈值并且所计算的亲和度度量的第一分量指示IO模式混合体提供性能降低,步骤206可包括修改对识别的所述一组存储工作负载中的两个或更多个存储工作负载的现有分配以将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到存储系统的多个存储装置的两个或更多个不同子集。响应于确定所计算的亲和度度量的第二分量不超过指定阈值,步骤206可包括维持对识别的所述一组存储工作负载中的两个或更多个存储工作负载的现有分配。
存储系统的多个存储装置可布置为两个或更多个存储层,并且步骤206可包括选择是否将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到两个或更多个存储层中的相同或不同存储层。存储系统可包括包含两个或更多个存储阵列的集群存储系统,并且步骤206可包括选择是否将识别的所述一组存储工作负载中的两个或更多个存储工作负载分配到集群存储系统中的两个或更多个存储阵列中的相同或不同存储阵列。
存储系统通常需要为多个应用程序或存储工作负载提供服务。具有不同IO模式的不同应用程序可在同一时间或类似的时间将数据冲刷或存储到存储装置(例如,SAS快闪、SAS、近线SAS(NL-SAS)等)。在一些情况下,与多个应用程序相关联的IO模式混合体带来提高的存储系统性能。在其他情况下,与多个应用程序相关联的IO模式混合体带来降低的存储系统性能。说明性实施方案提供了用于分析不同的IO模式混合体的亲和度的技术。对于具有高亲和度的混合IO模式,那些IO模式在混合时提高存储系统的性能。对于具有低亲和度的混合IO模式,那些IO模式在混合时降低存储系统的性能(例如,使得所述模式不适合于一起放入同一存储装置或同一组存储装置)。IO模式亲和度可用于引导多个应用程序的IO流以提高存储系统性能(例如,引导到同一盘或存储装置、引导到不同盘或存储装置等)。
不同的应用程序可运行具有变化的IO特性的存储工作负载。因此,为了分析并调节存储系统的性能,理解利用存储系统的应用程序或主机正在生成的存储工作负载的类型非常重要。存储工作负载可根据各种特性来描述,包括但不限于IO大小、读取/写入比、随机/顺序比等。不同的应用程序(诸如网络文件服务器、网络服务器日志、操作系统(OS)分页、交换服务器、工作站、媒体流式传输、在线事务处理(OLTP)数据和OLTP日志记录)可具有不同的存储工作负载。图3示出了表格300,所述表格示出了网络服务器日志记录、媒体流式传输和OLTP日志记录应用程序的不同特性(IO大小、读取/写入比和随机/顺序比)。例如,网络服务器日志记录应用程序的IO大小可为8千字节(KB)、读取/写入比为100%读取,并且随机/顺序比为100%随机。媒体流式传输应用程序的IO大小为64KB、读取/写入比为98%读取和2%写入,并且随机/顺序比为100%顺序。OLTP日志记录应用程序的IO大小为512字节(B)至64KB,读取/写入比为100%写入,并且随机/顺序比为100%顺序。应当注意,这些特定应用程序及其相关联的存储工作负载特性仅通过示例方式呈现,并且在其他实施方案中,可存在各种其他类型的应用程序,所述应用程序的相关联的存储工作负载特性具有不同值。
图4A至图4E和图5A至图5E示出了具有相关联的存储工作负载和IO模式混合体的不同组的应用程序。
图4A至图4E示出了混合有OLTP日志记录工作负载(例如,具有不同的IO大小)的第一组(组1),所述工作负载在不同的存储层(例如,SAS快闪存储层、SAS存储层和NL-SAS存储层)上产生相同类型的存储对象。加载了以下IO模式:P1,即纯IO模式0.5K_100W_100S(IO大小为512B,读取/写入比为100%写入,并且随机/顺序比为100%顺序);P2,即纯IO模式64K_100W_100S(IO大小为64KB,读取/写入比为100%写入,并且随机/顺序比为100%顺序);以及P3,即混合IO模式0.5K64K_100W_100S(IO大小为512B和64KB的混合体,读取/写入比为100%写入,并且随机/顺序比为100%顺序)。图4A至图4D示出了LUN IO大小、LUN带宽、LUN响应时间和LUN IOPS的相应曲线图400、405、410和415。曲线图400、405、410和415中的每一者示出了针对不同的IO模式在SAS快闪、SAS和NL-SAS存储层上在某一时间点处(2月8日,星期二,在07:45:00处)的不同度量的一组值。图4E示出了表格420,其示出了在六小时时段内收集的性能度量,以及针对NL-SAS存储层的每种性能度量的平均值计算。如所示,混合IO模式P3响应时间长于纯P1和P2 IO模式的平均值。IOPS在混合IO模式P3下小于纯P1和P2 IO模式的平均值。混合IO模式P3的带宽也小于纯P1和P2 IO模式的平均值。因此,总体结果表明,针对NL-SAS存储层,混合IO模式P3的性能低于纯P1和P2 IO模式的平均性能。
图5A至图5E示出了混合有OLTP日志记录和媒体流式传输应用程序工作负载的第二组(组2)。在此处,加载了以下IO模式:P1,即纯IO模式0.5K_100W_100S(IO大小为512B、读取/写入比为100%写入,并且随机/顺序比为100%顺序);P2,即纯IO模式64K_10W_100S(IO大小为64KB,读取/写入比为10%写入和90%读取,并且随机/顺序比为100%顺序);以及P3,即混合IO模式0.5K64K_100W_100S(IO大小为512B和64KB的混合体,读取/写入比为100%写入和10%写入/90%读取的混合体,并且随机/顺序比为100%顺序)。图5A至图5D示出了LUN IO大小、LUN带宽、LUN响应时间和LUN IOPS的相应曲线图500、505、510和515。曲线图500、505、510和515中的每一者示出了针对不同的IO模式在SAS快闪、SAS和NL-SAS存储层上在某一时间点处(2月8日,星期二,在10:10:00处)的不同度量的一组值。图5E示出了表格520,其示出了在六小时时段内收集的性能度量,以及针对NL-SAS存储层的每种性能度量的平均值计算。如所示,混合IO模式P3响应时间短于纯P1和P2 IO模式的平均值。IOPS在混合IO模式P3下大于纯P1和P2 IO模式的平均值。混合IO模式P3的带宽也大于纯P1和P2 IO模式的平均值。因此,总体结果表明,针对NL-SAS存储层,混合IO模式P3的性能高于纯P1和P2 IO模式的平均性能。
如从组1和组2的IO模式混合体中可看到,混合IO模式性能并不正好等于相关联的纯IO模式的性能的平均性能。这意味着,在将IO模式混合体冲刷到盘或存储装置之后,可能会存在不同的性能影响。因此,需要确定不同的IO模式混合体对存储系统性能的影响(例如,确定不同的IO模式的亲和度),并且基于其IO模式而选择在何处对应用程序或存储工作负载进行分流以提高存储系统性能。
在常规的方法中,应用程序或存储工作负载可访问同一组存储驱动器或装置,并且与应用程序或存储工作负载相关联的IO模式混合体被一起冲刷到同一组盘或存储装置。此类方法存在各种缺点。如上文所详述,IO模式彼此相互影响,其中一些“低亲和度”IO模式混合体可大幅降低存储系统性能,而其他“高亲和度”IO模式混合体可大幅提高存储系统性能。说明性实施方案提供了用于确定IO模式亲和度,然后相应地将应用程序或存储工作负载布置到存储系统中的不同存储驱动器或存储装置(例如,以类似于高速公路车辆分流的方式布置)的技术解决方案。本文描述的技术解决方案提供了用于分析混合IO模式性能,计算混合IO模式亲和度,评估IO模式混合体亲和度并且基于所评估的亲和度而确定是否应当将IO模式用于同一组盘或存储装置的方法。
IO模式在单独和彼此混合时具有不同的性能特性。本文描述的技术解决方案提供了从性能视角测量IO模式的亲和度的技术,其中可考虑各种性能因素,包括响应时间、IOPS和带宽。IO模式混合体之间的亲和度用于确定IO模式混合时的性能影响。启用定性分析以确定存储系统性能在IO模式混合时是提高还是降低。启用定量分析以计算存储系统性能在IO模式混合时的提高或降低的量。然后根据亲和度对IO流(例如,应用程序或其他存储工作负载)进行分流以提高存储系统性能。
在以下描述中将使用以下符号:
N表示IO模式的类型的数量;
Pk表示特定IO模式,其中1≤k≤N+1,N≥2,并且其中最后一个IO模式PN+1是先前的N个IO模式的混合体;
CR,k表示IO模式Pk的响应时间性能标准,其中对于性能评估,CR,k是反向指标;
NCR,k表示IO模式Pk的响应时间性能标准的归一化,其中
Avg_NCR,k表示N个IO模式的响应时间性能标准的平均值,其中
CI,k表示IO模式Pk的IOPS性能标准;
NCI,k表示IOPS性能标准的归一化,其中
Avg_NCI,k表示N个IO模式的IOPS性能标准的平均值,其中
CB,k表示IO模式Pk的带宽性能标准;
NCB,k表示IO模式Pk的带宽性能标准的归一化,其中
Avg_NCB,k表示N个IO模式的带宽性能标准的平均值,其中
L混合表示在三个性能维度上的混合IO模式位置,其中L混合={NCR,N+1,NCI,N+1,NCB,N+1};
L平均表示在三个性能维度上的N个IO模式位置的平均值,其中L平均={Avg_NCR,k,Avg_NCI,k,Avg_NCB,k};
Dr表示混合IO模式PN+1位置与N个IO模式[P1...PN]位置的平均值的相关距离,其中:
Dr=L混合-L平均
=(NCR,N+1-Avg_NCR,k)+(NCI,N+1-Avg_NCI,k)+(NCB,N+1-Avg_NCB,k)
并且如果值Dr<0,则混合IO模式性能降低,并且如果值Dr≥0,则混合IO模式性能提高;
De表示在三个性能维度(响应时间、IOPS、带宽)上的混合IO模式PN+1的性能与模式[P1...PN]的平均性能的欧几里德距离,其中:
并且De值用于度量混合IO模式PN+1的性能的提高或降低的量;并且
θ表示在IO模式混合之后的性能提高或降低的可接受阈值。
存储系统IO性能可通过若干标准来度量。在以下描述中,假定使用响应时间、IOPS和带宽性能标准来评估IO模式性能。假定存在N种类型的IO模式,其中N≥2。Pk用于表示特定“纯”(例如,非混合)IO模式,其中1≤k≤N+1。PN+1用于表示N个纯IO模式的“混合体”。CR,k表示IO模式Pk的响应时间性能标准,其中对于性能评估,CR,k是反向指标。CI,k表示IO模式Pk的IOPS性能标准。CB,k表示IO模式Pk的带宽性能标准。由于这些性能标准具有不同的单位,因此将每个标准的值归一化以度量混合IO模式的性能结果。
将每种IO模式Pk的性能标准的三个维度归一化。考虑到响应时间性能标准是反向指标,因此为了方便分析性能,在归一化之前取得CR,k的倒数。根据以下等式来确定IO模式Pk的响应时间性能标准的归一化:
根据以下等式来确定IO模式Pk的IOPS性能标准的归一化:
根据以下等式来确定IO模式Pk的带宽性能标准的归一化:
然后针对性能标准中的每一者计算N种类型的纯IO模式([P1...PN])的平均性能水平。根据以下等式来确定响应时间性能标准的平均值:
根据以下等式来确定IOPS性能标准的平均值:
根据以下等式来确定带宽性能标准的平均值:
N种类型的纯IO模式的平均性能水平因此可表示为:
根据以下等式来确定混合IO模式PN+1的性能水平:
然后计算混合IO模式的亲和度。三个性能标准(响应时间、IOPS和带宽)可被视为三维空间,其中L平均和L混合是三维空间中的两个点。根据以下等式来确定混合IO模式的L混合与L平均值的相关距离:
Dr=L混合-L平均
=(NCR,N+1-Avg_NCR,k)+(NCI,N+1-Avg_NCI,k)+(NCB,N+1-Avg_NCB,k)
如果值Dr<0,,则混合IO模式的性能降低。如果值Dr>0,,则混合IO模式的性能提高。如果值Dr=0,,则混合IO模式的性能对彼此没有影响。根据以下等式来确定在三个性能维度(响应时间、IOPS和带宽)上的混合IO模式的性能L混合与平均性能L平均的欧几里德距离:
Dr值用于评估在IO模式混合之后的性能提高或降低。De值用于度量在IO模式混合之后的性能提高或降低量。
然后基于其IO模式的亲和度而生成指南来对应用程序或存储工作负载进行分流。可通过[Dr,De]一起评估P=[P1...PN]IO模式亲和度。将θ假定为在IO模式混合之后的性能提高或降低的可接受阈值。
1.如果De≤θ,则IO模式[P1...PN]在混合时对彼此没有显著的性能影响,并且亲和度是中性的,因此不需要特殊布置。
2.如果De>θ并且Dr>0,则IO模式[P1...PN]在混合时对彼此具有显著的积极的性能影响,并且亲和度是积极的。因此,IO模式适合于混合到同一组盘或存储装置,因为混合IO性能会提高。这在图6A中示出,其中IO模式混合体[P1...PN]601被送往同一组盘或存储装置[D1,D2,D3,...DM]603。
3.如果De>θ并且Dr<0,则IO模式[P1...PN]在混合时对彼此具有显著的消极的性能影响,并且亲和度是消极的。因此,IO模式不适合于混合到同一组盘或存储装置。IO模式P应当替代地分流到不同组的盘或存储装置以减少性能降低。这在图6B中示出,其中IO模式P1601-1、P2601-2、...PN601-N中的不同IO模式被分流到不同组的盘或存储装置[D1,1,D1,2,...D1,M]603-1、[D2,1,D2,2,...D2,M]603-2、...[DN,1,DN,2,...DN,M]603-N。
这种分析方法可由集群存储系统利用来提高IO性能,通过以下方式来利用:将其IO模式具有积极亲和度的那些应用程序或存储工作负载布置到集群存储系统内的同一存储系统或阵列,并且将其IO模式具有消极亲和度的那些应用程序或存储工作负载布置到集群存储系统内的不同存储系统或阵列。这种分析方法可另外或可替代地用于单独的存储系统或存储阵列内(例如,包括在作为集群存储系统的一部分的每个存储系统或存储阵列内),以基于其IO模式是具有积极还是消极的亲和度而将应用程序或工作负载布置在其存储装置中。
图7示出了用于基于其相关联的IO模式的亲和度而确定如何将应用程序或工作负载布置在存储系统中的存储装置组中的过程流700。过程流700开始于步骤701,并且在步骤703中,收集IO模式Pk及其相关联的性能度量数据(例如,响应时间、IOPS、带宽)。在步骤705中,将纯IO模式[P1,P2,...PN]和混合IO模式PN+1性能归一化。在步骤707中计算L混合和L平均值,并且在步骤709中计算Dr和De值。在步骤711中,关于De>θ是否成立进行确定。如果步骤711的确定结果为是,则过程流700前进到步骤713。如果步骤711的确定结果为否,则过程流700在步骤719中结束。在步骤713中,关于Dr<0是否成立进行确定。如果步骤713的确定结果为是,则在步骤715中建议将IO模式Pk分流到不同的存储装置组。如果步骤713的确定结果为否,则在步骤717中建议将IO模式Pk分流到同一存储装置组。在步骤715和717之后,过程流700在步骤719中结束。
图7的过程流700使用上文相对于图4E和图5E所描述的示例IO模式组(例如,组1和组2IO模式)来运行。组1是加载到NL-SAS驱动器的IO模式混合体。Pk=1是NLSAS_05K_100W_100S,Pk=2是NLSAS_64K_100W_100S,并且Pk=3(L混合)是NLSAS_0.5K64K_100W_100S。组2也是加载到NL-SAS驱动器的IO模式混合体。Pk=1是NLSAS_05K_100W_100S,Pk=2是NLSAS_64K_10W_100S,并且Pk=3(L混合)是NLSAS_0.5K64K_100W10W_100S。在此处,假定在IO模式混合之后的性能提高或降低的可接受阈值θ=0.2。
图8A示出了表格800,其示出了组1IO模式在归一化之后的三个性能维度(例如,响应时间的倒数、IOPS和带宽)。如从表格800中可看到,值Dr<0,使得IO模式0.5K_100W_100S和64K_100W_100S具有消极的亲和度,并且量De=0.54612045大于θ。因此,建议将这两种类型的IO模式分流到不同组的存储装置(或干脆不同的存储系统)以减少IO性能的降低。图8B示出了曲线图805,其示出了L混合和L平均值在三维性能标准空间中的位置和关系。
图9A示出了表格900,其示出了组2IO模式在归一化之后的三个性能维度(例如,响应时间的倒数、IOPS和带宽)。如从表格900中可看到,值Dr>0,使得IO模式0.5K_100W_100S和64K_10W_100S具有积极的亲和度,并且量De=0.80692大于θ。因此,建议将这两种类型的IO模式分流到同一组存储装置(或同一存储系统)以提高IO性能。图9B示出了曲线图905,其示出了L混合和L平均值在三维性能标准空间中的位置和关系。
应当了解,上文和本文其他地方描述的特定优点与特定说明性实施方案相关联,并且不需要存在于其他实施方案中。另外,如图中所示和上文所述的特定类型的信息处理系统特征和功能仅是示例性的,并且在其他实施方案中可使用许多其他布置。
现在将参考图10和图11更详细地描述用于实现至少部分地基于IO模式亲和度计算而进行存储工作负载分配的功能的处理平台的说明性实施方案。尽管在系统100的背景下描述,但是在其他实施方案中,这些平台也可用于实现其他信息处理系统的至少部分。
图10示出了包括云基础设施1000的示例处理平台。云基础设施1000包括可用于实现图1中的信息处理系统100的至少一部分的物理和虚拟处理资源的组合。云基础设施1000包括使用虚拟化基础设施1004实现的多个虚拟机(VM)和/或容器组1002-1、1002-2、...1002-L。虚拟化基础设施1004在物理基础设施1005上运行,并且说明性地包括一个或多个管理程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型的操作系统的内核控制组。
云基础设施1000还包括多组应用程序1010-1、1010-2、...1010-L,所述多组应用程序在VM/容器组1002-1、1002-2、...1002-L中的相应的VM/容器组上在虚拟化基础设施1004的控制下运行。VM/容器组1002可包括相应的VM、相应组的一个或多个容器,或在VM中运行的相应组的一个或多个容器。
在图10实施方案的一些实现方式中,VM/容器组1002包括使用包括至少一个管理程序的虚拟化基础设施1004实现的相应的VM。管理程序平台可用于在虚拟化基础设施1004内实现管理程序,其中管理程序平台具有相关联的虚拟基础设施管理系统。底层物理机可包括一个或多个分布式处理平台,所述分布式处理平台包括一个或多个存储系统。
在图10实施方案的其他实现方式中,VM/容器组1002包括使用虚拟化基础设施1004实现的相应的容器,所述虚拟化基础设施提供操作系统级虚拟化功能,诸如支持在裸金属主机上运行的Docker容器,或在VM上运行的Docker容器。容器说明性地使用操作系统的相应的内核控制组来实现。
如从上文清楚明白的是,系统100的处理模块或其他部件中的一者或多者各自可在计算机、服务器、存储装置或其他处理平台元件上运行。给定的此类元件可被视为在本文中更一般地称为“处理装置”的示例。图10所示的云基础设施1000可表示一个处理平台的至少一部分。此类处理平台的另一个示例是图11所示的处理平台1100。
在此实施方案中,处理平台1100包括系统100的一部分,并且包括被表示为1102-1、1102-2、1102-3、...1102-K的多个处理装置,所述多个处理装置通过网络1104彼此通信。
网络1104可包括任何类型的网络,举例来说包括全球计算机网络(诸如互联网)、WAN、LAN、卫星网络、电话或电缆网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型网络的各个部分或组合。
处理平台1100中的处理装置1102-1包括耦合到存储器1112的处理器1110。
处理器1110可包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理电路,以及此类电路元件的部分或组合。
存储器1112可包括呈任意组合的随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器或其他类型的存储器。存储器1112和本文所公开的其他存储器应当被视为更一般地称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的说明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施方案。给定此类制品可包括例如存储阵列、存储盘或包含RAM、ROM、快闪存储器或其他电子存储器的集成电路,或各种其他类型的计算机程序产品中的任何一种。如本文所使用的术语“制品”应当被理解为排除瞬时的传播信号。可使用包括处理器可读存储介质的许多其他类型的计算机程序产品。
处理装置1102-1中还包括网络接口电路1114,所述网络接口电路用于将处理装置与网络1104和其他系统部件介接,并且可包括常规收发器。
假定处理平台1100的其他处理装置1102以与附图中针对处理装置1102-1所示的方式类似的方式进行配置。
同样,仅通过示例的方式呈现附图中所示的特定处理平台1100,并且系统100可包括附加或替代的处理平台,以及呈任意组合的许多不同的处理平台,其中每个此类平台包括一个或多个计算机、服务器、存储装置或其他处理装置。
例如,用于实现说明性实施方案的其他处理平台可包括融合基础设施。
因此,应当理解,在其他实施方案中,可使用附加或替代元件的不同布置。这些元件的至少一个子集可在公共处理平台上共同实现,或者每个此类元件可在单独的处理平台上实现。
如先前所指示,如本文所公开的信息处理系统的部件可至少部分地以存储在存储器中且由处理装置的处理器执行的一个或多个软件程序的形式实现。例如,以在一个或多个处理装置上运行的软件的形式说明性地实现了如本文所公开的用于至少部分地基于IO模式亲和度计算而进行存储工作负载分配的功能的至少部分。
应当再次强调,仅出于说明目的而呈现上文描述的实施方案。可使用许多变型和其他替代实施方案。例如,所公开的技术可适用于多种其他类型的信息处理系统、存储系统、IO模式等。另外,在附图中说明性地示出的系统和装置元件的特定配置以及相关联的处理操作在其他实施方案中可有所改变。此外,上文在描述说明性实施方案的过程中做出的各种假定也应被视为示例性的,而不是对本公开的要求或限制。本领域技术人员将容易清楚明白所附权利要求的范围内的许多其他替代实施方案。
Claims (20)
1.一种设备,所述设备包括:
至少一个处理装置,所述至少一个处理装置包括耦合到存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
识别将在存储系统上运行的一组存储工作负载,所述存储系统包括多个存储装置;
确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的输入/输出模式混合体,所述输入/输出模式混合体包括:第一组一个或多个输入/输出模式,所述第一组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第一存储工作负载执行的输入/输出操作的类型进行表征;以及至少第二组一个或多个输入/输出模式,所述第二组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第二存储工作负载执行的输入/输出操作的类型进行表征;
计算与识别的所述一组存储工作负载中的所述两个或更多个存储工作负载相关联的所述输入/输出模式混合体的亲和度度量,所述计算的亲和度度量对(i)同时运行的所述输入/输出模式混合体与(ii)单独运行的所述第一组一个或多个输入/输出模式和所述第二组一个或多个输入/输出模式的性能度量之间的差异进行表征;以及
至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置中的一者或多者。
2.如权利要求1所述的设备,其中与识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的给定的存储工作负载相关联的给定的输入/输出模式对以下项进行表征:
由所述给定的存储工作负载存储的存储对象的大小;
由所述给定的存储工作负载存储的存储对象的读取操作与写入操作之比;以及
涉及由所述给定的存储工作负载存储的存储对象的顺序输入/输出操作与随机输入/输出操作之比。
3.如权利要求1所述的设备,其中计算所述亲和度度量包括:
确定所述输入/输出模式混合体的两种或更多种不同类型的性能标准的归一化值;
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的归一化值;以及
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的平均值。
4.如权利要求3所述的设备,其中所述两种或更多种不同类型的性能标准包括:响应时间、每秒输入/输出操作数和带宽。
5.如权利要求3所述的设备,其中计算所述亲和度度量还包括计算以下项之间的距离:
所述输入/输出模式混合体的所述两种或更多种不同类型的性能标准的所述归一化值;以及
所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的所述确定的平均值。
6.如权利要求5所述的设备,其中所述计算的距离包括对应于所述输入/输出模式混合体的所述两种或更多种不同类型的性能标准的所述归一化值的N维空间中的第一点与对应于所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的所述确定的平均值的所述N维空间中的第二点之间的距离,其中N是所述两种或更多种不同类型的性能标准的数量。
7.如权利要求5所述的设备,其中所述计算的距离包括欧几里德距离度量。
8.如权利要求1所述的设备,其中所述计算的亲和度度量包括:
第一分量,所述第一分量对所述输入/输出模式混合体是提供性能提高还是提供性能降低进行表征;以及
第二分量,所述第二分量对所述性能提高或所述性能降低的量进行表征。
9.如权利要求8所述的设备,其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置包括:至少部分地基于所述计算的亲和度度量的所述第二分量是否超过指定阈值而确定是否修改对识别的所述一组存储工作负载中的所述两个或更多个存储工作负载的现有分配。
10.如权利要求9所述的设备,其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置还包括:响应于确定所述计算的亲和度度量的所述第二分量超过所述指定阈值并且所述计算的亲和度度量的所述第一分量指示所述输入/输出模式混合体提供所述性能提高,修改对识别的所述一组存储工作负载中的所述两个或更多个存储工作负载的所述现有分配以将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置的同一子集。
11.如权利要求9所述的设备,其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置还包括:响应于确定所述计算的亲和度度量的所述第二分量超过所述指定阈值并且所述计算的亲和度度量的所述第一分量指示所述输入/输出模式混合体提供所述性能降低,修改对识别的所述一组存储工作负载中的所述两个或更多个存储工作负载的所述现有分配以将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置的两个或更多个不同子集。
12.如权利要求9所述的设备,其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置包括:响应于确定所述计算的亲和度度量的所述第二分量不超过所述指定阈值,维持对识别的所述一组存储工作负载中的所述两个或更多个存储工作负载的所述现有分配。
13.如权利要求1所述的设备,其中所述存储系统的所述多个存储装置布置为两个或更多个存储层,并且其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置包括:选择是否将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述两个或更多个存储层中的相同或不同存储层。
14.如权利要求1所述的设备,其中所述存储系统包括包含两个或更多个存储阵列的集群存储系统,并且其中至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置包括:选择是否将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述集群存储系统中的所述两个或更多个存储阵列中的相同或不同存储阵列。
15.一种计算机程序产品,所述计算机程序产品包括非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质中存储有一个或多个软件程序的程序代码,其中所述程序代码在由至少一个处理装置执行时致使所述至少一个处理装置执行以下步骤:
识别将在存储系统上运行的一组存储工作负载,所述存储系统包括多个存储装置;
确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的输入/输出模式混合体,所述输入/输出模式混合体包括:第一组一个或多个输入/输出模式,所述第一组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第一存储工作负载执行的输入/输出操作的类型进行表征;以及至少第二组一个或多个输入/输出模式,所述第二组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第二存储工作负载执行的输入/输出操作的类型进行表征;
计算与识别的所述一组存储工作负载中的所述两个或更多个存储工作负载相关联的所述输入/输出模式混合体的亲和度度量,所述计算的亲和度度量对(i)同时运行的所述输入/输出模式混合体与(ii)单独运行的所述第一组一个或多个输入/输出模式和所述第二组一个或多个输入/输出模式的性能度量之间的差异进行表征;以及
至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置中的一者或多者。
16.如权利要求15所述的计算机程序产品,其中计算所述亲和度度量包括:
确定所述输入/输出模式混合体的两种或更多种不同类型的性能标准的归一化值;
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的归一化值;以及
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的平均值。
17.如权利要求16所述的计算机程序产品,其中计算所述亲和度度量还包括计算以下项之间的距离:
所述输入/输出模式混合体的所述两种或更多种不同类型的性能标准的所述归一化值;以及
所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的所述确定的平均值。
18.一种方法,所述方法包括:
识别将在存储系统上运行的一组存储工作负载,所述存储系统包括多个存储装置;
确定与识别的所述一组存储工作负载中的两个或更多个存储工作负载相关联的输入/输出模式混合体,所述输入/输出模式混合体包括:第一组一个或多个输入/输出模式,所述第一组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第一存储工作负载执行的输入/输出操作的类型进行表征;以及至少第二组一个或多个输入/输出模式,所述第二组一个或多个输入/输出模式对由识别的所述一组存储工作负载中的所述两个或更多个存储工作负载中的第二存储工作负载执行的输入/输出操作的类型进行表征;
计算与识别的所述一组存储工作负载中的所述两个或更多个存储工作负载相关联的所述输入/输出模式混合体的亲和度度量,所述计算的亲和度度量对(i)同时运行的所述输入/输出模式混合体与(ii)单独运行的所述第一组一个或多个输入/输出模式和所述第二组一个或多个输入/输出模式的性能度量之间的差异进行表征;以及
至少部分地基于所述计算的亲和度度量而将识别的所述一组存储工作负载中的所述两个或更多个存储工作负载分配到所述存储系统的所述多个存储装置中的一者或多者;
其中所述方法由至少一个处理装置执行,所述至少一个处理装置包括耦合到存储器的处理器。
19.如权利要求18所述的方法,其中计算所述亲和度度量包括:
确定所述输入/输出模式混合体的两种或更多种不同类型的性能标准的归一化值;
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的归一化值;以及
确定所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的平均值。
20.如权利要求19所述的方法,其中计算所述亲和度度量还包括计算以下项之间的距离:
所述输入/输出模式混合体的所述两种或更多种不同类型的性能标准的所述归一化值;以及
所述输入/输出模式混合体中的所述输入/输出模式中的每一者的所述两种或更多种不同类型的性能标准的所述归一化值的所述确定的平均值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719865.8A CN117331484A (zh) | 2022-06-23 | 2022-06-23 | 基于输入/输出模式亲和度计算的存储工作负载分配 |
US17/860,188 US11914875B2 (en) | 2022-06-23 | 2022-07-08 | Storage workload allocation based on input/output pattern affinity calculations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719865.8A CN117331484A (zh) | 2022-06-23 | 2022-06-23 | 基于输入/输出模式亲和度计算的存储工作负载分配 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117331484A true CN117331484A (zh) | 2024-01-02 |
Family
ID=89293963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210719865.8A Pending CN117331484A (zh) | 2022-06-23 | 2022-06-23 | 基于输入/输出模式亲和度计算的存储工作负载分配 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11914875B2 (zh) |
CN (1) | CN117331484A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886195B2 (en) * | 2016-01-14 | 2018-02-06 | Microsoft Technology Licensing, Llc | Performance-based migration among data storage devices |
JP7458903B2 (ja) * | 2020-05-25 | 2024-04-01 | 株式会社日立製作所 | 性能分析装置および性能分析方法 |
US11561700B2 (en) * | 2021-01-21 | 2023-01-24 | EMC IP Holding Company LLC | Techniques for workload balancing |
-
2022
- 2022-06-23 CN CN202210719865.8A patent/CN117331484A/zh active Pending
- 2022-07-08 US US17/860,188 patent/US11914875B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11914875B2 (en) | 2024-02-27 |
US20230418489A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884935B1 (en) | Cache allocation for controller boards based on prior input-output operations | |
US11099754B1 (en) | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations | |
US11704160B2 (en) | Redistribution of processing groups between server nodes based on hardware resource utilization | |
CN114860150A (zh) | 在存储群集的存储系统之间执行损耗均衡 | |
CN115309538A (zh) | 存储资源之间的基于多指标的工作负荷平衡 | |
US11842051B2 (en) | Intelligent defragmentation in a storage system | |
US11386023B1 (en) | Retrieval of portions of storage device access data indicating access state changes | |
US11366601B2 (en) | Regulating storage device rebuild rate in a storage system | |
US10705853B2 (en) | Methods, systems, and computer-readable media for boot acceleration in a data storage system by consolidating client-specific boot data in a consolidated boot volume | |
Meyer et al. | Supporting heterogeneous pools in a single ceph storage cluster | |
CN117331484A (zh) | 基于输入/输出模式亲和度计算的存储工作负载分配 | |
US20220318050A1 (en) | Migrating Data of Sequential Workloads to Zoned Storage Devices | |
CN116166411A (zh) | 基于预测的性能指标的存储集群负载均衡 | |
US20230333874A1 (en) | Virtual volume placement based on activity level | |
US11803425B2 (en) | Managing storage resources allocated to copies of application workloads | |
US11983432B2 (en) | Load sharing of copy workloads in device clusters | |
US11803305B1 (en) | Wear leveling between storage devices of a storage system based on input/output patterns of storage objects | |
US11556430B2 (en) | Selecting restore processes for applications hosted on storage volumes that are part of group replication sessions | |
US20230214364A1 (en) | Data placement selection among storage devices associated with nodes of a distributed file system cluster | |
US11693600B1 (en) | Latency-based detection of storage volume type | |
US20230176740A1 (en) | Management of input-output operations in user space | |
US11816139B2 (en) | Block-level classification of unstructured data | |
US20240103746A1 (en) | Data placement selection among storage devices associated with storage nodes of a storage system | |
US11893421B2 (en) | Data movement between storage tiers of a clustered storage system based on input/output patterns of storage objects | |
US20230221890A1 (en) | Concurrent handling of multiple asynchronous events in a storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |