CN105573839B - 用于端口选择的基于成本的负载平衡的方法和装置 - Google Patents

用于端口选择的基于成本的负载平衡的方法和装置 Download PDF

Info

Publication number
CN105573839B
CN105573839B CN201510564838.8A CN201510564838A CN105573839B CN 105573839 B CN105573839 B CN 105573839B CN 201510564838 A CN201510564838 A CN 201510564838A CN 105573839 B CN105573839 B CN 105573839B
Authority
CN
China
Prior art keywords
storage
port
given
end adapter
ports
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.)
Active
Application number
CN201510564838.8A
Other languages
English (en)
Other versions
CN105573839A (zh
Inventor
A·巴拉克里施南
F·施韦格
A·维普林斯基
A·唐
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN105573839A publication Critical patent/CN105573839A/zh
Application granted granted Critical
Publication of CN105573839B publication Critical patent/CN105573839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

示例实施例涉及用于端口选择的基于成本的负载平衡的方法和装置。所述方法包括:针对具有可变处理能力的多个存储端口中的每个存储端口确定处理负载以及针对多个存储端口中的每个存储端口根据其处理负载计算延时特性。然后可以根据延时特性和策略向多个存储端口中的所选择的存储端口发送命令。

Description

用于端口选择的基于成本的负载平衡的方法和装置
本专利文档的公开内容的一部分可以包含命令格式和其他计算机语言清单,所有这些受到版权保护。版权所有者不反对任何人对专利文档或者专利公开内容的拓制,因为其出现在专利和商标局的专利文件或者记录中,然而在别的方面无论如何保留所有版权。
技术领域
本申请涉及存储路径管理,并且更具体地涉及用于多路径环境中的端口选择的负载平衡。
背景技术
企业存储系统在大型环境中存储数据并且在环境的大小以及存储和管理数据的技术的类型这两个方面不同于消费者存储系统。存储区域网(SAN)通常用在企业存储系统中以在计算机系统与存储设备之间传送数据。典型的SAN提供通信基础设施,包括计算机系统、存储设备以及组织计算机系统和存储设备之间的连接的管理层之间的物理连接。
在SAN环境中,通常被称为主机的计算机系统经由一个或多个主机总线适配器连接到SAN。在光纤通道SAN的情况下,主机与存储设备之间的物理连接可以包括专用光纤通道主机总线适配器、光纤通道交换机、光纤通道路由器和光导纤维。
存储设备可以包括组合以形成盘阵列的多个盘驱动器。典型的盘阵列包括盘阵列控制器、高速缓存、盘外壳和电源。盘阵列的示例包括从马萨诸塞州的霍普金顿的EMC公司可获得的
Figure BDA0000797351930000011
集成高速缓存盘阵列系统、
Figure BDA0000797351930000012
盘阵列系统。盘阵列控制器是向访问盘阵列的计算机系统提供存储服务的一块硬件。盘阵列控制器可以附接至位于盘外壳中的大量盘驱动器。例如,可以将盘驱动器组织成廉价盘的冗余阵列(RAID)组用于实现冗余和高效性能。RAID是使用在驱动器之间共享或者复制数据的多个盘驱动器的系统。因此,RAID系统可以将多个物理硬盘驱动器向主机呈现为单个逻辑盘驱动器。
盘阵列控制器经由端口连接到SAN。端口用作盘阵列控制器与SAN中的其他设备(诸如主机)之间的接口。每个盘阵列控制器通常包括两个或更多端口。盘阵列控制器可以使用诸如通过到SAN的光纤通道链接的SCSI(小型计算机系统接口)命令协议之类的各种协议来与其他设备通信。在SCSI命令协议中,每个设备被指配唯一的数字标识符,其被称为逻辑单元号(LUN)。另外,使用SCSI协议的通信据说经由路径(即存储路径)在“发起者”(例如主机总线适配器端口)与“目标”(例如存储控制器端口)之间出现。例如,路径可以包括主机总线适配器端口、关联的SCSI总线或者光纤通道线缆、盘阵列端口和LUN。所使用的路径组成的类型随着所使用的存储I/O传输技术而变化。
由路径管理软件来提供对存储路径的管理。路径管理软件是用于管理路径的基于主机的软件解决方案,并且其中,该解决方案能够检测跨路径和总线的负载平衡并且可以标识通过其路由数据的备选路径。路径管理软件的示例是马萨诸塞州的霍普金顿的EMC公司的
Figure BDA0000797351930000021
虽然现有的路径管理软件系统可以监测负载平衡并且标识通过其路由数据的备选路径,然而网络或者存储管理员必须评估网络路径故障。用于检测SAN中的设置和路径问题的现有的方法需要分析从各种用户接口(包括命令行接口(CLI))读取输出的困难。虽然定制编程和脚本可用于监测系统日志和设备状态,然而管理员必须标识和补偿的路径故障的数目随着发起者与目标之间的数据量和物理连接的数目的增加而动态地增加。这可能引起管理员恢复路径的延迟,并且由于使得管理员负责管理路径管理而导致成本增加。另外,检测现有的路径管理系统中的设置和路径问题需要使用定制编程/脚本来监测系统日志和设备状态或者通常经由远程shell访问的基于主机的CLI,以及分析来自CLI的复杂和难以处理的文本输出。
发明内容
示例实施例涉及用于端口选择的负载平衡的方法、系统和计算机程序产品。所述方法包括:针对具有可变处理能力的多个存储端口中的每个存储端口确定处理负载以及针对多个存储端口中的每个存储端口根据其处理负载计算延时特性。然后可以根据延时特性和策略向多个存储端口中的所选择的存储端口发送命令。
附图说明
通过结合附图参考以下描述可以更好地理解所公开的实施例的目的、特征和优点。附图并非意在限制其中所包括的权利要求的范围。为了简洁,每个附图中可以不标记所有的元素。附图并不一定按比例绘制,反而重点在于说明实施例、原理和概念。因此,本公开内容的特征和优点根据结合附图给出的其示例性实施例的以下详细描述将变得更明显,在附图中:
图1是根据本发明的示例实施例的包括具有可变处理能力的多个存储端口的多路径环境的框图;
图2是根据本发明的示例实施例的在先前周期和当前周期内在存储端口处接收的多个命令的时间线;
图3是根据本发明的示例实施例的包括多路径驱动器的主机的框图;
图4是图示根据本发明的示例实施例的方法的流程图;
图5A-5B是图示根据本发明的示例实施例的用于向存储端口查询处理元数据的方法的流程图;
图6A-6B是图示根据本发明的相应示例实施例的用于计算延时特性的方法的流程图;
图7是根据本发明的示例实施例的装置的框图;以及
图8是根据本发明的示例实施例的计算机程序代码的图示。
具体实施方式
图1是根据本发明的示例实施例的包括具有可变处理能力的多个存储端口S1-S6(统称为S)的多路径环境(即数据中心)100的框图。如图1中所图示的,存储系统160可以提供存储卷175用于使用多个主机(例如主机1 1051和主机2 1052)(统称为105)的I/O操作。主机105可以利用在每个主机105处的由多路径驱动器1101、1102(统称为110)管理的端口选择经由从相应的主机端口H1-H6通过多个存储端口S1-S6的多个路径在通信上与卷175耦合。这样的多路径存储环境100通常部署有用于企业目的的冗余。如图1中所图示的,主机1051具有6个到卷125的路径(即H1/S1、H2/S2、H3/S3、H4/S4、H3/S5和H5/S6),并且主机1052具有3个到卷175的路径(即H5/S3、H6/S4和H6/S6)。数据中心100中的这些冗余通过防止数据不可用性(DU)来提供值。
数据存储系统160还可以包括不同类型的适配器或者导向器,诸如主机适配器(HA)或者前端适配器(FA)(注意,FA和FE可以可互换地使用)(例如FA1 1651和FA2 1652)(统称为165)、远程适配器(RA)(未示出)、和/或设备接口盘适配器(DA)(未示出)。在一个实施例中,FA可以用于管理一个或多个主机系统之间的通信和数据操作。在一个实施例中,RA可以被用于例如促进数据存储系统之间的通信。在一个实施例中,DA可以与硬盘驱动器、闪存驱动器等接口。每个适配器可以使用包括具有本地存储器的一个或多个处理器的硬件来实现,本地存储器具有存储在其上的用于结合执行不同的操作来执行的代码。
在一个实施例中,FA可以是光纤通道适配器或者促进主机通信并且可以被特征化为数据存储系统的从主机接收请求的前端部件的其他适配器。还可以将DA特征化为数据存储系统的与物理数据存储设备接口的后端部件。DA、RA、HA和内部存储器(未示出)之间可以存在一个或多个内部逻辑通信路径。例如,一个实施例可以使用一个或多个内部总线和/或通信模块。例如,可以存在可以用于促进数据存储系统160中的DA、HA和/或RA之间的数据传送和其他通信的全局存储器。在一个实施例中,例如在与数据存储系统160的其他DA和其他部件通信时,DA可以使用可以被包括在全局存储器中的高速缓存来执行数据操作。
由多路径I/O(MPIO)驱动器策略采用的传统的自适应负载平衡算法包括静态、循环赛、加权和路径响应时间。这些策略仅考虑可以从主机测量的因素,诸如关于向存储阵列发送的I/O的信息(例如数目、大小、读取或者写入)、所观察到的排队延时、每个路径上的延迟以及最近的I/O的吞吐量,并且不使用实际的阵列端口性能属性。虽然这些策略在存储阵列的前端(FE)端口全部具有相同的处理能力的情况下起作用,然而这样的策略对于跨越具有可变处理能力的存储端口的负载平衡而言是低效的。
另外,在包括多个主机的更复杂的多路径环境中,每个主机不具有对其他主机强加到存储端口上的I/O负载的可见性。虽然传统的MPIO驱动器可以监测每个存储端口的响应时间作为存储端口的负载的指示符,然而响应时间不是负载的很好的指示符(尤其是在循环赛策略中),因为它们基于以下假设来操作:高的响应时间指示深的队列,尽管不存在对存储端口的响应时间是否由于被排队用于处理的I/O的数量或者由于被排队用于处理的I/O的大小而增加的指示。
因此,本发明的示例实施例通过允许多路径主机考虑与存储端口有关的实际的性能数据而非假定存储端口上的负载以及允许多路径主机考虑到存储端口的可变处理能力及其相应的负载来克服现有技术的这些和其他缺陷。本发明的示例实施例提供使得多路径环境中的性能最大化的性能策略,其中FE端口具有可变处理能力和负载。换言之,可以基于总的系统(即板子)需求来向FE导向器指配可变数目的核。因此,特定的FE端口可以能够基于其核的分配来每秒钟处理更多(或者更少)的命令。
存储端口S1-S6可以被提供在相应的FA 165上,每个FA 165具有多个处理核中的相应数目的核(例如FA1 1651上的M个核1701,1-1701,M以及FA2 1652上的N个核1702,1-1702,N)(统称为170)。每个存储端口S1-S6具有用于对在处理前从主机105接收的I/O进行排队的相应的队列Q1-Q6。应当注意,不需要主机端口H1-H6的数目与存储端口S1-S6的数目之间的关系。另外,应当理解,多路径驱动器110可以将卷175呈现为经由存储端口S1-S6可用的逻辑存储单元,从而掩盖导向器结构的内部复杂性。虽然图1省略了DA、RA、全局存储器,以及导向器之间的内部通信总线和/或通信模块(例如FA、DA和RA),然而本领域普通技术人员应当理解,这样的内部通信和部件通过从存储端口S1-S6到卷175的虚线来表示。另外,应当理解,路径可以穿过一个或多个交换机,该一个或多个交换机出于简化的目的从图1中被省略。
在现代存储系统中,可以取决于策略来向每个端口/仿真指配板上的动态数目的核(即板子上的每个FA、DA和RA可以具有指配的某数目的核)。例如,如果板子具有10个核,则策略可以甚至跨FA、DA和RA地将核的数目设置为具有一个额外的核。在其他示例中,将FA处的核的数目设置为很大(例如5个),并且留下其他5个核在DA和RA之间分享。在又一示例中,策略可以设置重的后端。应当理解,核的动态指配可以不从一个FA到另一FA(例如从FA11651到FA2 1652,因为它们在不同的板子上)地指配核;相反,在特定的板子上可以在FA、DA和RA之间动态地指配核。
然而,存储系统160中的全部FA并非相同(由于动态核分配)的事实存在问题。在这样的存储系统中,多路径驱动器110不知道特定存储端口S是否由于队列深度、I/O大小和端口的当前处理能力而性能更佳。然而,虽然在向特定存储端口指配的核的数目已知的情况下多路径驱动器110可以能够选择端口,然而随着FA上可用的端口的数目的快速增长(例如从先前的存储系统生成中的2个端口到当前存储系统生成中的多达64个端口),这样的跟踪变得不可管理。然而,由于可以向FA动态地指配核,所以每个存储端口处的队列深度更有趣,因为其受到向FA指配的核的数目的影响。因此,仅检查队列深度不足以选择端口。
图4是图示根据本发明的示例实施例的方法的流程图。可以结合图1来描述图4。
如图1和4中所图示的,为了执行用于多路径环境100中的端口选择的负载平衡,主机105可以针对具有可变处理能力的多个存储端口S中的每个存储端口S来确定处理负载(405),并且然后针对多个存储端口S中的每个存储端口S根据其处理负载来计算延时特性(430)。主机105然后可以根据延时特性和策略来向多个存储端口S中的所选择的存储端口S发送命令(455)。
为了多路径驱动器110能够确定向哪个存储端口S发送命令(即I/O),多路径驱动器110可以查询存储端口S的以下信息(应当理解,多路径驱动器110查询存储系统160中的每个FA,并且多路径驱动器110可以查询可以返回用于FA上的所有存储端口的值的特定FA上的一个存储端口,或者主机可以查询可以单独返回其自己的值的每个各个存储端口):
K——队列长度;被排队用于在存储端口处处理的命令(即I/O)的数目。应当理解,在某些实施例中,多路径驱动器110可能不知道命令来自哪个主机105(例如主机1 1051还是主机2 1052),而是可能仅知道要发送的命令的数目(即主机端口队列深度)。
M——在先前周期内从该存储端口S上的全部主机端口H接收的命令计数。应当理解,在某些实施例中,如果存储端口S在当前周期内不具有深的队列,则其不一定指示用于先前周期的队列深度(即主机端口H可能在先前周期内已经冲击存储端口S,但是之后排队的I/O已经被处理)。M的值可以指示基于过去深度的未来的队列深度的可能性。
Tproc_cmd——在存储端口上处理单个命令的平均时间。应当理解,命令处理时间可以是命令大小和存储端口资源二者的函数。在本发明的示例实施例中,可以假定处理命令的平均时间在未来将保持大约相同并且可以被计算为受端口的资源和接收到的命令的影响的移动平均数。另外,应当理解,例如,远程复制命令可以倾斜Tproc_cmd的值,但是这样的加权必须被考虑在内,因为其影响存储端口处理命令的能力(即,等待来自远程存储阵列的状态的远程复制;因此,用以处理的时间不仅包括用于本地写入的时间还包括用于远程写入的时间)。
图5A-5B是图示根据本发明的相应示例实施例的用于对用于处理元数据的存储端口S排队的方法的流程图。可以结合图1和图4来描述图5A-5B。
如图1、4和5A中所图示的,为了针对具有可变的处理能力的多个存储端口S中的每个存储端口S确定处理负载(405),主机105可以查询1501、1502存储端口S的命令卷元数据(TPROC_CMD)1551、1552(510)并且查询存储端口S的命令处理时间元数据(515)。如图1和5B中所图示的,主机105可以查询1301、1302存储端口S的当前队列深度(K)1351、1352(52)并且查询1401、1402存储端口S的在先前周期(M)1451、1452内接收的命令的先前数目(525)。
图2是根据本发明的示例实施例的在先前周期205和当前周期215内在存储端口处接收的多个命令(即I/O)210、220的时间线200。如图2中所图示的,存储端口(例如,图1的S1-S6)可以周期性地监测每个周期内在存储端口处接收的命令的数目。例如,在从时间T0到时间T1的先前周期205内,存储端口可以接收第一命令集合210并且跟踪在先前周期205(P)内接收的命令的数目。同样,在从时间T1到时间T3的当前周期内,存储端口可以接收第二命令集合220并且跟踪在当前周期215(C)内知道当前时间T2接收的命令的数目。应当注意,在如图2中所图示的优选实施例中,伴随从主机端口向存储端口发送命令,在当前周期(C)内从主机端口在存储端口处接收的命令的数目被持续更新,使得在当前周期(或者其一部分)内向每个存储端口发送的命令的数目的值(即,从当前周期的开始到当前时间(例如T2)从每个主机端口向每个存储端口发送的命令的数目)可用,而不管整个当前周期215尚未过去的事实。
图3是根据本发明的示例实施例的包括多路径驱动器3101的主机3051(例如图1的主机1051)的框图。如图3中所图示的,多路径驱动器3101可以存储用于多路径环境中的相应的存储端口S和FA的多个值:在先前的周期P 315H1,S1-315H4,S6内接收的命令的数目的多个值、在当前周期C 320H1,S1-320H4,S6内接收的命令的数目的多个值、用于相应的FA T网络3251,1、3251,2的多个传播延时值、以及多个性能策略312。
另外,如图3中所图示的,多路径驱动器310可以具有在主机处的每个主机端口H可用的以下量度:
P——在先前周期内从主机端口H向存储端口S发送的命令的数目。应当理解,P的值和M的值允许多路径驱动器310计算在先前周期内在存储端口S处从所有其他主机310接收的通信量。M-P的值假定其他客户端不改变它们的负载。
C——在当前周期内从主机端口H向存储端口S发送的命令的数目。应当理解,多路径驱动器310可以不确定在当前周期内在存储端口S处从所有其他端口305接收的命令的数目(类似于以上P和M的值),因为在特定的实施例中当前周期是部分的周期。
Tnetwork——从多路径驱动器310到存储系统160的命令的传播延时。应当理解,存在用于命令诸如通过一个或多个交换机从主机105被发送至存储系统160所必需的固有时间。在某些实施例中,主机105可以使用ping类命令(例如,测试单元准备(TUR),其不需要存储系统160处处理以用于响应)来测量Tnetwork。在优选实施例中,每个主机端口/存储端口对监测Tnetwork
然后,多路径驱动器310可以根据性能策略312来选择发送下一命令的端口。在优选实施例中,多路径驱动器312使用以下函数:
Port=min(Tnetwork+((K+C+M-P)×Tproc_cmd))。
应当理解,在优选实施例中,用于发送命令的优选端口的计算并不一定周期性地发生,因为多路径驱动器310应当优先考虑通过计算向存储系统160发送I/O。
图6A-6B是图示根据本发明的相应示例实施例的用于计算延时特性的方法的流程图。可以结合图3和4来描述图6A-6B。
如图3、4和6A中所图示的,为了针对多个存储端口中的每个存储端口S根据其处理负载来计算延时特性(430),主机3051可以确定可归因于网络传播延时(即Tnetwork)的延时特性的第一部分(635)并且计算可归因于处理存储端口处的队列中的命令和向存储端口发送的多个命令的延时特性的第二部分(640)。
在某些实施例中,主机3051可以根据在存储端口上处理单个命令的平均时间(即Tproc_cmd)来计算延时特性的第二部分,诸如通过根据在先前周期内从除了所选择的主机端口之外的所有其他主机端口向存储端口发送的命令的发送数目(即M-P)来计算延时特性的第二部分的第一子部分。
如图6B中所图示的,主机可以通过以下方式根据在先前周期内从除了所选择的主机端口之外的所有其他主机端口向存储端口发送的命令的发送数目来计算延时特性的第二部分的第一子部分:确定在先前周期内在存储端口处从所有主机端口接收的命令的接收到的先前数目(M)(645);以及确定在先前周期内从所选择的主机端口向存储端口发送的命令的发送的先前数目(P)(650)。另外,主机可以根据在当前周期内从所选择的主机端口向存储端口发送的命令的当前数目来计算延时特性的第二部分的第二子部分(C)。
因此,多路径驱动器310依赖于针对上一完整秒的命令信息加上在当前秒或者其部分内主机端口向存储系统160发送的无论什么I/O。考虑到秒的当前部分是使端口选择更精确的努力(即,由于在该秒中可能存在比在先前秒中发送的更多的I/O)。另外,如果使用“最新的”数据帮助提供更精确的计算,则多路径驱动器310可以不同时执行针对每个主机端口的计算时,从而减少计算开销。
图7是根据本发明的示例实施例装置705的框图。装置705可以是系统700的一部分并且包括经由总线735连接的存储程序逻辑715的存储器710、用于执行过程725的处理器720、以及通信I/O接口730。
本发明的方法和装置可以至少部分采用体现在有形介质中的程序代码(即指令)的形式,诸如软盘、CD-ROM、硬盘驱动器、随机存取或者只读存储器、或者任何其他机器可读存储介质。当程序代码被加载到机器(诸如图7的计算机)中并且由该机器来执行时,该机器变为用于实践本发明的装置。当在一个或多个通用处理器上实现时,程序代码与这样的处理器组合以提供类似于特定逻辑电路来操作的独特装置。这样,可以将通用数字机器变换成专用数字机器。
图8示出体现在所示的计算机可读介质860上的程序逻辑855,并且其中逻辑855被编码在配置用于执行本发明的方法从而形成计算机程序产品800的计算机可执行代码中。
用于执行上述方法的逻辑可以被体现为上述系统的一部分,其用于执行参考所示的实施例描述的方法。出于说明本发明的目的,本发明被描述为体现在特定配置中实施并且使用特定逻辑布置,但是本领域技术人员应当理解,设备不限于特定配置,而是仅由本说明书中所包括的权利要求所限制。
虽然出于清楚理解的目的详细地描述了以上发明,然而将是明显的,可以在所附权利要求的范围内实践某些变化和修改。因此,本实现应当被理解为是说明性而非限制性的,并且本发明不限于本文中所给出的细节,而是可以在所附权利要求的范围和等效方案内修改。

Claims (21)

1.一种用于端口选择的基于成本的负载平衡的方法,包括:
针对多个存储端口中的每个存储端口确定处理负载,其中每个存储端口具有动态指配的处理核的量;
针对所述多个存储端口中的每个存储端口根据所述存储端口的处理负载来计算延时特性;以及
根据所述延时特性和策略向所述多个存储端口中的所选择的存储端口发送命令;
其中针对每个存储端口确定所述处理负载包括:
向与存储系统的给定前端适配器相关联的所述多个存储端口中的两个或更多个存储端口的组中的一个存储端口发送查询;以及
从与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的一个存储端口接收针对两个或更多个存储端口的所述组中的每个存储端口的处理负载信息,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
2.根据权利要求1所述的方法,其中针对每个存储端口确定所述处理负载包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令卷元数据,所述命令卷元数据与两个或更多个存储端口的所述组中的每个存储端口相关联,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联;以及
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令处理时间元数据,所述命令处理时间元数据与两个或更多个存储端口的所述组中的每个存储端口相关联,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
3.根据权利要求2所述的方法,其中向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令卷元数据包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询两个或更多个存储端口的所述组中的每个存储端口的当前队列深度,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联;以及
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询针对两个或更多个存储端口的所述组中的每个存储端口的在先前周期内接收到的命令的先前数目,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
4.根据权利要求3所述的方法,其中向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询所述命令处理时间元数据包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询用于在两个或更多个存储端口的所述组中的每个存储端口的上处理单个命令的平均时间,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
5.根据权利要求4所述的方法,其中在与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的每个存储端口上处理单个命令的所述平均时间包括:针对与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的每个存储端口的所述先前周期的处理时间的移动平均数。
6.根据权利要求1所述的方法,其中针对给定存储端口,根据所述存储端口的处理负载来计算针对所述多个存储端口中的每个存储端口的所述延时特性包括:
确定可归因于网络传播延时的所述延时特性的第一部分;以及
计算可归因于在所述给定存储端口处处理队列的命令和向所述给定存储端口发送的多个命令的所述延时特性的第二部分。
7.根据权利要求6所述的方法,其中计算可归因于在所述给定存储端口处处理所述队列的命令和向所述给定存储端口发送的所述多个命令的所述延时特性的所述第二部分包括:
根据在所述给定存储端口上处理单个命令的平均时间计算所述延时特性的所述第二部分。
8.根据权利要求7所述的方法,其中根据在所述给定存储端口上处理单个命令的所述平均时间计算所述延时特性的所述第二部分包括:
根据在先前周期内从除了所选择的主机端口之外的一个或多个主机端口向所述给定存储端口发送的命令的发送数目来计算所述延时特性的所述第二部分的第一子部分。
9.根据权利要求8所述的方法,其中根据在先前周期内从除了所选择的主机端口之外的所述一个或多个主机端口向所述给定存储端口发送的命令的所述发送数目来计算所述延时特性的所述第二部分的所述第一子部分包括:
确定在所述先前周期内在所述给定存储端口处从所有主机端口接收到的命令的所接收的先前数目;以及
确定在所述先前周期内从所选择的所述主机端口向所述给定存储端口发送的命令的所发送的先前数目。
10.根据权利要求8所述的方法,还包括:
根据在当前周期内从所选择的所述主机端口向所述给定存储端口发送的命令的当前数目来计算所述延时特性的所述第二部分的第二子部分。
11.一种电子系统,包括:
多个主机,每个主机包括相应的主机端口;以及
存储系统,包括具有可变处理能力的多个存储端口;以及
计算机程序代码,所述计算机程序代码当在计算机的处理器上被执行时引起所述计算机执行以下的操作:
针对多个存储端口中的每个存储端口确定处理负载,其中每个存储端口具有动态指配的处理核的量;
针对所述多个存储端口中的每个存储端口根据所述存储端口的处理负载来计算延时特性;以及
根据所述延时特性和策略向所述多个存储端口中的所选择的存储端口发送命令;
其中针对每个存储端口确定所述处理负载包括:
向与存储系统的给定前端适配器相关联的所述多个存储端口中的两个或更多个存储端口的组中的一个存储端口发送查询;以及
从与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的一个存储端口接收针对两个或更多个存储端口的所述组中的每个存储端口的处理负载信息,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
12.根据权利要求11所述的系统,其中针对每个存储端口确定所述处理负载包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令卷元数据,所述命令卷元数据与两个或更多个存储端口的所述组中的每个存储端口相关联,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联;以及
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令处理时间元数据,所述命令处理时间元数据与两个或更多个存储端口的所述组中的每个存储端口相关联,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
13.根据权利要求12所述的系统,其中向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询命令卷元数据包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询两个或更多个存储端口的所述组中的每个存储端口的当前队列深度,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联;以及
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询针对两个或更多个存储端口的所述组中的每个存储端口的在先前周期内接收到的命令的先前数目,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
14.根据权利要求13所述的系统,其中向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询所述命令处理时间元数据包括:
向与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的所述一个存储端口查询用于在两个或更多个存储端口的所述组中的每个存储端口的上处理单个命令的平均时间,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
15.根据权利要求14所述的系统,其中在与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的每个存储端口上处理单个命令的所述平均时间包括:针对与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的每个存储端口的所述先前周期的处理时间的移动平均数。
16.根据权利要求11所述的系统,其中针对给定存储端口,根据所述存储端口的处理负载来计算针对所述多个存储端口中的每个存储端口的所述延时特性包括:
确定可归因于网络传播延时的所述延时特性的第一部分;以及
计算可归因于在所述给定存储端口处处理队列的命令和向所述给定存储端口发送的多个命令的所述延时特性的第二部分。
17.根据权利要求16所述的系统,其中计算可归因于在所述给定存储端口处处理所述队列的命令和向所述给定存储端口发送的所述多个命令的所述延时特性的所述第二部分包括:
根据在所述给定存储端口上处理单个命令的平均时间计算所述延时特性的所述第二部分。
18.根据权利要求17所述的系统,其中根据在所述给定存储端口上处理单个命令的所述平均时间计算所述延时特性的所述第二部分包括:
根据在先前周期内从除了主机端口中的所选择的主机端口之外的一个或多个主机端口向所述给定存储端口发送的命令的发送数目来计算所述延时特性的所述第二部分的第一子部分。
19.根据权利要求18所述的系统,其中根据在先前周期内从除了所选择的主机端口之外的所述一个或多个主机端口向所述给定存储端口发送的命令的所述发送数目来计算所述延时特性的所述第二部分的所述第一子部分包括:
确定在所述先前周期内在所述给定存储端口处从所有主机端口接收到的命令的所接收的先前数目;以及
确定在所述先前周期内从所选择的所述主机端口向所述给定存储端口发送的命令的所发送的先前数目。
20.根据权利要求18所述的系统,其中根据在所述给定存储端口上处理单个命令的所述平均时间计算所述延时特性的所述第二部分还包括:
根据在当前周期内从所选择的所述主机端口向所述给定存储端口发送的命令的当前数目来计算所述延时特性的所述第二部分的第二子部分。
21.一种计算机可读存储介质,具有在其上编码的计算机程序代码,所述计算机程序代码当在计算机的处理器上被执行时,引起所述计算机根据存储端口处理负载来执行多路径,所述计算机程序代码包括:
用于针对多个存储端口中的每个存储端口确定处理负载的计算机程序代码,其中每个存储端口具有动态指配的处理核的量;
用于针对所述多个存储端口中的每个存储端口根据所述存储端口的处理负载来计算延时特性的计算机程序代码;以及
用于根据所述延时特性和策略向所述多个存储端口中的所选择的存储端口发送命令的计算机程序代码;
其中针对每个存储端口确定所述处理负载包括:
向与存储系统的给定前端适配器相关联的所述多个存储端口中的两个或更多个存储端口的组中的一个存储端口发送查询;以及
从与所述存储系统的所述给定前端适配器相关联的两个或更多个存储端口的所述组中的一个存储端口接收针对两个或更多个存储端口的所述组中的每个存储端口的处理负载信息,所述两个或更多个存储端口的所述组与所述存储系统的所述给定前端适配器相关联。
CN201510564838.8A 2014-09-30 2015-09-07 用于端口选择的基于成本的负载平衡的方法和装置 Active CN105573839B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/502,327 2014-09-30
US14/502,327 US10725684B2 (en) 2014-09-30 2014-09-30 Method and apparatus for cost-based load balancing for port selection

Publications (2)

Publication Number Publication Date
CN105573839A CN105573839A (zh) 2016-05-11
CN105573839B true CN105573839B (zh) 2020-12-08

Family

ID=55584434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564838.8A Active CN105573839B (zh) 2014-09-30 2015-09-07 用于端口选择的基于成本的负载平衡的方法和装置

Country Status (2)

Country Link
US (1) US10725684B2 (zh)
CN (1) CN105573839B (zh)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360085B1 (en) 2016-12-27 2019-07-23 EMC IP Holding Company LLC Method and apparatus for identifying process use on storage array resources
JP6950311B2 (ja) * 2017-07-12 2021-10-13 富士通株式会社 情報処理システム、監視装置、およびネットワーク機器
US10652206B1 (en) 2017-10-27 2020-05-12 EMC IP Holding Company LLC Storage system with network-wide configurable device names
US10637917B2 (en) * 2018-04-30 2020-04-28 EMC IP Holding Company LLC Host device load balancing using port load reported by storage system
US10757189B2 (en) 2018-04-30 2020-08-25 EMC IP Holding Company LLC Service level objection based input-output selection utilizing multi-path layer of host device
US11050660B2 (en) 2018-09-28 2021-06-29 EMC IP Holding Company LLC Host device with multi-path layer implementing path selection based at least in part on fabric identifiers
US11044313B2 (en) 2018-10-09 2021-06-22 EMC IP Holding Company LLC Categorizing host IO load pattern and communicating categorization to storage system
US10754572B2 (en) 2018-10-09 2020-08-25 EMC IP Holding Company LLC Migrating control of a multi-path logical device from a current MPIO driver to a target MPIO driver
US10880217B2 (en) 2018-12-24 2020-12-29 EMC IP Holding Company LLC Host device with multi-path layer configured for detection and resolution of oversubscription conditions
US11252015B2 (en) * 2019-01-29 2022-02-15 EMC IP Holding Company LLC Determining cause of excessive I/O processing times
US10754559B1 (en) 2019-03-08 2020-08-25 EMC IP Holding Company LLC Active-active storage clustering with clock synchronization
US11175958B2 (en) 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations
US11175959B2 (en) 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations
US11086785B2 (en) 2019-09-24 2021-08-10 EMC IP Holding Company LLC Host device with storage cache aware processing of input-output operations in multi-path layer
US12010172B2 (en) 2019-09-30 2024-06-11 EMC IP Holding Company LLC Host device with multi-path layer configured for IO control using detected storage port resource availability
US11012510B2 (en) 2019-09-30 2021-05-18 EMC IP Holding Company LLC Host device with multi-path layer configured for detecting target failure status and updating path availability
US10884935B1 (en) 2019-09-30 2021-01-05 EMC IP Holding Company LLC Cache allocation for controller boards based on prior input-output operations
US10936522B1 (en) 2019-09-30 2021-03-02 EMC IP Holding Company LLC Performing input-output multi-pathing from user space
US11379325B2 (en) 2019-10-04 2022-07-05 EMC IP Holding Company LLC Path failure information sharing between host devices connected to a storage system
US11366590B2 (en) 2019-10-11 2022-06-21 EMC IP Holding Company LLC Host device with multi-path layer providing dynamic control of one or more path selection algorithms
US11023161B1 (en) 2019-11-25 2021-06-01 EMC IP Holding Company LLC Host device with multi-path layer implementing efficient load balancing for active-active configuration
US11106381B2 (en) 2019-11-27 2021-08-31 EMC IP Holding Company LLC Automated seamless migration of logical storage devices
US11256421B2 (en) 2019-12-11 2022-02-22 EMC IP Holding Company LLC Path selection modification for non-disruptive upgrade of a host device
US11093155B2 (en) 2019-12-11 2021-08-17 EMC IP Holding Company LLC Automated seamless migration with signature issue resolution
US11372951B2 (en) 2019-12-12 2022-06-28 EMC IP Holding Company LLC Proxy license server for host-based software licensing
US11277335B2 (en) 2019-12-26 2022-03-15 EMC IP Holding Company LLC Host device with path selection modification responsive to mismatch in initiator-target negotiated rates
US11099755B2 (en) 2020-01-06 2021-08-24 EMC IP Holding Company LLC Multipath device pseudo name to logical volume mapping for host devices
US11231861B2 (en) 2020-01-15 2022-01-25 EMC IP Holding Company LLC Host device with active-active storage aware path selection
US11461026B2 (en) 2020-01-21 2022-10-04 EMC IP Holding Company LLC Non-disruptive update of host multipath device dependency
US11520671B2 (en) 2020-01-29 2022-12-06 EMC IP Holding Company LLC Fast multipath failover
US11050825B1 (en) 2020-01-30 2021-06-29 EMC IP Holding Company LLC Storage system port usage information sharing between host devices
US11175840B2 (en) 2020-01-30 2021-11-16 EMC IP Holding Company LLC Host-based transfer of input-output operations from kernel space block device to user space block device
US11093144B1 (en) 2020-02-18 2021-08-17 EMC IP Holding Company LLC Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol
US11449257B2 (en) 2020-02-21 2022-09-20 EMC IP Holding Company LLC Host device with efficient automated seamless migration of logical storage devices across multiple access protocols
US11204699B2 (en) 2020-03-05 2021-12-21 EMC IP Holding Company LLC Storage system port maintenance information sharing with host device
US11397589B2 (en) 2020-03-06 2022-07-26 EMC IP Holding Company LLC Snapshot transmission from storage array to cloud using multi-path input-output
US11042327B1 (en) 2020-03-10 2021-06-22 EMC IP Holding Company LLC IO operation cloning using change information sharing with a storage system
US11265261B2 (en) 2020-03-18 2022-03-01 EMC IP Holding Company LLC Access path management based on path condition
US11368399B2 (en) 2020-03-27 2022-06-21 EMC IP Holding Company LLC Congestion aware multipathing based on network congestion notifications
US11080215B1 (en) 2020-03-31 2021-08-03 EMC IP Holding Company LLC Host device providing automated prediction of change intervals to reduce adverse impacts on applications
US11169941B2 (en) 2020-04-09 2021-11-09 EMC IP Holding Company LLC Host device with automated connectivity provisioning
US11366756B2 (en) 2020-04-13 2022-06-21 EMC IP Holding Company LLC Local cached data coherency in host devices using remote direct memory access
US11561699B2 (en) 2020-04-24 2023-01-24 EMC IP Holding Company LLC Input-output path selection using switch topology information
US11216200B2 (en) 2020-05-06 2022-01-04 EMC IP Holding Company LLC Partition utilization awareness of logical units on storage arrays used for booting
US11175828B1 (en) 2020-05-14 2021-11-16 EMC IP Holding Company LLC Mitigating IO processing performance impacts in automated seamless migration
US11099754B1 (en) 2020-05-14 2021-08-24 EMC IP Holding Company LLC Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations
US11012512B1 (en) 2020-05-20 2021-05-18 EMC IP Holding Company LLC Host device with automated write throttling responsive to storage system write pressure condition
US11023134B1 (en) 2020-05-22 2021-06-01 EMC IP Holding Company LLC Addition of data services to an operating system running a native multi-path input-output architecture
US11151071B1 (en) 2020-05-27 2021-10-19 EMC IP Holding Company LLC Host device with multi-path layer distribution of input-output operations across storage caches
US11226851B1 (en) 2020-07-10 2022-01-18 EMC IP Holding Company LLC Execution of multipath operation triggered by container application
US11256446B1 (en) 2020-08-03 2022-02-22 EMC IP Holding Company LLC Host bus adaptor (HBA) virtualization aware multi-pathing failover policy
US11157432B1 (en) 2020-08-28 2021-10-26 EMC IP Holding Company LLC Configuration of block devices based on provisioning of logical volumes in a storage system
US11916938B2 (en) 2020-08-28 2024-02-27 EMC IP Holding Company LLC Anomaly detection and remediation utilizing analysis of storage area network access patterns
US11392459B2 (en) 2020-09-14 2022-07-19 EMC IP Holding Company LLC Virtualization server aware multi-pathing failover policy
US11320994B2 (en) 2020-09-18 2022-05-03 EMC IP Holding Company LLC Dynamic configuration change control in a storage system using multi-path layer notifications
US11032373B1 (en) 2020-10-12 2021-06-08 EMC IP Holding Company LLC Host-based bandwidth control for virtual initiators
US11397540B2 (en) 2020-10-12 2022-07-26 EMC IP Holding Company LLC Write pressure reduction for remote replication
US11630581B2 (en) 2020-11-04 2023-04-18 EMC IP Holding Company LLC Host bus adaptor (HBA) virtualization awareness for effective input-output load balancing
US11204777B1 (en) 2020-11-30 2021-12-21 EMC IP Holding Company LLC Boot from SAN operation support on multi-pathing devices
US11397539B2 (en) 2020-11-30 2022-07-26 EMC IP Holding Company LLC Distributed backup using local access
US11385824B2 (en) 2020-11-30 2022-07-12 EMC IP Holding Company LLC Automated seamless migration across access protocols for a logical storage device
US11543971B2 (en) 2020-11-30 2023-01-03 EMC IP Holding Company LLC Array driven fabric performance notifications for multi-pathing devices
US11620240B2 (en) 2020-12-07 2023-04-04 EMC IP Holding Company LLC Performance-driven access protocol switching for a logical storage device
US11409460B2 (en) 2020-12-08 2022-08-09 EMC IP Holding Company LLC Performance-driven movement of applications between containers utilizing multiple data transmission paths with associated different access protocols
US11455116B2 (en) 2020-12-16 2022-09-27 EMC IP Holding Company LLC Reservation handling in conjunction with switching between storage access protocols
US11651066B2 (en) 2021-01-07 2023-05-16 EMC IP Holding Company LLC Secure token-based communications between a host device and a storage system
US11308004B1 (en) 2021-01-18 2022-04-19 EMC IP Holding Company LLC Multi-path layer configured for detection and mitigation of slow drain issues in a storage area network
US11494091B2 (en) 2021-01-19 2022-11-08 EMC IP Holding Company LLC Using checksums for mining storage device access data
US11449440B2 (en) 2021-01-19 2022-09-20 EMC IP Holding Company LLC Data copy offload command support across multiple storage access protocols
US11467765B2 (en) 2021-01-20 2022-10-11 EMC IP Holding Company LLC Detection and mitigation of slow drain issues using response times and storage-side latency view
US11386023B1 (en) 2021-01-21 2022-07-12 EMC IP Holding Company LLC Retrieval of portions of storage device access data indicating access state changes
US11640245B2 (en) 2021-02-17 2023-05-02 EMC IP Holding Company LLC Logical storage device access in an encrypted storage environment
US11797312B2 (en) 2021-02-26 2023-10-24 EMC IP Holding Company LLC Synchronization of multi-pathing settings across clustered nodes
US11755222B2 (en) 2021-02-26 2023-09-12 EMC IP Holding Company LLC File based encryption for multi-pathing devices
US11928365B2 (en) 2021-03-09 2024-03-12 EMC IP Holding Company LLC Logical storage device access using datastore-level keys in an encrypted storage environment
US11294782B1 (en) 2021-03-22 2022-04-05 EMC IP Holding Company LLC Failover affinity rule modification based on node health information
US11782611B2 (en) 2021-04-13 2023-10-10 EMC IP Holding Company LLC Logical storage device access using device-specific keys in an encrypted storage environment
US11422718B1 (en) 2021-05-03 2022-08-23 EMC IP Holding Company LLC Multi-path layer configured to provide access authorization for software code of multi-path input-output drivers
US11550511B2 (en) 2021-05-21 2023-01-10 EMC IP Holding Company LLC Write pressure throttling based on service level objectives
US11822706B2 (en) 2021-05-26 2023-11-21 EMC IP Holding Company LLC Logical storage device access using device-specific keys in an encrypted storage environment
US11625232B2 (en) 2021-06-07 2023-04-11 EMC IP Holding Company LLC Software upgrade management for host devices in a data center
US11526283B1 (en) 2021-06-08 2022-12-13 EMC IP Holding Company LLC Logical storage device access using per-VM keys in an encrypted storage environment
US11762588B2 (en) 2021-06-11 2023-09-19 EMC IP Holding Company LLC Multi-path layer configured to access storage-side performance metrics for load balancing policy control
US11954344B2 (en) 2021-06-16 2024-04-09 EMC IP Holding Company LLC Host device comprising layered software architecture with automated tiering of logical storage devices
US11750457B2 (en) 2021-07-28 2023-09-05 Dell Products L.P. Automated zoning set selection triggered by switch fabric notifications
US11625308B2 (en) 2021-09-14 2023-04-11 Dell Products L.P. Management of active-active configuration using multi-pathing software
US11586356B1 (en) 2021-09-27 2023-02-21 Dell Products L.P. Multi-path layer configured for detection and mitigation of link performance issues in a storage area network
US11656987B2 (en) 2021-10-18 2023-05-23 Dell Products L.P. Dynamic chunk size adjustment for cache-aware load balancing
US11418594B1 (en) 2021-10-20 2022-08-16 Dell Products L.P. Multi-path layer configured to provide link availability information to storage system for load rebalancing
US12001595B2 (en) 2021-12-03 2024-06-04 Dell Products L.P. End-to-end encryption of logical storage devices in a Linux native multi-pathing environment
US11567669B1 (en) 2021-12-09 2023-01-31 Dell Products L.P. Dynamic latency management of active-active configurations using multi-pathing software
US12001679B2 (en) 2022-03-31 2024-06-04 Dell Products L.P. Storage system configured to collaborate with host device to provide fine-grained throttling of input-output operations
US11620054B1 (en) 2022-04-21 2023-04-04 Dell Products L.P. Proactive monitoring and management of storage system input-output operation limits
US11983432B2 (en) 2022-04-28 2024-05-14 Dell Products L.P. Load sharing of copy workloads in device clusters
US11789624B1 (en) 2022-05-31 2023-10-17 Dell Products L.P. Host device with differentiated alerting for single points of failure in distributed storage systems
US11886711B2 (en) 2022-06-16 2024-01-30 Dell Products L.P. Host-assisted IO service levels utilizing false-positive signaling
US11983429B2 (en) 2022-06-22 2024-05-14 Dell Products L.P. Migration processes utilizing mapping entry timestamps for selection of target logical storage devices
US12001714B2 (en) 2022-08-16 2024-06-04 Dell Products L.P. Host device IO selection using buffer availability information obtained from storage system
US11934659B1 (en) 2022-09-28 2024-03-19 Dell Products L.P. Host background copy process with rate adjustment utilizing input-output processing pressure feedback from storage system
US11989156B1 (en) 2023-03-06 2024-05-21 Dell Products L.P. Host device conversion of configuration information to an intermediate format to facilitate database transitions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209116A1 (en) * 2006-05-23 2008-08-28 Jason Caulkins Multi-Processor Flash Memory Storage Device and Management System
US20100191876A1 (en) * 2009-01-27 2010-07-29 Muppirala Kishore Kumar Method And System For Optimizing Network Input/Output Performance

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941419B2 (en) * 2000-05-24 2005-09-06 Seagate Technology Llc Method and apparatus for disc drive buffer segment management
US6748559B1 (en) * 2000-10-19 2004-06-08 International Business Machines Corporation Method and system for reliably defining and determining timeout values in unreliable datagrams
US7065766B2 (en) * 2002-07-11 2006-06-20 International Business Machines Corporation Apparatus and method for load balancing of fixed priority threads in a multiple run queue environment
US7743198B2 (en) * 2005-09-08 2010-06-22 International Business Machines Corporation Load distribution in storage area networks
GB0608405D0 (en) 2006-04-28 2006-06-07 Ibm Optimisation of the selection of storage device ports
JP4353208B2 (ja) * 2006-06-27 2009-10-28 日本電気株式会社 ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム
US7839788B2 (en) 2008-05-19 2010-11-23 Lsi Corporation Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
US8516147B2 (en) * 2010-02-26 2013-08-20 Simula Innovation Sa Data segmentation, request and transfer method
US9450934B2 (en) * 2013-03-15 2016-09-20 Cox Communications, Inc. Managed access to content and services
US9887924B2 (en) * 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209116A1 (en) * 2006-05-23 2008-08-28 Jason Caulkins Multi-Processor Flash Memory Storage Device and Management System
US20100191876A1 (en) * 2009-01-27 2010-07-29 Muppirala Kishore Kumar Method And System For Optimizing Network Input/Output Performance

Also Published As

Publication number Publication date
US20160092136A1 (en) 2016-03-31
CN105573839A (zh) 2016-05-11
US10725684B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN105573839B (zh) 用于端口选择的基于成本的负载平衡的方法和装置
US8898385B2 (en) Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment
US6820172B2 (en) Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices
US7839788B2 (en) Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
JP4686606B2 (ja) 複数のホスト・バス・アダプタを介して取り付けられた取り外し可能メディア・デバイス間での入力/出力作業負荷の動的分散のための方法、コンピュータ・プログラム、およびシステム
US8825851B2 (en) Management of a virtual machine in a storage area network environment
US20200042195A1 (en) High Availability Storage Access Using Quality Of Service Based Path Selection In A Storage Area Network Environment
US9542320B2 (en) Multi-node cache coherency with input output virtualization
US20190340095A1 (en) Predicting performance of applications using machine learning systems
US20110145452A1 (en) Methods and apparatus for distribution of raid storage management over a sas domain
US10678437B2 (en) Method and device for managing input/output (I/O) of storage device
US9621466B2 (en) Storage area network multi-pathing
US9747040B1 (en) Method and system for machine learning for write command selection based on technology feedback
KR20120052158A (ko) 결정론적 sas 검색 및 구성을 위한 방법
US11119673B2 (en) Optimizing synchronous I/O for zHyperLink
US9141295B2 (en) Load balancing of data reads in storage environments
US10469288B2 (en) Efficient data transfer in remote mirroring connectivity on software-defined storage systems
CN109783002B (zh) 数据读写方法、管理设备、客户端和存储系统
US11301139B2 (en) Building stable storage area networks for compute clusters
CN115729470A (zh) 一种数据写入方法及相关设备
US20070156879A1 (en) Considering remote end point performance to select a remote end point to use to transmit a task
US10956046B2 (en) Dynamic I/O load balancing for zHyperLink
US9253276B2 (en) Multi-protocol bridge with integrated performance accelerating cache
US10528294B2 (en) Provisioning and managing virtual machines from a storage management system
US9876874B2 (en) Network selecting apparatus and operating method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200415

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Applicant before: EMC Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant