CN110417611A - 基于i/o模式的存储***延迟评估 - Google Patents
基于i/o模式的存储***延迟评估 Download PDFInfo
- Publication number
- CN110417611A CN110417611A CN201910360252.8A CN201910360252A CN110417611A CN 110417611 A CN110417611 A CN 110417611A CN 201910360252 A CN201910360252 A CN 201910360252A CN 110417611 A CN110417611 A CN 110417611A
- Authority
- CN
- China
- Prior art keywords
- data
- delay
- workload
- data storage
- training data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及基于I/O模式的存储***延迟评估。一种用于识别数据存储网络中的延迟贡献者的***或方法,其中方法可以包括根据训练数据创建用于数据存储网络的历史工作量指纹模型,并一起监视来自数据存储网络的当前样本数据并将当前样本数据分类为聚类、当前工作量指纹和当前工作量类型。该方法可以进一步包括基于历史工作量指纹模型为当前样本数据分配分数,并将来自当前样本数据的所测量延迟值与历史上所测量的延迟相关因素相关联,以创建延迟分数图表,该延迟分数图表识别针对当前样本数据的引起数据存储网络中的延迟的因素。
Description
背景技术
在数据存储网络中,延迟是存储设备响应或服务数据请求(例如输入/输出(I/O)请求)所需的或使用的时间量。比一般延迟时间更高或更长的延迟时间表示使用数据存储网络的应用程序所经历的数据存储网络的性能退化。传统的数据存储网络性能评估过程测量延迟时间,以确定数据存储网络是否正经历性能退化。然而,传统的基于延迟的性能评估方法已经显示出高度不准确,因为数据存储网络性能受多个因素的影响而非仅仅延迟时间。更具体地,已知数据存储网络性能取决于数据存储网络的应用程序工作量的各种特性,例如诸如I/O请求的大小、CPU饱和度、端口饱和度、磁盘饱和度、队列深度和高速缓存未命中等。因此,传统的用于数据存储网络的基于延迟的性能评估方法易于产生不准确的结果并且错误地指示性能退化。因此,对数据存储网络及其管理员的挑战是如何准确地识别存储环境中是否存在性能问题,以及如果识别出性能问题,则识别性能问题的可能原因。传统的数据存储网络的另一个挑战是识别基于延迟的性能退化的根本原因,因为传统的基于延迟的性能评估技术不能分析或以其他方式确定会引起延迟问题的因素。此外,传统的基于延迟的网络性能评估方法不能提供对即将出现的网络延迟问题的洞察,这对于管理网络活动的网络管理员来说将是期望的。
附图说明
以可以详细地理解本公开的所述特征、优点和目的的方式,通过参考附图中所图示的示例实施例可以获得更具体的描述。然而,应注意,附图仅图示了本公开的典型或示例实施例,并且不应被视为限制其范围。
图1图示用于识别数据存储网络中的延迟阈值的聚类算法结果的示例图。
图2图示八个数据聚类或工作量类型的示例延迟表
图3图示由相关系数排序的因素的示例列表,以示出对所观测到的延迟的可能贡献者。
图4图示用于识别数据存储网络中延迟因素的示例方法。
图5图示由本公开的方法或软件生成的示例健康状况分数图表。
图6图示MAD操作、异常值和构造(即CPU组)的中值的结果的图表。
图7图示可视化异常值影响的示例图。
图8图示示例周期表。
图9图示分配到相等大小的仓中的工作量值和实际对应的工作量指纹的表。
图10图示所处理的数据集的示例图,用于显示与预测延迟相比的实际延迟。
图11图示用于识别数据存储网络中的延迟异常的示例方法。
图12图示用于预测未来数据存储网络工作量模式和高延迟时段的示例方法。
图13图示用于实现本公开的示例实施例的示例硬件配置。
图14图示用于识别数据存储网络延迟指标中的异常值的示例方法,该数据存储网络延迟指标可以有助于数据存储网络中的延迟性能。
具体实施方式
在下文中,参考本公开中所描述的概念的示例或实施例。然而,应该理解,所描述的概念不以任何方式限于本文描述的示例或实施例。相反,以下特征、要素或功能的任何组合(无论是否与不同实施例相关)被发明人视为可用于实现和实践本公开的各方面的可能组合。此外,在本公开中所描述的各种实施例中提供了优于现有技术的许多优点。然而,尽管本公开的实施例可以实现优于其他可能的解决方案和/或优于现有技术的优点,但是否通过给定实施例实现具体的优点也不意在限制本公开的范围。因此,以下方面、特征、功能、实施例和优点意在是说明性的,而非被认为所附权利要求的要素或限制,除非在权利要求中明确阐述。类似地,对“发明”、“创新”、“发明概念”等的任何提及不构成本文所公开的任何发明主题的概括,并且不应被认为是所附权利要求的要素或限制,除非在权利要求中明确阐述。
本公开的实施例提供了用于可靠地捕获、识别数据存储网络的工作量和对其进行评分的***、方法和软件程序,其中工作量通常被定义为贯穿与网络和存储基础架构接口的一组机器的一组I/O特性。本公开的方法或软件可以连续地并且以无监督的方式在机器学习过程中捕获数据存储网络工作量指标,进而所捕获的数据存储工作量指标可以被分类为可以用于对数据存储网络的当前或未来I/O操作进行评分的已知模式,如本文进一步所描述的。用于评估数据存储网络性能的数据存储工作量指标可以包括,例如,延迟、所记录的I/O计数、读/写比率、高速缓存命中百分比、CPU使用率、CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、高速缓存命中/未命中以及本领域中已知的对数据存储网络延迟有影响的其他参数。被评分的数据存储工作量指标提供数据存储网络的I/O延迟的测量,该测量可以与来自跨相似数据存储网络的安装基础(install base)的之前所捕获且被评分的指标(也称为历史指标)进行比较,以评估数据存储网络中的性能退化。
这些被评分的数据存储工作量指标还可以用作数据存储网络可管理性软件图形用户界面的性能和健康状况仪表板的输入,以使得被评分的学习信息可以提供数据存储网络的各方面的性能和/或健康状况的近实时视图。与历史数据存储网络指标相比,这种被评分的学习信息对于数据存储网络管理员解决性能问题是有利的,因为与历史数据存储网络指标相比,该被评分的学习信息可以帮助管理员确定数据存储网络中延迟的实际原因。通过比较历史被评分的工作量指标与当前数据存储网络指标之间的比较而生成的健康状况和性能仪表板在存储网络管理员在调度资源密集型存储或其他数据存储网络密集型操作(如迁移、大数据传递、维护等)上做出网络关键决策时也是有利的。
在本公开的示例中,***、方法或软件包可以操作以用于从数据存储网络中提取延迟有关的的数据参数或指标,以创建数据存储网络的工作量的唯一历史表示。提取过程可以,例如本地地通过驻留在各个数据存储设备上的存储设备管理软件、在数据存储网络的管理计算机或服务器上发生、在与数据存储网络相关联的控制或监视软件上发生、在经由监视来自/传输至数据存储网络的通信的云中发生,远程地通过被配置为监视传输至或来自数据存储网络的数据的硬件或软件、或通过访问数据存储网络的软件应用程序而发生,该数据存储网络配置有允许收集评估数据存储网络性能所需的数据存储网络工作量指标的传感器或数据监视能力。数据存储网络的工作量的唯一历史表示可用于与来自较大平台(例如安装基础)上的数据存储网络的最近数据存储网络工作量或参数进行比较,以识别数据存储网络的性能问题。
本公开的示例实施例提供了通过查看在采样间隔期间发生的不同类型的I/O的直方图数据来生成数据存储网络的工作量模式的唯一历史表示的能力。本公开的示例实施例可以通过将当前I/O过程的模式与数据存储网络的唯一历史表示进行比较来分析正在进行I/O过程的存储网络或***,以找到相应的或相关的历史表示。对于与正在被分析的当前I/O过程相关的唯一历史表示,如果历史表示中的数据服务时间或延迟是“X”,则本公开的实施例可以分析跨安装基础(installed base)收集的样本,以确定服务时间或延迟“X”位于特定延迟百分位数范围内,并且进一步地确定该百分位数范围是否使当前数据存储网络***过载。总之,本公开的实施例可以捕获数据存储网络的当前表示,并将当前表示与表示正常或典型操作参数的相应历史表示进行比较,以确定当前表示中的延迟在目前特定工作量条件下是否位于符合可接受的数据存储网络性能的正常范围内。
在本公开的示例中,根据在数据结构中上报的采样间隔内的存储网络数据延迟指标的总值和平均值,来创建工作量指纹模型(workload fingerprint model)。工作量指纹模型可以是表示数据存储网络的多个与延迟有关的指标的多维向量,其中与延迟有关的指标可以包括所记录的I/O计数、读/写比率、高速缓存命中百分比、CPU使用率、CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、高速缓存命中/未命中、和/或对于数据存储网络已知的或能够影响数据存储网络中延迟的各种其他指标。因此,与仅基于延迟时间测量值的传统数据延迟性能测量技术不同,在本公开的示例中使用的工作量指纹模型可以基于与数据存储网络的延迟相关的多个参数。
表示工作量指纹模型的多维向量可以被表示为二进制直方图或大致平行矩形的图,其中矩形的面积与变量的频率成比例并且矩形的宽度等于数据类间隔。示例公开可以使用二进制直方图来创建带标记的点数据结构(labelled point data structure),其中带标记的点数据结构中的每个点表示具有各种大小的I/O在若干固定大小存储区(bucket)中的数量的分布,该分布可以被称为I/O大小的直方图数据。例如,可以通过数据存储延迟问题的特定类型的相关性来选择存储区大小。例如,大小可以是1k、1-2k、2-4k、4-8k......1-2m、2-4m,并且如果在5分钟间隔内有十个大小为4k的I/O和五个大小为128k的I/O,然后带标记的点看起来像[0,0,0,10,0,0,0,0,5,0,0,0...]。其他指标,例如“读取”和“写入”I/O的数量和/或命中或未命中高速缓存的读取和写入的数量或比率,也可以被作为因素考虑到带标记的点数据结构中。例如,如果在5分钟间隔内有二十个读取请求和三十个写入请求,则读取与写入的比率,即20/30=0.66作为附加参数被添加到带标记的点。此外,在相同的5分钟间隔期间,如果从高速缓存中提供了五个读取请求和十个写入请求,则5/20=0.25和10/30=0.33作为附件参数也被添加至带标记的点,0.25和0.33是读取和写入的高速缓存命中率。例如,通过测量多少读取未命中高速缓冲存储器,使用命中/未命中率给出I/O的随机性的指示。
在属于存储***的所有样本中以及属于相同类的存储***的所有样本中的这些点中每个点的集合形成由本公开的***、方法或软件使用的已知历史数据或训练数据,用于比较和分析数据存储网络中的当前数据存储延迟趋势或问题。进行训练以获得数据或历史数据的训练通常可以被定义为收集数据以支持创建能够识别数据中相似或重复模式的方程或变换函数。
对带标记的点数据结构或训练数据运行诸如k均值聚类算法等的聚类算法,其中聚类大小设置为8,以产生八个作为工作量指纹的工作量类型的聚类。K均值聚类被称为向量量化(vector quantization)的数学方法,其用于数据挖掘中的聚类分析,其中k均值聚类旨在将“n”个观测值划分为“k”个聚类,其中每个观测值(observation)属于具有最接近的均值的聚类,该均值充当该聚类的原型(prototype)。这实质上导致将数据空间划分为具有在可比空间范围内的聚类的Voronoi单元(cell)。作为示例,Voronoi图是基于到平面的特定子集中的点的距离将平面划分成区域。通常称为种子、位点或生成器的那组点是预先指定的,并且对于每个种子,存在相应区域(Voronoi单元),该相应区域由与任一其他种子相比更靠近该种子的所有点组成。大小大于或小于八的其他聚类被预期与k均值聚类算法一起使用,然而,实验数据表明,在使用数据存储网络的最小开销的情况下,将聚类大小设置为八会意外地产生最佳结果。运行k均值聚类算法产生八个数据聚类,其中每个数据聚类是可以被称为工作量指纹的工作量类型。可选地,假设高斯模型被设为带标记的点数据结构分布,示例实施例可以使用替代的聚类算法(例如高斯混合模型)在带标记的点数据结构上运行。
在运行聚类算法之后,每个产生的聚类将包含多个样本,某些聚类具有比其他聚类更多的样本。在图1中示出的示例数据分析100中,跨越120个存储***根据600,000万个样本导出的聚类在跨所有样本的延迟百分位数值相对于每个聚类的每次读取或写入操作的延迟值的图中示出。图1的四个图示出了具有从左到右逐渐增加的斜率直到遇到弯部102的延迟百分位数(latency percentiles)中的每个,其中在弯部(elbow)102处,延迟百分位数增加到接近垂直的斜率,如在104处所示的。弯部102在图中的位置指示四种类型的工作量类型中每种的延迟阈值。因此,每个特定工作量类型的大多数I/O操作服务的时间小于或低于所识别的弯部102。因此,弯部位置可用于确定描绘特定工作量的正常延迟和高延迟之间边界的阈值,即,高延迟高于弯部/阈值或位于弯部/阈值右侧,而正常延迟低于弯部/阈值或位于弯部/阈值左侧。
一旦识别出延迟阈值,则可以为每个工作量类型或聚类生成延迟表。图2图示根据聚类算法的八个数据聚类或工作量类型的延迟表。该表图示由八个聚类、***数量以及属于训练数据中每个聚类的样本数量来识别的每个工作量指纹的不同延迟阈值。延迟百分位数图和延迟时间表为输入数据存储指纹的实时比较和分析提供了基本基准。
一旦为数据存储网络创建了延迟表和延迟百分位数图,则示例实施例可以在采样时间段上监视输入样本/带标记的点,并且将输入数据分类为聚类、工作量指纹和工作量类型。因此,示例实施例可以就地部署在本地存储单元上的数据存储单元管理软件内的数据存储网络中。管理软件可以实时地记录来自存储***的每个新输入样本或带标记的点并对来自存储***的每个新输入样本或带标记的点进行分类。本公开的方法、***或软件收集样本或样本以其他方式被传输至本公开的方法、***或软件,并且所训练的k均值算法被应用以将每个样本分类为特定聚类、工作量指纹和工作量类型,并且针对样本所记录的延迟值用于为样本分配分数,该分数取决于样本满足或适合的延迟表的哪一列。例如,如果样本属于聚类1且延迟在1.31和1.4之间,则样本被分配分数1,类似地,如果它落在91%列中,则该样本分数为2。分数基于该值所在的表中的位置,例如,分数从标记90%开始。位于标记90%中的值得到分数为1,位于标记91%中的值得到分数为2等等。因此,位于标记98%中的值得到分数为9,且位于标记99%中的值得到最高分数10。
示例实施例可以使用关于数据的时间序列相关性来确定在感兴趣的特定区间期间哪个(哪些)因素主要对所观测的延迟起作用。所测量的具有大于零的分数的样本的延迟可以与存储***中的其他相关因素的观测值相关联。示例因素包括CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、队列深度、高速缓存命中/未命中以及已知的对数据存储网络延迟有影响的其他参数。具有最高相关系数的因素被确定为是引起高延迟的主要因素的最大可能性。根据相关系数排序的因素示例列表示出哪些因素是对图3中示出的所观测的延迟的可能贡献者。
通过查看哪些相关因素随所观测的延迟增加或减少,可以使用时间序列相关性(correlation)来确定哪些因素对延迟起作用。本质上,相关方法在规定的时间段内测量潜在的贡献因素,并与这些因素上报的矩阵和该时期期间的特定点处的延迟值相关联。使用该相关性,可以应用适当加权的方法来确定在具体时间点处有多少延迟或服务时间与所识别的、被确定为与所观测的延迟同时产生的贡献因素相关。
不同的数据存储网络使用不同的硬件和软件,并且进一步地在数据存储网络内,通常看到不同的软件和硬件。在示例***中,可以存在五个存储***,每个存储***运行不同的软件应用程序,例如Oracle、VMWare、SQL、Tapana等。当传统的延迟监视方法查看存储***针对这些不同的应用程序所看到的I/O模式时,它将不能准确识别延迟因素,因为每个软件应用程序具有不同的工作量指纹。本方法和软件通过使用如上讨论的无监督学习技术来创建不同工作量指纹的存储区来克服该缺点,这些存储区不是应用程序专用的,而是表示反映各种应用程序中存在的延迟贡献因素的不同类型的I/O模式。因此,尽管所有数据存储网络管理软件包或数据存储单元都不包括生成准确地识别直接导致延迟的因素所需的数据指标的软件,但是本公开的实施例能够查找数据存储网络中的可以识别延迟因素的不同的模式,无论数据存储网络的底层软件应用程序如何。
返回到图3中所图示的延迟表,本公开的示例方法或软件确定例如存储***是否正在执行属于工作量指纹A的I/O模式,并且如果服务时间是X,则该方法或软件能够通过分析跨安装基础收集的样本来确定X服务时间位于来自图3中的延迟表的特定百分位数值中。示例方法或软件将通常确定使***过载的样本或引起超过所识别的阈值的延迟的样本,由该工作量指纹A的服务经历的或在该工作量指纹A的服务期间经历的延迟在第95百分位数或更高处,在与同一仓(bin)中的延迟相比时,这也指示它是一个异常值。因此,本公开的示例实施例能够通过使用延迟阈值和百分位数值来识别异常值。
图4图示用于识别数据存储网络中的延迟因素的示例方法。该方法开始于401,在401处,使用数据延迟指标的总和以及平均值来创建工作量指纹模型。该方法进行到402,在402处,创建带标记的点数据结构,其中数据结构的每个点表示具有不同大小的I/O在固定大小的存储区中的数量的分布,然后该分布由直方图数据表示。直方图数据可以包括(如上所述的)附加因子,例如I/O读/写比率、高速缓存命中百分比等。该方法继续到403,在403处在带标记的点数据结构上运行诸如K均值聚类算法或高斯聚类算法等聚类算法,其中将聚类大小设置为例如八,以产生表示工作量指纹的八个工作量类型的聚类。在404处,该方法可以为每个所识别的聚类或工作量类型识别高延迟的阈值,并生成相应的延迟表。方法框401-404可用于生成历史或训练数据,即工作量指纹,用于分析输入数据以识别数据存储网络中的延迟问题。
在405处,该方法监视在采样时间段内有待被分析的数据流的输入样本/带标记的点,并将带标记的点分类为聚类、工作量指纹和/或工作量类型。在406处,基于延迟表,使用所上报的延迟值为有待被分析的输入数据分配分数。在407处,该方法将所测量的延迟与被识别为延迟的贡献者的观测值(和其他因素)相关联,以创建识别导致数据存储网络延迟的因素的延迟分数图表。因此,在406和407处,该方法将有待被分析的数据流的被测量的指标与所记录的历史数据或训练数据(历史工作量指纹)进行比较,以识别对数据存储网络中的延迟起作用的或引起数据存储网络中延迟的因素。从特定存储设备或网络捕获的数据可以通过如上所述的方法周期性地运行,并且根据400-407对每次迭代或观测进行分类并评分。然后这些分数被用于识别使用性能作为指示符来指示***的健康状况的“红色”、“黄色”和“绿色”的代表性时段,其中平均分数1-4可以被归类为“黄色”,平均分数4-7被归类为“红色”,且平均分数7-10被归类为“***”,如图5所示。以5分钟间隔的粒度进行的观测可以积累并按小时平均,然后可以如用户所期望的按天和周积累。因此,本公开的示例实施例能够使用各种测试或采样间隔(包括按每分钟、每小时、每天、每周、每月等)为数据存储网络提供性能分数。
在数据存储网络中,当存储***承受比其被设计或估算的更大的工作量时,几乎总是引起性能问题。但是,还存在很大百分率的如下情况:数据存储网络中的性能问题是由于***误配置或数据存储网络操作软件中的漏洞导致的。本公开的示例实施例识别数据存储网络中的异常,该异常指示存在误配置或数据存储网络管理软件中的漏洞。
本公开的示例实施例可以使用统计方法来识别数据存储网络延迟指标中的异常值或异常。用于识别异常值的统计方法可以是绝对偏差数学运算。类似地,中位数绝对偏差(Median Absolute Deviation,MAD)的统计操作可用于识别由在存储***中形成逻辑构造的一组对象上报的数据存储网络延迟指标中的异常值或异常。示例逻辑构造包括卷、磁盘、磁盘端口、CPU核等。本公开的示例实施例可以检测由任何一组上报的指标中是否存在异常值。在统计学中,中位数绝对偏差是量化数据的单变量样本的可变性的测量。对于单变量数据集X1,X2,...,Xn,MAD被定义为与数据的中位数的绝对偏差的中位数:MAD=median(|Xi-medina(X)|),因此,从数据的中位数的残差(residual)(偏差)开始,MAD将产生数据集的绝对值的中位数。本公开的示例实施例上报MAD值、超过MAD值三倍的样本数量(是所寻求的异常值),以及异常值的中值(median value)。如果逻辑构造中的对象组同等地共享负载,则通常将不存在异常值,但是如果对象组中的一个对象比其他对象更饱和,则较高的异常值计数以及异常值的中位数将使用MAD提供数据来指示逻辑构造由于误配置或由异常值识别的软件漏洞而失衡。图6中示出了用于图示MAD操作的结果、异常值和构造(即本示例中的CPU组)的中值的图表。
本公开的示例实施例可以生成通过使用MAD检测到的异常的概要,并且可以在感兴趣的时段针对数据存储网络的性能图表上报该概要。在感兴趣的时期内,异常通常存在于所有样本时间观测值中,因此在概要中上报每个样本的异常值的平均百分比和平均中值,以提供异常值对性能影响的概述。对于特定感兴趣的时段,中值在0-1范围内标准化,以使得直接基于直观的阈值对中值进行评分或标记。作为示例,在1-4之间的标准化的中位数可以被分配“中等”的分数/标签,在4-7之间的标准化的中位数可以被分配“高”的分数/标签,而在7-10之间的标准化的中位数可以被分配“非常高”的分数/标记,如图6所示。每个样本观测值可以具有不同的异常值的影响,并且本公开的方法或软件使用中值作为分数来区分影响因素并且通过使用例如图7中示出的延迟图表上的各种阴影或颜色来使该差异可视化。异常值的百分比显示在图表上的每个可视化样本观察值范围内,用于管理和维护数据存储网络。
本公开的示例实施例可以基于来自图6中表的数据是高、中等或正常来分析该数据,以生成图7中的异常表示图表。异常图表为用户提供调出工具,该调出工具可以允许鼠标悬停显示相应的异常原因和相关的指标。图7中图示的分数可以被认为是异常值的百分比。当用户查看此信息时,他们会在图表中例如时间等于五和六处看到峰值。在时间五和六处,存在延迟尖峰,并且阴影向用户指示与其他区域相比,该地区期间异常对异常值的影响非常大。因为在时间五和六处的延迟很高,并且在这时段期间异常的主要影响是CPU分数,所以这为用户针对特定部件或软件级别的下一方面的性能故障排查提供了指示。如果没有图7的图形表示,则用户将不得不通过相关性查看***在每个不同时间点处所记录的工作矩阵、手动查找异常值、并手动尝试将异常值与原因因素相关联,这可能花费大量时间来完成。
图14图示用于识别数据存储网络延迟指标中的、可能对数据存储网络中的延迟性能(performance)起作用的异常值的示例方法。该方法在1401处开始,在1401处捕获数据存储网络指标。指标通常由数据存储网络中的各个驱动器记录,例如,由存在于驱动器上的管理软件记录。指标也可以由各个驱动器外部的其他设备、传感器或处理器以及通过各种网络或云(例如,(一个或多个)远程计算***)来捕获。用于确定异常的示例指标可以包括延迟时间、卷的数量或类型、磁盘的数量或类型、磁盘端口的数量或类型及它们的使用百分比、CPU分数。应用程序工作量等。一旦捕获到数据存储网络指标,该方法可以进行到1402,在1402处识别高延迟段。识别高延迟段的过程可以经由本文所述的任一方法完成,诸如参考图4描述的示例方法。
在1403处,可以将统计偏差算法(例如MAD)应用到所识别的高延迟段附近的数据存储网络延迟指标。应用MAD操作以统计地识别由数据存储网络和/或数据存储网络中的各个驱动器上报的指标中的异常值。在另一个示例中,应用MAD操作统计地识别在数据存储网络***中形成构造(construct)的对象组中的异常值。一旦应用了统计偏差算法,该方法进行到1404,在1404处,识别出超过所计算的统计偏差的3倍的所有样本。例如,在1404处,具有等于或大于所统计地计算的MAD值的3倍的值的所有样本被识别为数据集中的异常值。在1405处,计算被识别为等于或大于MAD的3倍的样本的中值,其是数据中的异常值。
如上所述的,当在数据存储网络中均等地共享负载时,因为所有数据样本将产生小于统计偏差的3倍的MAD,所以将不会识别出任何异常值。然而,当对象组中的一个对象比其他对象更饱和时,则根据统计偏差的异常值计数以及所计算的异常值计数的中值提供了逻辑构造可能具有由于误配置或者软件漏洞而导致的失衡的指示。因此,如关于图6中所图示的异常值表所讨论的,在步骤1406处,该方法可以可选地生成在指标中检测到的异常的概要表,并且针对样本间隔或感兴趣的时段上报与性能对照的数据,以向数据存储网络管理员图示该比较。概要表可以包括所计算的异常值严重程度的分数或等级,如表6的表中右边一列所示出的为正常、中等、高、非常高等。该表对于数据存储网络管理员是有用的,以便可视化异常的相关性和重要性。该方法进行到步骤1407,在1407处,在样本持续时间期间所计算的中值被标准化在0-1范围内。该标准化允许示例方法基于预定阈值对值进行评分或标记,其中预定阈值可以是正常的、中等的、高的和非常高的,如上基于图6关于标准化的讨论中所述的。
图11图示用于识别数据存储网络中的延迟异常的示例方法。在1101中,该方法包括根据在数据存储网络安装基础上捕获的数据来训练或生成延迟指标的机器学习模型。在1102中,该方法针对所训练的指标创建被训练的工作量指纹模型,如上所述。被训练的工作量指纹模型表示数据存储网络安装基础的延迟特性。此外,如上所述的,还可以生成与工作量指纹模型相对应的延迟表。在1103中,将被训练的工作量指纹模型合并到存储设备中、打包并随各个存储设备的存储管理或控制软件一起运送。可替代地,被训练的工作量指纹模型可以被合并到数据存储设备管理计算机、服务器、网络或管理往返数据存储设备的通信的其他设备或***中。在1104中,管理软件分析来自与管理软件相关联的存储设备或***的实时或最近的本地样本数据,并将样本数据分类到被训练的工作量指纹模型中的一个。在1105中,管理软件可以以预定间隔(例如每分钟或每五分钟)连续地轮询来自存储设备数据,其中轮询包括提取(pull)由在采样间隔期间提供服务***的具有不同种类的I/O的***所记录的数据,并将轮询的数据分类到被训练的工作量指纹模型中。
在1106中,当前I/O的被分类数据或指纹模型与延迟的百分位数分数关联,其也可以被包括为随正在被分析的存储设备的管理软件一起运送的软件控制方法的一部分,并且因此,这种关联性可以本地地发生在管理软件中。在1107中,该方法确定由存储设备在特定时间点上报的延迟,并且利用与工作量指纹模型一起生成的延迟表对该延迟进行评分。在1108中,一旦识别出该***正在经历延迟问题,则该方法通过延迟分数图表识别贡献因素而进行到击破延迟问题。在1109中,一旦识别出导致延迟的因素,该方法识别异常,例如CPU核分配工作量的方式失衡或后端端口如何分配工作量。在1110中,该方法可以将这个信息编译成用于呈现给用户的健康状况图表。
本公开的示例实施例可以使用本文已经描述的方法的部分来预测未来的数据存储网络工作量模式和高延迟时段。本公开的示例实施例被配置为将数据中心工作量分类为可以与历史模式或指纹进行比较以识别异常的工作量模式或工作量指纹。使用历史工作量指纹数据,本公开的示例实施例还可以预测和预报哪些特定的未来时间段可能由特定工作量指纹支配。为了实现该预测,本公开的示例实施例首先通过工作量值来近似工作量指纹,该工作量值是连续随机变量,为针对该工作量值要运行的时间序列分析做准备。本公开的示例实施例可以使用主成分分析(PCA)将沿第一主分量的带标记的点的投影确定为带标记的点的近似,并且因此确定工作量指纹的近似,即“工作量值”。PCA模型通常使用来自跨整个安装基础的若干***的样本来在云中进行训练,并且然后部署在执行预测功能的本地存储管理软件中。
本公开的示例实施例使用PCA来生成工作量指纹的近似。例如,工作量指纹可以是十六维向量,其中该向量的前十四个分量可以表示对在采样时段期间所记录的具有特定大小的I/O的数量进行描述的仓/存储区,即512b、1k、2k、4k、8k、16k、32k、64k、128k、256k、512k、1m、2m和4m。十六维向量的第十五分量和第十六分量可以表示读/写和高速缓存命中百分比。以下是示例数据向量表示:
2017-11-15 01:30:00 125343 175025 38860 418705 1097010 379141 69739164494 592364 217616 531677 203831 0 0 6.5 35
2017-11-15 01:35:00 212623 193538 48574 668882 1448122 445723 152965191030 793793 301458 209243 85818 0 0 5.7 32
示例向量数据示出,例如,在2017-11-15的01:30:00时,存在175025个大小为1k(1024字节)的I/O(即,由在向量的第二分量中的数据“175025”表示),并且存在记录的379141个大小为16k的I/O(即,由在向量的第五分量中的数据“379141”表示)。读取次数与写入次数的比率为6.5(即,由在向量的第15个分量中的数据“6.5”表示),并且35%的I/O由高速缓存存储器提供服务(即,由在向量的第十六个分量中的数据“35”表示)。示例向量数据表示图示了可以用在代表性数据存储网络向量中的多个示例参数,然而,向量可以包括与数据存储网络延迟相关的任何参数,并且本文所描述的示例实施例不限于示例向量中所图示的参数。本公开可以将第十六个分量向量近似为由称为“工作量值”的变量表示的数值。这使用PCA完成,PCA通常通过将数据线性映射到较低维空间以使得低维表示中的数据的方差被优化的方式,来将工作量指纹向量的维度从16减小到1。
在数学中,降维是通过获得一组主要变量来减少所考虑的随机变量的数量的过程。降维通常落入特征选择方法或特征提取方法。特征选择方法基于找到原始变量(被称为特征或属性)的子集。特征提取方法基于将多维空间中的数据变换为较小维度的空间。PCA是一种线性特征提取方法,其可用于将工作量指纹降低到单维工作量值。其他线性和非线性降维技术被预期用于将工作量指纹向量降低到工作量值。
在示例实施例中,PCA降维可以是本公开的示例实施例在云中训练的线性变换函数。示例实施例然后可以使用来自群体的样本来学习或确定线性变换函数应该是什么样的,例如用于降维的PCA完成什么。可以将线性变换函数打包到用于单独或一组数据存储元素的管理软件的代码中,然后被用于对正在被管理的数据存储阵列进行实时预测(变换样本并预测工作量值)。
在本公开的示例实施例中,使用其中每个时间样本具有对应的“工作量值”的时间序列来研究周期。发明人已经发现,在该领域中研究的存储阵列的超过40%具有一天的周期,并且该领域中的存储***的超过75%表现出某种形式的周期(每小时、每天、每周等),如在图8的示例周期表中所示出的。在数据存储阵列的工作量中周期的存在指示能够在工作量发生之前可靠地预测和并预报经受存储阵列的工作量,即前瞻性预测用于延迟、工作量等的数据存储***指标。
为了提供这种可预测性,本公开的示例实施例对存储阵列的当前指标使用PCA模型和k均值模型(本文讨论的工作量指纹模型),其实时用于生成和分配当前工作量指纹。该当前工作量指纹再次表示数据样本所属的聚类,并且可以存在任何数量的聚类,然而,发明人已经发现使用八个聚类产生用于数据存储网络数据分析的最佳结果。本公开的方法和软件还使用PCA和k均值根据数据样本至第一主分量上的投影,来生成表示工作量指纹的近似的相应的工作量值。
图9图示分配到相等大小的仓中的工作量值和实际对应的工作量指纹的示例表。图9中表的数据是通过跨一组120个类似存储***的研究生成的。图9的表图示了如果工作量值在0和1之间,则它最可能属于标签零,即,工作量指纹为零的概率为62%。使用该信息,本公开的方法或软件可以根据我们的延迟表为特定工作量指纹预测已知的预期延迟,例如,工作量指纹为零的预期延迟小于2.1ms,如图9的延迟概率表和图2的延迟表中所示出的。
因此,本公开的示例实施例能够基于被训练样本的工作量值使用时间序列模型来预测数据存储网络的未来工作量。因此,在如上提到的示例中,该方法或软件能够推测时间t1和t2之间的延迟预期为小于2.1ms的概率为62%。当用于数据存储网络的管理软件有机会在与期望预测范围相比的合理时间段内观测数据存储网络行为时,最容易构建可靠的延迟概率表。例如,如果希望从现在开始预测2天的延迟,则其中应该收集支持准确预测的数据的周期是数据存储网络的预期周期的至少三到五倍。因此,每个分类的样本数量是确定概率值是否准确以及用于预测延迟值是否可接受的重要参数。类似地,在合理的时间段(通常是正常操作的两周或更多周)内观察到的实际延迟值也用于未来预报在特定间隔期间的可能延迟。在图10中,该值在相同间隔期间沿预期延迟并排显示,注意到,可能延时和预期延迟之间的较大偏差清楚地指示需要进一步调查且还可能需要支持干预的***行为。
图12图示了用于预测未来数据存储网络工作量模式和高延迟时段的示例方法。示例方法可以在1201处开始,在1201处,对表示网络的I/O的延迟数据模型进行训练。训练数据持续时间被预期将是***周期的5至10倍,以便生成准确的延迟预测结果。训练通常包括将样本分类为工作量指纹,如1202处所示,并确定每个工作量指纹的相应工作量值,如1203处所示。此外,训练可以包括针对给定的工作量值确定工作量指纹的概率,如1204处所示的。该训练数据表示用于支持预测未来数据存储网络工作量模式和延迟的历史延迟信息或基准延迟信息。此外,经由将数据实施到各个驱动器的管理软件中或者实现在配置为控制多个网络存储驱动器的管理软件或控制软件中,该训练数据可以被打包并随各个数据存储网络驱动器一起被运送。一旦包含训练模型的软件与驱动器一起打包,则该方法进行监视I/O的数据流并捕获用于分析的当前样本指标和数据,如1205处所示。在1206处,该方法预测对应于当前样本的工作量指纹。在1207处,计算与工作量指纹对应的工作量值。在1208处,该方法基于工作量值和时间序列数据来预报未来的延迟。预报可以使用ARIMA模型,该ARIMA模型是时间序列预测的统计方法,也称为差分自回归移动平均模型。ARIMA是捕获时间序列数据中的一套不同的标准时间结构的一类模型。
图13图示了用于实现本公开的示例实施例的示例硬件配置1300。硬件配置1300包括多个数据存储设备1301,其中每个数据存储设备1301可以包括并入其中的管理软件1302。管理软件可以包括本地处理器,该本地处理器被配置为根据在其上运行的预定计算机程序来控制数据存储设备1301的操作。计算机程序可以存储在计算机可读介质上,并且包含要由存储设备1301中的处理器执行以控制存储设备1301的操作的指令。多个数据存储设备1301可以连接在一起以形成阵列、存储***或数据存储网络,其可以与数据存储网络计算机或服务器控制器1303通信。管理软件可以存在于驱动器、阵列或数据存储***级别处。控制器1303可以与云1304通信,云1304可以与多个其他设备、计算机、服务器或其他计算机处理或数据存储元件通信。可以与云1304通信的一个示例设备可以是数据中心管理计算机或服务器1305,数据中心管理计算机或服务器1305可以由数据存储元件1301的制造商使用以与数据存储元件1301通信以从存储设备1301中获得数据或指标,该数据或指标与存储设备1301的延迟或其他参数或指标有关。云1304还可以与可以共同定义附加数据存储网络的其他服务器1306或数据存储元件1307通信。
位于数据存储元件1301、服务器控制器1303或管理计算机1305中的计算机处理器可用于执行被配置为分析数据存储设备1301和1307的性能的计算机程序指令。关于存储设备1301,管理软件1300通常与存储设备1301的制造商相关联。因此,管理软件1302可以与管理计算机或服务器1305通信,以在它们之间共享数据或控制信息。数据存储元件1307被示出而没有示出包括在其中的管理软件,这是表示那些数据存储设备1307上的管理软件不与管理计算机或服务器1305通信,因为数据存储设备1307可能来自不同于管理计算机或服务器1305的所有者或操作者的制造商。因此,在本公开的示例实施例中,其中数据存储网络的性能不与本公开的性能评估软件或方法相关联,该方法是软件,本公开必须从不同于管理软件1300的源中获得数据延迟指标信息,并且该数据延迟指标信息存在于与管理计算机服务器1305相关联的存储设备中。因此,本公开的示例方法和软件可以利用云1304、数据存储网络控制服务器1006或本地地安装在数据存储网络上的应用程序,来监视数据存储网络中的I/O请求并将延迟指标报告回本公开的软件方法以进行评估。因此,本公开的示例允许本公开的方法或软件来评估包含外部数据存储元件或驱动器的数据存储网络的延迟性能。
本公开的示例实施例具有用于各种不同类型的数据网络和配置(例如SAN、WAN、LAN和涉及与一个或多个数据存储元件通信的服务器或处理单元的其他类型的网络配置,其中一个或多个数据存储元件连接到该服务器或处理单元)的应用程序。本公开的示例实施例还可以应用于主机或主机的互连网络。
本公开中呈现的方面可以实现为***、方法或计算机程序产品。因此,本文公开的方面可以采取完全硬件的实施例、完全软件(包括固件、常驻软件、微代码等)的实施例、或者包含本文通常可以都被称为“电路”、“模块”或“***”的软件和硬件方面的实施例的形式。此外,本文公开的方面可以采取实现在一个或多个非暂时性计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有实现在其上的计算机可读程序代码。可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。在本公开的上下文中,计算机可读存储介质可以是任何有形的非暂时性介质,该有形的非暂时性介质可以包含或存储数据或程序产品以由指令执行***、装置、模块或设备使用或与其相连。实现在非暂时性计算机可读介质上的程序代码可以使用任何适当的介质(包括但不限于无线、有线、光纤电缆、RF等或其任何合适的组合)传输。
用于执行本文公开的方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,一种或多种编程语言包括诸如Java、Smalltalk、C++等面向对象的编程语言或诸如C+、C#、Objective C、汇编、Ruby、Python、PHP和SQL等的程序编程语言。根据本公开的示例实施例,程序代码可以在任何处理器(不管是本地的、远程的还是在云中的处理器)上执行以控制或分析数据。
如上参考根据本文公开的实施例的方法、装置(***)和计算机程序产品的流程图图示或框图描述了本公开中呈现的多方面。将理解,流程图图示或框图的每个框以及流程图图示或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机的处理器或其他可编程数据处理装置执行的指令实现流程图或框图中指定的功能。
通过云计算基础设施可以向终端用户提供本文公开的示例实施例。云计算通常是指将可扩展计算资源作为网络上的服务来提供。更正式地,云计算可以被定义为提供计算资源与其底层技术架构(例如,服务器、储存器、网络)之间的抽象的计算能力,从而能够使方便、按需网络访问可配置计算资源的共享池,该可配置计算资源的共享池可以在最少的管理工作或服务提供商交互的情况下快速被提供并发布。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,储存器、数据、应用程序、以及甚至完整的虚拟化计算***),而不考虑用于提供计算资源的底层物理***(或那些***的位置)。
在前文中,参考了本公开的示例实施例,然而,本公开的范围不限于特定描述的实施例。而是,上述特征、元素或功能的任何组合被预期实现和实践本公开的实施例,无论该特征、元素或功能是否与不同的示例相关。此外,尽管本文公开的实施例可以实现优于其他可能的技术方案或优于现有技术的优点,但是是否通过给定实施例实现具体优点不是对本公开的范围的限制。因此,前述方面、特征、实施例和优点仅是说明性的,并不被认为是所附权利要求的元素或限制,除非在权利要求中明确阐述。此外,如本文所使用的,诸如前、后、顶部、底部、上、下等的方向或方位术语不意味着限制,而仅仅反映各个实施例的范围,如附图中所示的。将理解,用于指定每个实施例的命名根据使用的实施例的空间取向是可互换的。
虽然前述内容针对本公开中呈现的实施例,但是可以在不脱离预期实施例的基本范围的情况下设计其他实施例和进一步的实施例,并且本发明的范围由所附权利要求确定。
Claims (22)
1.一种用于识别数据存储网络中的延迟贡献者的方法,所述方法包括:
根据训练数据创建用于数据存储网络的历史工作量指纹模型,包括:
在采样间隔内记录来自存储网络的所述训练数据,其中所述训练数据包括用于所述数据存储网络的总数据延迟指标和平均数据延迟指标;
创建表示所述训练数据的带标记的点数据结构;
创建表示所述带标记的点数据结构中的所述训练数据的二进制直方图;
对所述带标记的点数据结构运行聚类算法,以生成训练数据工作量类型的聚类;并且
识别用于所述训练数据的每个工作量类型的延迟阈值;
监视来自所述数据存储网络的当前样本数据,并将所述当前样本数据分类为聚类、当前工作量指纹和当前工作量类型;
基于所述历史工作量指纹模型,为所述当前样本数据分配分数;并且
将来自所述当前样本数据的所测量的延迟值与历史上所测量的延迟相关因素相关联,以创建延迟分数图表,所述延迟分数图表识别针对所述当前样本数据的引起所述数据存储网络中的延迟的因素。
2.如权利要求1所述的方法,其中所述带标记的点数据结构表示各种大小的I/O在预定大小的组中的数量分布。
3.如权利要求1所述的方法,其中所述聚类算法包括k均值聚类算法。
4.如权利要求3所述的方法,其中所述k均值聚类算法的聚类大小被设置为八,以产生八个工作量类型的聚类,所述八个工作量类型的聚类包括构成所述历史工作量指纹模型的工作量指纹。
5.如权利要求1所述的方法,其中所述聚类算法包括高斯混合模型聚类算法。
6.如权利要求1所述的方法,其中识别用于所述训练数据的每个工作量类型的延迟阈值包括:生成与所识别的延迟阈值对应的延迟表。
7.如权利要求6所述的方法,进一步包括:
将所述聚类算法应用于所述训练数据,以基于延迟表中的位置将所述数据分类为用于所记录的延迟值的工作量指纹和工作量类型。
8.如权利要求1所述的方法,其中所述历史工作量指纹模型包括十六维向量,所述十六维向量至少表示所述训练数据中的I/O计数、所述训练数据的读/写比率以及所述训练数据中的高速缓存命中百分比。
9.如权利要求1所述的方法,其中识别用于每个训练数据工作量类型的延迟阈值包括:
识别用于训练数据工作量类型的数据点或位置,其中在所述数据点或位置处,延迟百分位数斜率图从基本上水平的斜率变为基本垂直的斜率。
10.一种非暂时性计算机可读介质,包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,当所述计算机可执行指令由处理器执行时,使得所述处理器执行识别数据存储网络中的延迟贡献者的方法,所述方法包括:
根据训练数据创建用于数据存储网络的历史工作量指纹模型,所述工作量指纹模型包括表示至少训练数据中的I/O计数、所述训练数据的读/写比率和所述训练数据中的高速缓存命中百分比的多维向量;
监视来自所述数据存储网络的当前样本数据并将所述当前样本数据分类为聚类、当前工作量指纹和当前工作量类型;
基于所述历史工作量指纹模型,为所述当前样本数据分配分数;并且
将来自所述当前样本数据的所测量的延迟值与历史上所测量的延迟相关因素相关联,以创建延迟分数图表,所述延迟分数图表确定针对所述当前样本数据的引起所述数据存储网络中的延迟的因素。
11.如权利要求10所述的非暂时性计算机可读介质,其中所述多维具有16维。
12.如权利要求10所述的非暂时性计算机可读介质,其中创建所述历史工作量指纹模型包括:
在采样间隔内记录来自存储网络的所述训练数据,其中所述训练数据包括用于所述数据存储网络的总数据延迟指标和平均数据延迟指标;
创建带标记的点数据结构;
创建表示所述带标记的点数据结构中的所述训练数据的二进制直方图;
对所述带标记的点数据结构运行聚类算法,以生成训练数据工作量类型的聚类;并且
识别用于所述训练数据的每个工作量类型的延迟阈值。
13.如权利要求12所述的非暂时性计算机可读介质,其中所述带标记的点数据结构表示各种大小的I/O在预定大小的组中的数量的分布。
14.如权利要求12所述的非暂时性计算机可读介质,其中所述聚类算法包括k均值聚类算法。
15.如权利要求14所述的非暂时性计算机可读介质,其中所述k均值聚类算法的聚类大小被设置为八,以产生八个工作量类型的聚类,所述八个工作量类型的聚类包括构成所述历史工作量指纹模型的工作量指纹。
16.如权利要求12所述的非暂时性计算机可读介质,其中所述聚类算法包括高斯混合模型聚类算法。
17.如权利要求12所述的非暂时性计算机可读介质,其中识别用于所述训练数据的每个工作量类型的延迟阈值包括:生成与所识别的延迟阈值对应的延迟表。
18.如权利要求17所述的非暂时性计算机可读介质,进一步包括:
将所述聚类算法应用于所述训练数据,以基于延迟表中的位置将所述数据分类为用于所记录的延迟值的工作量指纹和工作量类型。
19.如权利要求11所述的非暂时性计算机可读介质,其中识别每个训练数据工作量类型的延迟阈值包括:
识别用于训练数据工作量类型的数据点或位置,其中在所述数据点或位置处,延迟百分位数斜率图从基本上水平的斜率变为基本垂直的斜率。
20.一种用于识别数据存储网络中的延迟贡献者的***,所述***包括:
处理器,与数据存储元件通信;
存储器,与所述处理器通信,所述存储器包含计算机程序指令,当所述计算机程序指令由所述处理器执行时,使所述处理器捕获用于所述数据存储元件的数据延迟指标;和
数据中心管理计算机,与所述处理器通信并被配置为通过以下方式生成历史工作量指纹:
接收用于所述数据存储元件的所述数据延迟指标,并且生成带标记点的数据结构;
创建表示所述带标记点的数据结构中的所述训练数据的二进制直方图;
对所述带标记的点数据结构运行k均值聚类算法或高斯聚类算法,以生成训练数据工作量类型的聚类;并且
识别所述训练数据的每个工作量类型的延迟阈值,并且在创建所述历史工作量指纹之后,所述数据中心管理计算机和所述处理器被配置为监视来自所述数据存储网络的当前样本数据并将所述当前样本数据分类为聚类、当前工作量指纹和当前工作量类型;
基于所述历史工作量指纹模型为所述当前样本数据分配分数;并且
将来自所述当前样本数据的所测量的延迟值与历史上所测量的延迟相关因素相关联,以创建延迟分数图表,所述延迟分数图表识别针对所述当前样本数据的引起所述数据存储网络中的延迟的因素。
21.如权利要求20所述的***,其中所述处理器本地地驻留在所述数据存储元件处,并且所述计算机程序指令包括用于所述数据存储元件的管理软件。
22.如权利要求20所述的***,其中所述处理器驻留在所述云中,并且所述数据存储元件不与所述数据中心管理计算机相关联或以其他方式直接与所述数据中心管理计算机通信。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841016313 | 2018-04-30 | ||
IN201841016313 | 2018-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417611A true CN110417611A (zh) | 2019-11-05 |
CN110417611B CN110417611B (zh) | 2022-12-30 |
Family
ID=65041561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910360252.8A Active CN110417611B (zh) | 2018-04-30 | 2019-04-30 | 识别数据存储网络中的延迟贡献者的方法、介质和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US10778552B2 (zh) |
EP (1) | EP3598306B1 (zh) |
CN (1) | CN110417611B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091911A (zh) * | 2019-12-30 | 2020-05-01 | 重庆同仁至诚智慧医疗科技股份有限公司 | 一种卒中风险筛查***及方法 |
CN112530505A (zh) * | 2020-12-29 | 2021-03-19 | 苏州元核云技术有限公司 | 硬盘延迟检测方法、装置及计算机可读存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11244579B2 (en) * | 2017-06-15 | 2022-02-08 | Faac Incorporated | Driving simulation scoring system |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US20190243787A1 (en) * | 2018-02-05 | 2019-08-08 | Micron Technology, Inc. | Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory |
US11449749B2 (en) * | 2019-02-01 | 2022-09-20 | EMC IP Holding Company LLC | Issuing alerts for storage volumes using machine learning |
US11481117B2 (en) | 2019-06-17 | 2022-10-25 | Hewlett Packard Enterprise Development Lp | Storage volume clustering based on workload fingerprints |
US11507290B2 (en) * | 2019-07-31 | 2022-11-22 | EMC IP Holding Company LLC | Method and apparatus for storage device management |
US11126360B2 (en) * | 2019-10-22 | 2021-09-21 | International Business Machines Corporation | Dynamically adjusting block mode pool sizes |
US11320986B2 (en) * | 2020-01-20 | 2022-05-03 | Dell Products, L.P. | Method and apparatus for estimating a distribution of response times of a storage system for a proposed workload |
US11915047B2 (en) * | 2020-06-30 | 2024-02-27 | Western Digital Technologies, Inc. | Managing storage device compute operations |
US11681466B2 (en) | 2020-06-30 | 2023-06-20 | Western Digital Technologies, Inc. | Proactive storage operation management |
US11882175B2 (en) * | 2021-12-17 | 2024-01-23 | Hewlett Packard Enterprise Development Lp | Correlations between workload characteristics and elapsed times |
CN117272054B (zh) * | 2023-11-22 | 2024-03-15 | 四川边缘算力科技有限公司 | 一种融合边缘计算的区间延时样本快捷判断方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106602A1 (en) * | 2007-10-17 | 2009-04-23 | Michael Piszczek | Method for detecting problematic disk drives and disk channels in a RAID memory system based on command processing latency |
US20140244643A1 (en) * | 2013-02-28 | 2014-08-28 | Netapp, Inc. | Workload identification |
US20160357443A1 (en) * | 2015-06-05 | 2016-12-08 | University Of Florida Research Foundation, Incorporated | Method and apparatus for big data cloud storage resource management |
US20170329660A1 (en) * | 2016-05-16 | 2017-11-16 | Oracle International Corporation | Correlation-based analytic for time-series data |
CN107667505A (zh) * | 2015-06-05 | 2018-02-06 | 思科技术公司 | 用于监控和管理数据中心的*** |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US8190939B2 (en) | 2009-06-26 | 2012-05-29 | Microsoft Corporation | Reducing power consumption of computing devices by forecasting computing performance needs |
US8935500B1 (en) | 2009-09-24 | 2015-01-13 | Vmware, Inc. | Distributed storage resource scheduler and load balancer |
US8914598B2 (en) | 2009-09-24 | 2014-12-16 | Vmware, Inc. | Distributed storage resource scheduler and load balancer |
EP2529374A4 (en) * | 2010-01-28 | 2014-04-02 | Hewlett Packard Development Co | MEMORY ACCESS METHODS AND APPARATUS |
US20170206107A1 (en) | 2012-02-14 | 2017-07-20 | Aloke Guha | Systems And Methods For Provisioning Of Storage For Virtualized Applications |
US9135191B1 (en) | 2012-06-15 | 2015-09-15 | Symantec Corporation | Techniques for storage network bandwidth management |
US9104572B1 (en) | 2013-02-11 | 2015-08-11 | Amazon Technologies, Inc. | Automated root cause analysis |
US9069819B1 (en) | 2013-04-26 | 2015-06-30 | Symantec Corporation | Method and apparatus for reliable I/O performance anomaly detection in datacenter |
US8832330B1 (en) | 2013-05-23 | 2014-09-09 | Nimble Storage, Inc. | Analysis of storage system latency by correlating activity of storage system components with latency measurements |
US20170060769A1 (en) | 2014-05-01 | 2017-03-02 | Coho Data, Inc. | Systems, devices and methods for generating locality-indicative data representations of data streams, and compressions thereof |
US10382979B2 (en) | 2014-12-09 | 2019-08-13 | Futurewei Technologies, Inc. | Self-learning, adaptive approach for intelligent analytics-assisted self-organizing-networks (SONs) |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US9575828B2 (en) | 2015-07-08 | 2017-02-21 | Cisco Technology, Inc. | Correctly identifying potential anomalies in a distributed storage system |
US10055275B2 (en) | 2015-07-14 | 2018-08-21 | Sios Technology Corporation | Apparatus and method of leveraging semi-supervised machine learning principals to perform root cause analysis and derivation for remediation of issues in a computer environment |
US9594515B2 (en) | 2015-07-22 | 2017-03-14 | Netapp, Inc. | Methods and systems using observation based techniques for determining performance capacity of a resource of a networked storage environment |
US9998346B2 (en) | 2015-09-25 | 2018-06-12 | Brocade Communications Systems LLC | Fabric latency determination |
US10664169B2 (en) * | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
WO2018009108A1 (en) * | 2016-07-07 | 2018-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and modules relating to allocation of host machines |
US10390114B2 (en) | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
US11632304B2 (en) | 2016-10-31 | 2023-04-18 | Hewlett Packard Enterprise Development Lp | Methods and systems for characterizing computing system performance using peer-derived performance severity and symptom severity models |
US11210158B2 (en) | 2017-11-29 | 2021-12-28 | Riverbed Technology, Inc. | Automated problem diagnosis on logs using anomalous telemetry analysis |
US10558614B2 (en) | 2018-01-31 | 2020-02-11 | Splunk Inc. | Network ingestion of multimodal multisource machine data to traffic regulated network storage volume |
-
2018
- 2018-07-13 US US16/034,531 patent/US10778552B2/en active Active
-
2019
- 2019-01-14 EP EP19151638.4A patent/EP3598306B1/en active Active
- 2019-04-30 CN CN201910360252.8A patent/CN110417611B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106602A1 (en) * | 2007-10-17 | 2009-04-23 | Michael Piszczek | Method for detecting problematic disk drives and disk channels in a RAID memory system based on command processing latency |
US20140244643A1 (en) * | 2013-02-28 | 2014-08-28 | Netapp, Inc. | Workload identification |
US20160357443A1 (en) * | 2015-06-05 | 2016-12-08 | University Of Florida Research Foundation, Incorporated | Method and apparatus for big data cloud storage resource management |
CN107667505A (zh) * | 2015-06-05 | 2018-02-06 | 思科技术公司 | 用于监控和管理数据中心的*** |
US20170329660A1 (en) * | 2016-05-16 | 2017-11-16 | Oracle International Corporation | Correlation-based analytic for time-series data |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091911A (zh) * | 2019-12-30 | 2020-05-01 | 重庆同仁至诚智慧医疗科技股份有限公司 | 一种卒中风险筛查***及方法 |
CN112530505A (zh) * | 2020-12-29 | 2021-03-19 | 苏州元核云技术有限公司 | 硬盘延迟检测方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110417611B (zh) | 2022-12-30 |
US10778552B2 (en) | 2020-09-15 |
US20190334801A1 (en) | 2019-10-31 |
EP3598306A1 (en) | 2020-01-22 |
EP3598306B1 (en) | 2022-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417611A (zh) | 基于i/o模式的存储***延迟评估 | |
US20190334786A1 (en) | Predicting Workload Patterns in a Data Storage Network | |
CN110417610A (zh) | 存储***延迟孤立点检测 | |
US11748227B2 (en) | Proactive information technology infrastructure management | |
CN104350471B (zh) | 在处理环境中实时地检测异常的方法和*** | |
US9639585B2 (en) | Database and method for evaluating data therefrom | |
CN103383655B (zh) | 用于在qos感知云中管理合并的工作负载的性能干扰模型 | |
CN110806954B (zh) | 评估云主机资源的方法、装置、设备及存储介质 | |
US8200813B2 (en) | Monitoring device and a server | |
CN105677538A (zh) | 一种基于故障预测的云计算***自适应监测方法 | |
US8270410B2 (en) | Sampling techniques | |
US8874642B2 (en) | System and method for managing the performance of an enterprise application | |
CN106030565B (zh) | 使用搜索技术的计算机性能预测 | |
US11632304B2 (en) | Methods and systems for characterizing computing system performance using peer-derived performance severity and symptom severity models | |
WO2021103823A1 (zh) | 模型更新***、模型更新方法及相关设备 | |
Xue et al. | Fill-in the gaps: Spatial-temporal models for missing data | |
Samir et al. | Anomaly detection and analysis for reliability management clustered container architectures | |
CN114518988B (zh) | 资源容量***及其控制方法和计算机可读存储介质 | |
US20220050761A1 (en) | Low overhead performance data collection | |
CN113986704A (zh) | 基于TS-Decomposition的数据中心高频故障时域预警方法及*** | |
Ibrahim et al. | Presence: Performance metrics models for cloud saas web services | |
CN117271247B (zh) | 一种ssd固态硬盘测试方法 | |
US11714739B2 (en) | Job performance breakdown | |
US20230133110A1 (en) | Systems and methods for detection of cryptocurrency mining using processor metadata | |
CN117614662A (zh) | 大数据与人工智能结合的网络访问风险预测方法及*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |