CN116661675A - 一种工作负载特征提取方法及装置 - Google Patents

一种工作负载特征提取方法及装置 Download PDF

Info

Publication number
CN116661675A
CN116661675A CN202210150753.5A CN202210150753A CN116661675A CN 116661675 A CN116661675 A CN 116661675A CN 202210150753 A CN202210150753 A CN 202210150753A CN 116661675 A CN116661675 A CN 116661675A
Authority
CN
China
Prior art keywords
workload
feature
file system
distribution
file
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
Application number
CN202210150753.5A
Other languages
English (en)
Inventor
金季焜
鲁鹏
方维
黄茜
张
李融尚
史启权
康宁
王波超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210150753.5A priority Critical patent/CN116661675A/zh
Priority to PCT/CN2023/074657 priority patent/WO2023155703A1/zh
Publication of CN116661675A publication Critical patent/CN116661675A/zh
Pending legal-status Critical Current

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种工作负载特征提取方法及装置,该方法包括:存储设备在输入输出IO执行过程中,获取自身的第一工作负载workload特征;存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。实施本申请,存储设备通过在线提取工作负载特征,有利于提高用户数据的安全度,提高了负载特征的提取效率。

Description

一种工作负载特征提取方法及装置
技术领域
本申请涉及智能存储领域,尤其涉及一种工作负载特征提取方法及装置。
背景技术
随着人工智能技术发展以及硬件能力的提升,存储智能化逐渐成为一种趋势。存储智能化能更好地满足用户对高容量、高可靠性、高吞吐量和低时延的需求,使得存储设备可以在复杂业务场景下实现自适应调优。
构建智能化的存储***,存储设备的工作负载workload信息是不可或缺的,workload信息是实现内存分配,负载均衡,数据搬移等功能应用的重要输入。然而,当前获取workload信息时,不仅效率低、对存储设备的性能影响大,还无法满足未来直接使用的需求。
发明内容
本申请公开了一种工作负载特征提取方法及装置,能够实现存储设备的工作负载特征的在线提取,有效提高了用户数据的安全度,还提高了负载特征的提取效率。
第一方面,本申请提供了一种工作负载特征提取方法,该方法包括:在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征;存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
上述方法应用于存储设备,存储设备例如可以是集中式存储***中的存储节点,也可以是分布式存储***中的存储节点,在此不作具体限定。
需要说明的是,在IO执行过程中获取存储设备的第一工作负载workload特征这一步骤可以是存储设备中的处理器(例如,中央处理器CPU)运行软件指令执行的,也可以是独立于该处理器的另一芯片执行的,该芯片可以是专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。其中,该芯片可以集成在存储设备中,也可以通过插卡的方式放置于该存储设备,在此不作具体限定。
上述方法中,存储设备在IO执行过程中在线式地提取存储设备的工作负载特征,不仅避免了因用户的工作负载数据(例如,IO数据)直接泄露导致的安全度低的问题,还提高了工作负载特征的提取效率。另外,提取出的工作负载特征可以直接供给存储设备自身的各个模块使用,实现存储设备的自适应调优,有利于提高存储***的智能化程度。
可选地,获取存储设备的第一工作负载workload特征,包括:存储设备的处理器根据内存中的工作负载数据,获得第一工作负载workload特征。
实施上述实现方式,在存储设备中,处理器直接从内存读取工作负载数据,并根据读取到的工作负载数据提取第一workload特征,实现了工作负载特征的在线提取。相较于外部设备通过消耗大量时间从存储设备拷贝出全部的工作负载数据并基于工作负载数据离线提取工作负载特征这种方式,本申请中在线式地工作负载特征提取方法降低了对存储设备本身的性能的影响。
可选地,第一workload特征无需外部设备通过离线方式提取。
实施上述实现方式,第一workload特征无需外部设备通过离线方式提取,而是通过存储设备自身在线提取,不仅降低了对存储设备的性能的影响,还提高了工作负载特征的提取效率。
可选地,在块业务场景下,第一workload特征包括时间特征、流特征和热点分布特征中的至少一项,其中,时间特征用于指示块业务的IO对应的时间间隔,流特征用于指示块业务的IO流的访问模式,热点分布特征用于指示块业务中地址块的重用距离分布。
其中,时间特征例如可以是总时间间隔、IO时间间隔分布等。总时间间隔用于指示块业务的批次IO对应的总时长,IO时间间隔分布用于指示批次IO中各个IO之间的时间间隔。基于时间特征可以知晓块业务中IO的访问时间分布。
流特征包括以下特征中的至少一项:IO流数量、IO流长度分布、IO流带宽分布、IO流间隔分布、IO流空间并发分布、IO流中顺序流与间隔流的占比和乱序IO流的数量。流特征反映了块业务场景下的IO进行流式访问的特性。
地址块的重用距离是指对同一地址块的相邻两次访问之间所间隔的不重复的地址块的数量。热点分布特征可以反映块业务的IO对地址块的重复访问规律。
可选地,在块业务场景下,第一workload特征还包括下述特征中的至少一项:IO大小分布、读写占比参数、读写总带宽和非对齐IO数量。
可选地,在文件***业务场景下,第一workload特征包括短时访问特征,短时访问特征用于指示文件***业务的批次IO在文件、目录、时间、文件内的IO和操作中至少一个维度上的访问模式。
其中,在文件这一维度上,短时访问特征包括下述特征中的至少一项:批次IO访问的文件数量、文件大小分布、文件重用距离分布、文件并发操作数量分布等。
在目录这一维度上,短时访问特征包括下述特征中的至少一项:批次IO访问的目录数量、目录深度以及宽度分布、目录重用距离分布、目录内读写总带宽分布、目录操作数量分布、目录并发操作数量分布和目录中文件顺序访问序列等。
在时间这一维度上,短时访问特征包括下述特征中的至少一项:批次IO对应的总时间间隔以及时间间隔分布等。
在文件内的IO这一维度上,短时访问特征包括下述特征中的至少一项:文件内IO大小分布、文件内IO的读写带宽、文件内地址块的重用距离分布、文件内IO流特征和文件内IO流的顺序度等。
在操作这一维度上,短时访问特征包括下述特征中的至少一项:操作命令占比、主机操作分布和操作模式分布,其中,主机操作是基于文件***业务的批次IO识别出的用户在主机上的操作,也可以称为聚合操作、用户操作等。主机操例如可以是Linux***上的cp(表示拷贝)、rm(表示删除目录或文件)、rmdir(表示删除空目录)、grep(表示查询)等。操作模式包括但不限于顺序读、顺序写、随机读、随机写、创建写、追加写、覆盖写、文件锁、协议锁、文件***锁等。
实施上述实现方式,在文件***业务场景下,针对短时内的批次IO,从文件、目录、时间、文件内的IO和操作这几个维度,实现对文件***业务场景下的工作负载的多角度、多层次描述,提高了文件***业务场景下提取的工作负载特征的精准性。
可选地,在文件***业务场景下,第一workload特征还包括全局特征,全局特征用于指示文件***的层次结构分布,全局特征包括以下特征中的至少一种:文件***的文件数量、文件***的目录数量、文件***的目录深度分布、文件***的目录下文件数量分布、文件***的文件访问频率分布和文件***的目录访问频率分布。
实施上述实现方式,从全局的角度对文件***的层次结构布局进行了描述,例如,文件***的目录数量、文件数量、目录内的文件数量等,以及文件***的目录和文件在整体上的访问频率,丰富了对文件***业务的工作负载的表达,提高了文件***业务场景下提取的工作负载特征的精准性。
可选地,该方法还包括:对所述第一workload特征进行压缩,获得第二workload特征和压缩参数,第二workload特征包括的特征的数量小于第一workload特征包括的特征的数量,压缩参数用于将第二workload特征恢复为第一workload特征;根据第二workload特征和压缩参数,执行NAS负载均衡、内存分配、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
实施上述实现方式,通过对第一workload特征进行压缩,不仅可以减少存储工作负载特征所需的存储空间,还减少了传输工作负载特征时的数据量,提高了存储设备与仿真设备之间数据的传输效率。另外,存储设备可以直接使用第一workload特征,例如,NAS负载均衡、内存分配、数据搬移、冷热数据块识别、预取策略调优、负载预测等,实现自身各个模块的自适应调优,提高了存储设备的智能化程度。
可选地,该方法还包括:向仿真设备发送第二workload特征和压缩参数,以使仿真设备根据第二workload特征和压缩参数执行内存分配、数据搬移、NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
实施上述实现方式,仿真设备可以根据接收到的第二workload特征和压缩参数实现多种应用,例如,内存分配、数据搬移、NAS负载均衡等,实现了各类场景的线下测试以及场景模拟。
可选地,第二workload特征和压缩参数还用于仿真设备获取IO仿真数据以及基于IO仿真数据验证第一workload特征是否可信。
例如,仿真设备可以先基于第二workload特征和压缩参数获得第一workload特征并根据第一workload特征获得IO仿真数据,进一步根据IO仿真数据验证第一workload特征是否可信,具体地,根据IO仿真数据重新提取第三workload特征,比较第三workload特征与第一workload特征是否一致,在第三workload特征与第一workload特征一致时,即说明第一workload特征比较可信,IO仿真数据可作为用户设备真实的工作负载数据,由此实现了用户场景的复现。
实施上述实现方式,仿真设备还可以进一步佐证已提取的第一workload特征,在确定第一workload特征可信的情况下,仿真设备利用存储设备传输的第一workload特征,通过仿真可成功获得用户设备的现场数据。
第二方面,本申请提供了一种工作负载特征提取装置,该装置包括,处理单元,用于在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征;存储单元,用于存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
可选地,处理单元,具体用于:通过处理器根据内存中的工作负载数据,获得第一工作负载workload特征。
可选地,第一工作负载workload特征无需外部设备通过离线方式提取。
可选地,在块业务场景下,第一workload特征包括时间特征、流特征和热点分布特征中的至少一项,其中,时间特征用于指示块业务的IO对应的时间间隔,流特征用于指示块业务的IO流的访问模式,热点分布特征用于指示块业务中地址块的重用距离分布。
可选地,在块业务场景下,第一workload特征还包括下述特征中的至少一项:IO大小分布、读写占比参数、读写总带宽和非对齐IO数量。
可选地,在文件***业务场景下,第一workload特征包括短时访问特征,短时访问特征用于指示文件***业务的批次IO在文件、目录、时间、文件内的IO和操作中至少一个维度上的访问模式。
可选地,在文件***业务场景下,第一workload特征还包括全局特征,全局特征用于指示文件***的层次结构分布,全局特征包括以下特征中的至少一种:文件***的文件数量、文件***的目录数量、文件***的目录深度分布、文件***的目录下文件数量分布、文件***的文件访问频率分布和文件***的目录访问频率分布。
可选地,处理单元,还用于:对第一workload特征进行压缩,获得第二workload特征和压缩参数,第二workload特征包括的特征的数量小于第一workload特征包括的特征的数量,压缩参数用于将第二workload特征恢复为第一workload特征;根据第二workload特征和压缩参数,执行NAS负载均衡、内存分配、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
可选地,该装置还包括:发送单元,用于向仿真设备发送第二workload特征和压缩参数,以使仿真设备根据第二workload特征和压缩参数执行内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
可选地,第二workload特征和压缩参数还用于仿真设备获取IO仿真数据以及基于IO仿真数据验证第一workload特征是否可信。
第三方面,本申请提供了一种装置,该装置包括处理器和存储器,其中,存储器用于存储程序指令;所述处理器调用所述存储器中的程序指令,使得装置执行第一方面或者第一方面的任一可能的实现方式中的方法。
第四方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在被处理器运行时,实现上述第一方面或者第一方面的任一可能的实现方式中的方法。
第五方面,本申请提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,实现上述第一方面或者第一方面的任一可能的实施例中的所述方法。该计算机程序产品,例如可以为一个软件安装包,在需要使用上述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在处理器上执行该计算机程序产品,以实现第一方面或者第一方面的任一可能的实施例中的所述方法。
第六方面,本申请提供了一种***,该***包括处理器、芯片和存储器,其中,处理器和/或芯片用于在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征;存储器用于存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
可选地,处理器和/或芯片还用于对第一workload特征进行压缩,获得第二workload特征和压缩参数,第二workload特征包括的特征的数量小于第一workload特征包括的特征的数量,压缩参数用于将第二workload特征恢复为第一workload特征;根据第二workload特征和压缩参数,执行NAS负载均衡、内存分配、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
有关第一workload特征的具体内容可参考第一方面中第一workload特征的相关叙述。
上述第二方面至第六方面的技术效果与上述第一方面相同,在此不再赘述。
附图说明
图1是本申请实施例提供的一种***架构示意图;
图2是本申请实施例提供的一种存储设备的模块示意图;
图3是本申请实施例提供的一种工作负载特征提取方法的流程图;
图4是本申请实施例提供的一种块访问序列的示意图;
图5是本申请实施例提供的一种工作负载特征提取方法的流程图;
图6是本申请实施例提供的一种存储设备的功能结构示意图;
图7是本申请实施例提供的一种存储设备的结构示意图。
具体实施方式
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。本申请实施例中的说明书和权利要求书中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
需要说明的是,本申请实施例中采用诸如“a1、a2、……和an中的至少一项(或至少一个)”等的描述方式,包括了a1、a2、……和an中任意一个单独存在的情况,也包括了a1、a2、……和an中任意多个的任意组合情况,每种情况可以单独存在。例如,“a、b和c中的至少一项”的描述方式,包括了单独a、单独b、单独c、a和b组合、a和c组合、b和c组合,或abc三者组合的情况。
为了便于理解,下面先对本申请实施例可能涉及的相关术语等进行介绍。
(1)块存储
块存储是指数据存储在一个个大小固定的数据块中,每个数据块分配有一个用于寻址的编号。块存储常采用存储区域网络(Storage Area Network,SAN)架构。SAN是一种通过网络连接存储设备和应用服务器的存储构架,这个网络专用于主机与存储设备之间的访问。当有数据的存取需求时,数据可以通过存储区域网络在服务器和后台存储设备之间高速传输。SAN提供块级存储服务,能有效提高数据传输效率和读写速率。
(2)文件存储
文件存储是指以文件形式存储数据的方式。文件存储常采用网络附加存储(Network-Attached Storage,NAS)架构,用于提供文件级的数据访问和共享服务。除了可以提供文件共享服务给用户外,还能控制用户的访问权限(例如,增、删、改等)。NAS的实现方式是在存储设备上安装文件***,并以文件目录的方式共享存储空间。NAS的特点是包含文件***和操作***,可完全独立自主运行,属于文件级共享存储设备,成本低,软硬件一体。
利用“文件”这个概念对计算机中的数据进行组织,用于同一用途的数据可以按照不同应用程序要求的结构方式组成不同类型的文件。通常用不同的后缀来指代不同的类型,且每个文件都有对应的文件名。而当有很多文件时,可以对文件进行分组,每一组文件放在同一个目录(或者叫文件夹)中。而且目录下面除了文件还可以有下一级目录(称之为子目录或者子文件夹),所有的文件、目录形成一个树状结构。这个树状结构称作:文件***(File System),文件***定义了把文件存储于磁盘时所必须的数据结构以及磁盘数据的管理方式。文件***有很多形式,例如,Windows的FAT/FAT32/NTFS,Linux的EXT2/EXT3/EXT4/XFS/BtrFS,Hadoop的hdfs文件***等。
(3)重用距离
重用距离(reuse distance,RD)是指对同一内存数据的相邻两次访问之间所间隔的不重复数据的个数。当前访问到下次访问的重用距离称为前向重用距离(next reusedistance,NRD),当前访问到上次访问之间的重用距离称为后向重用距离(previous reusedistance,PRD)。不作特殊说明的情况下,重用距离一般指的是前向重用距离。
(4)输入输出IO流
流(stream)是一组有顺序的、有起点和终点的字节集合,是以先进先出的方式发送信息。IO流根据流向可分为输入流(InputStream)和输出流(OutputStream),其中,输入流是指硬盘里的数据输入至内存,输出流是指内存中的数据输出至硬盘。IO流根据数据处理单元大小可分为字节流和字符流,其中,字节流为以字节为单位读写数据的流,字符流是以字符为单位读写数据的流。除此之外,IO流还可以有其他分类方式,在此不作具体限定。
在一种实现方式中,采集用户设备的工作负载数据是感知用户设备的工作负载的有效方式之一。例如,从存储设备拷贝存储了工作负载数据(例如,IO数据)的日志,并基于日志中的工作负载数据获得存储设备的工作负载特征。但由于工作负载数据的数据量大,导致数据拷贝过程耗时久,不仅会影响存储设备本身的性能,还涉及客户隐私安全问题。另外,基于工作负载数据获得的存储设备的工作负载特征较为简单,例如,IO的读写占比、流占比、流带宽等,无法准确表征存储设备的工作负载。
针对上述数据采集过程影响设备性能、效率低、工作负载提取的粗粒度化等问题,本申请实施例提出一种工作负载特征提取方法,能实现以尽可能低的性能消耗以及存储空间消耗的前提下,高效、精准地提取存储设备的工作负载特征,且该方法具有较好的适用性。
下面将结合附图,对本申请实施例中的技术方案进行描述。
参见图1,图1是本申请实施例提供的一种***架构示意图。该***可以用于提取存储设备的工作负载特征以及基于存储设备的工作负载特征进行IO流仿真等。如图1所示,该***包括存储设备和仿真设备,其中,存储设备与仿真设备可以通过无线或有线的方式进行通信。
其中,存储设备可以是集中式存储***中的存储节点,也可以是分布式存储***中的存储节点。仿真设备可以是具有计算功能的设备,例如可以是部署在网络侧的服务器,或者为该服务器中的组件或者芯片。网络侧设备可以部署在云环境,即云计算服务器,或者网络侧设备也可以部署在边缘环境中,即边缘计算服务器。网络侧设备可以是集成的一个设备,也可以是分布式的多个设备,本申请实施例不做具体限定。
存储设备用于在线提取自身的工作负载特征,并可以基于提取出的工作负载特征执行最优内存分配、NAS负载均衡、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知等操作中的至少一项。存储设备还用于将提取后的工作负载特征发送给仿真设备,以使仿真设备根据提取后的工作负载特征进行IO流仿真,复现存储设备的负载场景。
示例性地,为了减少存储设备传输的数据量以及进一步提高存储设备数据的安全性,存储设备在提取到工作负载特征后,可以先对提取的工作负载特征进行压缩,获得压缩后的工作负载特征,压缩后的工作负载特征仍保持有各个特征的字段名且具有可解释性,然后再将压缩后的工作负载特征发送给仿真设备。
仿真设备用于接收存储设备发送的工作负载特征,并基于接收到的工作负载特征进行IO流仿真以生成存储设备的IO仿真数据,实现对存储设备的真实业务场景的复现。在一些可能的实施例中,仿真设备从存储设备处接收到压缩后的工作负载特征,则仿真设备在执行IO流仿真操作之前,需先将压缩后的工作负载特征进行解压还原,获得未经压缩的工作负载特征。在一些可能的实施例中,仿真设备还可以根据接收到的工作负载特征执行内存分配、负载均衡、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在一些可能的实施例中,当存储设备部署于分布式存储***中时,若存储设备为分布式存储***中的管理节点,则该存储设备除了提取自身设备的工作负载特征外,还用于汇总分布式存储***中其他存储节点的工作负载特征,例如,接收其他存储节点提取的工作负载特征,还可以对各个存储节点的工作负载特征分别进行压缩,并将压缩后的工作负载特征发送给仿真设备。
需要说明的是,图1仅为示例性架构图,但不限定图1所示***包括的网元的数量。虽然图1未示出,但除图1所示的功能实体外,图1还可以包括其他功能实体。另外,本申请实施例提供的方法可以应用于图1所示的***,当然本申请实施例提供的方法也可以适用其他***,本申请实施例对此不予限制。
参见图2,图2示例性地给出了一种存储设备的模块示意图。该存储设备可以用于提取工作负载特征。如图2所示,该存储设备至少包括数据采集模块、在线特征提取模块、特征查询接口和调优模块。
其中,数据采集模块用于从存储设备的内存中获取工作负载数据并将获取到的工作负载数据输入至在线特征提取模块。在线特征提取模块包括特征计算模块和特征处理模块,特征计算模块基于工作负载数据可执行多类型(例如,块业务和文件***业务)、多粒度(例如、逻辑单元号、文件***等)的特征提取计算,获得存储设备的workload特征并将存储设备的workload特征输入至特征处理模块,特征处理模块用于对workload特征进行压缩处理,获得压缩后的workload特征。需要说明的是,有关workload特征的具体内容可参考下述方法实施例中的相关叙述,在此不再赘述。
特征查询接口作为调优模块访问在线特征提取模块的统一入口,特征查询接口用于实现调优模块和在线特征提取模块之间的数据传输。例如,调优模块可以通过特征查询接口获取workload特征并进行算法调优,例如,最优内存分配、NAS负载均衡、冷热数据识别、数据搬移策略优化等。其中,调优模块包括但不限于内存分配模块、NAS负载调控模块、垃圾回收模块等。
示例性地,调优模块中的内存分配模块通过特征查询接口从在线特征提取模块获取workload特征,并基于workload特征进行资源分配策略优化,获得最优内存分配策略。
在一些可能的实施例中,在线特征提取模块在获得workload特征后,还可以对workload特征进行持久化存储,或者,将workload特征存储至相应的数据库中。
在一些可能的实施例中,该存储设备还包括数据回传模块。数据回传模块用于接收在线特征提取模块发送的workload特征,并将workload特征发送给外部设备(例如,仿真设备),以使外部设备基于workload特征实现线下的真实业务的IO流仿真,用于辅助现网故障定位、各类线下场景测试、算法策略评估等。
需要说明的是,在线特征提取模块输入至数据回传模块的workload特征可以是:经特征处理模块压缩后的workload特征,也可以是特征计算模块输出的未压缩的workload特征,本申请实施例不作具体限定。
在本申请实施例中,图2所示的存储设备的各模块主要消耗核心中央处理器(central processing unit,CPU)的算力。在一些可能的实施例中,随着存储设备提取的workload特征的数据量越来越大,图2所示的存储设备还可以包括服务分布部署模块,服务分布部署模块用于实现核心CPU算力的卸载,例如,通过分布部署至存储设备的网卡、数据处理单元(data processing unit,DPU)、芯片等,以扩大存储设备的算力。
需要说明的是,图2所示的存储设备的模块示意图仅是一种示例,在一些可能的实施例中,存储设备可能包含相比于图2所示的更多或者更少的模块。另外,图2中展示的各模块可以用软件、硬件或者硬件与软件的结合方式实施。
参见图3,图3是本申请实施例提供的一种工作负载workload特征提取方法的流程图,应用于存储设备。该方法包括但不限于以下步骤:
S101:在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征。
在本申请实施例中,存储设备在IO执行过程中获取第一workload特征,即说明存储设备以在线的方式提取自身设备的就第一workload特征。
为了能准确刻画存储设备的工作负载,存储设备在不同业务场景下提取了不同的workload特征。本申请实施例主要介绍了存储设备针对两种业务场景下的workload特征的提取,其中一种业务场景为块业务,另一种业务场景为文件***业务。
下面分别介绍这两种业务场景下提取的workload特征:
第一种:块业务
在本申请实施例中,在块业务场景下,第一workload特征包括时间特征、流特征和热点分布特征中的至少一项:
(1)时间特征:
时间特征用于指示块业务的输入输出IO对应的时间间隔。
在本申请实施例中,时间特征具体包括:总时间间隔和IO时间间隔分布。其中,总时间间隔用于指示块业务的批次IO对应的总时长,IO时间间隔分布用于指示块业务的批次IO中各个IO之间的时间间隔。
例如,总时间间隔可以是10ms,批次IO即为10ms内包含的IO的数量,IO时间间隔分布表示10ms内各个IO的时间间隔。在一些可能的实施例中,总时间间隔还可以是12ms、20ms或其他值。
(2)流特征
流特征用于指示块业务的IO流的访问模式。
需要说明的是,IO流包括多个IO。在IO流中,任意两个相邻IO之间的距离间隔小于预设间隔阈值且任意两个相邻IO之间的访问时间间隔小于预设时间阈值。IO流可以是顺序流或间隔流,其中,顺序流中的各个IO均为顺序IO,顺序IO是指读取和写入操作是基于逻辑块逐个连续地访问来自相邻地址的数据,顺序流中任意两个相邻IO之间的距离间隔为0;间隔流中的各个IO可以是随机IO,随机IO是指读写操作时间连续但访问的逻辑地址不连续,间隔流中任意两个相邻IO之间的距离间隔不为0。换句话说,顺序流中的各个IO在逻辑地址上是连续不间断的,而间隔流中的各个IO在逻辑地址上是有间断的。
在本申请实施例中,流特征包括下述特征中的至少一项:
a、IO流数量:用于指示批次IO中IO流的数量。
b、IO流长度分布:用于指示批次IO各个IO流的长度,IO流的长度为该IO流包含的IO的数量。
c、IO流带宽分布:用于指示批次IO各个IO流的带宽。
d、IO流间隔分布:用于指示批次IO各个IO流之间的距离间隔。
e、顺序流与间隔流占比:用于指示批次IO中顺序流的数量与间隔流的数量的比值。
f、乱序IO流的数量:用于指示批次IO中出现乱序的IO流的数量。
以一个具体的例子说明乱序IO流:假设IO流1中各个IO对应的起始位置的偏移量依次为10、20、30、40,…,即对于任意两个相邻IO中下一个IO的偏移量大于上一个IO的偏移量,则IO流1不乱序。假设IO流2中各个IO对应的起始位置的偏移量依次为20、40、30、50、10,…,即IO流2中的IO的偏移量既不呈现递增的趋势也不呈现递减的趋势,则IO流2即为乱序的IO流。
g、IO流空间并发分布:用于指示批次IO中IO流的空间并发性。
一具体实施中,IO流空间并发分布可以表示为下述中的至少一项:预设大小的地址块中包含的IO流的数量的分布;IO流访问的预设大小的地址块的数量。
例如,预设大小的地址块可以是大小为4M的块(简称4M块),则IO流空间并发分布这一特征具体包括:4M块包含的IO流的数量的分布以及批次IO中IO流访问的4M块的数量。
(3)热点分布特征
热点分布特征用于指示块业务中IO访问的地址块的重用距离分布。
在本申请实施例中,热点分布特征包括地址块的重用距离分布,地址块的重用距离是指同一地址块的相邻两次访问之间所间隔的不重复的地址块的数量。有关重用距离分布的计算具体可参考下述有关重用距离的叙述,为了说明书的简洁,在此不再赘述。
需要说明的是,地址块的重用距离分布可以按照指数进行分级统计,例如,可以依次统计间隔距离为2048内IO访问的地址块的重用距离分布、间隔距离为4096内IO访问的地址块的重用距离分布、间隔距离为8192内IO访问的地址块的重用距离分布,…,如此可基于不同间隔距离尺度表征被IO频繁的地址块的分布情况。
在一些可能的实施例中,热点分布特征还可以包括批次IO中非重复IO的数量。非重复IO的数量是指访问了不同地址块的IO的数量。
在一些可能的实施例中,在块业务场景下,第一workload特征还包括下述特征中的至少一项:IO大小分布、读写占比参数、读写总带宽、非对齐IO数量和每秒输入所输出量(Input/Output Per Second,IOPS)。
其中,IO大小分布用于指示批次IO中各个IO的大小,读写占比参数用于指示批次IO中的读IO的数量与写IO的数量的比值,非对齐IO的数量用于指示长度不对齐的IO数量和/或偏移不对齐的IO数量。
需要说明的是,非对齐IO在读写过程中可能会造成读放大或写放大,导致磁盘IO的消耗增加,不仅降低了磁盘的读写效率,还影响了磁盘的性能。而IO对齐(即指长度对齐且偏移对齐)可以有效节省磁盘IO的消耗,提高磁盘的读写效率。由此可知,非对齐IO数量可用于分析磁盘的性能。
第二种:文件***业务
在本申请实施例中,在文件***业务场景下,第一workload特征包括短时访问特征,短时访问特征用于指示文件***业务的批次IO在目录、文件、时间、文件内的IO和操作中至少一个维度上的访问模式。
下面分别从这五个维度描述短时访问特征的具体内容:
(1)目录
基于目录这一维度,短时访问特征包括下述特征中的至少一种:目录数量、目录深度以及宽度分布、目录重用距离分布、目录内读写总带宽分布、目录对应的元数据操作分布、目录操作数量分布、目录并发操作数量分布和目录中文件顺序访问序列。
其中,目录深度是指该目录嵌套的子目录的长度,目录宽度是指该目录下的文件的数量。
目录重用距离用于指示对同一目录的相邻两次访问之间所间隔的不重复目录的数量。所谓同一目录是指目录的标识(ID)相同,在文件***中每个目录有对应的目录ID。
对目录的操作包括但不限于查看、查询、拷贝、切换、创建、删除、剪切、重命名、更改属性等。
目录并发操作数量是指同时对同一目录进行操作的客户端的数量。
目录中文件顺序访问序列可用于分析该目录中各文件之间的关联性,有利于文件***业务中某目录中文件顺序流的预取,提高该目录中文件访问的命中率。
(2)文件
基于文件这一维度,短时访问特征包括下述特征中的至少一种:文件数量、文件大小分布、文件重用距离分布、文件操作数量分布和文件并发操作数量分布。
其中,文件数量包括但不限于批次IO访问的文件总数,批次IO中读IO对应的文件数量、批次IO中写IO对应的文件数量、以及批次IO中各操作模式对应的文件数量,操作模式包括顺序读、随机读、顺序写、随机写、创建写、追加写、覆盖写、文件锁等。
文件重用距离用于指示同一文件的相邻两次访问之间所间隔的不重复文件的个数。所谓同一文件是指文件ID相同,在文件***中每个文件有对应的文件ID。
对文件的操作包括但不限于:查看、查询、拷贝、切换、创建、删除、剪切、重命名、更改属性等。
文件并发操作数量是指同时对同一文件进行操作的客户端的数量。
(3)时间
基于时间这一维度,短时访问特征包括下述特征中的至少一种:总时间间隔和时间间隔分布,其中,总时间间隔用于指示文件***业务的批次IO对应的总时长,时间间隔分布用于指示文件***业务的批次IO中各个文件IO之间的时间间隔。
(4)文件内的IO
基于文件内的IO这一维度,短时访问特征包括下述特征中的至少一种:文件内IO大小分布、文件内IO的读写带宽、文件内地址块的重用距离分布、文件内IO流特征和文件内IO流的顺序度。
其中,文件内IO的读写带宽包括总读写带宽和单个文件的读写带宽分布中的至少一项。
文件内地址块的重用距离用于指示对同一文件内的同一地址块的相邻两次访问之间所间隔的不重复的地址块的数量。
文件内IO流特征包括文件内IO流数量、文件内IO流长度分布、文件内IO流带宽分布、文件内IO流间隔分布、文件内IO流空间并发分布等特征中的至少一种。需要说明的是,有关文件内IO流特征具体可参考上述块业务的流特征的相关叙述,在此不再赘述。
文件内IO流的顺序度用于指示文件内IO流的顺序性。示例性地,文件内IO流的顺序度可以根据文件内IO流长度和文件内IO流间隔进行加权计算获得,其中,在其他参数不变的情况下,文件内IO流长度越大,文件内IO流的顺序度越大,则文件内IO流的顺序性越强;在其他参数不变的情况下,文件内IO流间隔越大,文件内IO流的顺序度越小,则文件内IO流的顺序性越弱。
(5)操作
基于操作这一维度,短时访问特征包括下述特征中的至少一种:操作命令占比、主机操作分布和操作模式分布。
其中,主机操作为基于文件***业务的批次IO识别出的用户在主机上的操作,也可以称作为聚合操作,用户操作等。主机操例如可以是Linux***上的cp(表示拷贝)、rm(表示删除目录或文件)、rmdir(表示删除空目录)、grep(表示查询)、cd(表示切换)、ls(表示查看当前目录)、ll(表示查看当前文件)、mkdir(表示创建)、mv(表示剪切或重命名)等。
操作模式分布用于指示批次IO对应的各操作模式的数量。操作模式包括但不限于顺序读、顺序写、随机读、随机写、创建写、追加写、覆盖写、文件锁、协议锁、文件***锁等。
操作命令占比可以是IO操作占比、主机操作占比等。其中,IO操作占比为批次IO中IO操作(其对应的字段为读read、写wirte或查看look up等)的数量与批次IO的IO总数的比值,主机操作占比为从批次IO识别出的主机操作的数量与批次IO的IO总数的比值。
在本申请实施例中,在文件***业务场景下,第一workload特征还包括全局特征,全局特征用于指示文件***的层次结构分布,全局特征包括下述特征中的至少一种:文件***的文件数量、文件***的目录数量、文件***的目录深度分布、文件***的目录下文件数量分布、文件***的文件访问频率分布和文件***的目录访问频率分布。
在一些可能的实施例中,全局特征还可以包括各目录深度的子目录数量分布、各目录深度的文件数量分布和各目录深度的文件大小分布。
一具体实施中,获取存储设备的第一workload特征,可以是:存储设备的处理器基于内存中的工作负载数据,获得存储设备的第一workload特征。可以看出,第一workload特征是通过存储设备在线提取的,并不是外部设备通过离线方式提取,如此,有效避免了外部设备拷贝IO数据对存储设备的性能的影响,提高了工作负载特征的提取效率。
示例性地,在块业务场景下,工作负载数据包括:块业务的IO访问的逻辑单元号(Logical Unit Number,LUN)、IO的起始位置偏移量、IO大小、IO操作类型(例如,读操作或写操作)等数据。
示例性地,在文件***业务场景下,工作负载数据包括:文件***的标识ID、IO对应的客户端IP地址、IO访问的文件ID、IO访问的目录ID、IO的起始位置偏移量、IO大小、IO操作类型(例如,读操作、写操作或元数据操作)等。
可以看到,上述块业务的workload特征和文件***业务的workload特征都包含基于重用距离获得的相关特征,例如块业务的重用距离分布特征,又例如文件***业务的文件重用距离分布、目录重用距离分布、文件内地址块的重用距离分布等。
重用距离是能有效表征IO热点分布的一个重要特征。在本申请实施例中,基于块访问序列中重复块的历史分布信息对块访问序列进行一次遍历处理获得块访问序列的重用距离分布,有利于提高重用距离分布特征的提取效率。
参见图4,图4是本申请实施例提供的一种块访问序列的示意图。图4示出了块访问序列{BCACDABCBCEA},可以看出,块B被访问了3次,块C被访问了4次,块A被访问了3次,块D被访问了1次,块E被访问了1次。为了准确计算每对访问的重用距离,需跟踪每个逻辑地址块(下述简称地址块)的访问信息。以块访问序列中A的一对访问(即A2和A3)为例进行说明,其中,A的上角标表示第几次访问A:
表示第二次访问A(记作A2)与第三次访问A(记作A3)之间间隔的地址块的数量,而A2与A3之间的块访问序列为{BCBCE},故/>
表示第二次访问A与第三次访问A之间间隔的局部重复的地址块的数量;基于A2与A3之间的块访问序列为{BCBCE}可知,只有块B和块C分别被访问了两次,即块B局部重复且块C的局部重复,故/>
表示第二次访问A与第三次访问A之间间隔的全局重复的地址块的数量;可以看出,A2之前,块B和块C已被首次访问了一次,而A2与A3之间块B和块C均被新增了两次访问,故/>/>
表示第二次访问A与第三次访问A之间的重用距离;需要说明的是,基于重用距离的定义,易知/>
其中,和/>三者满足数量关系/>即在已知/>和/>时,可获得/>为了提高重用距离的计算效率,在一次遍历块访问序列的各个逻辑地址块时,可以分别记录重复块之间的间隔距离分布信息、当前地址块对应的地址块总数以及全局重复的地址块数量,根据重复块之间的间隔距离分布信息拟合重用距离的概率密度函数,基于概率密度函数可以估算任一间隔距离在重复块组成的区间内部重复的概率。
下面以重用距离为例说明/>的获得过程:根据A2对应的地址块总数和A3对应的地址块总数获得上述/>根据A2对应的全局重复的地址块数量和A3对应的全局重复的地址块数量获得上述/>根据概率密度函数和/>获得上述/>最后根据/>获得/>
依据上述方式可提取块业务的重用距离分布特征,上述方式也适用于提取文件***业务的重用距离相关的特征。例如,当提取文件重用距离分布特征时,图4所示的块访问序列可替换为文件ID访问序列;当提取目录重用距离分布特征时,图4所示的块访问序列可替换为目录ID访问序列;当提取文件内地址块的重用距离分布特征时,图4所示的块访问序列中的各地址块为同一文件内的各个地址块。
S102:存储第一workload特征。
在本申请实施例中,第一workload特征可以存储于存储设备的内存中。需要说明的是,短时段内提取的第一workload特征可以存储在存储设备的内存中,以方便存储设备的其他模块在需要使用相应地workload特征时可直接从内存中获取,有利于提高数据的传输速率。
在一些可能的实施例中,当存储设备的内存中存储的各时段的第一workload特征的数据量之和达到上限阈值时,还可以将内存中各时段的第一workload特征转移至存储设备的硬盘中存储。
在一些可能的实施例中,存储设备还可以根据第一workload特征生成可视化的负载画像,其中,负载画像包括各个负载特征以及性能瓶颈信息等。其中,在块业务场景下,负载画像为块业务的负载画像;在文件***业务场景下,负载画像为文件***业务的负载画像。需要说明的是,负载画像可以基于用户的需求选择不同的粒度进行显示,例如,粒度可分为存储设备、控制器、LUN等。
可选地,在一些可能的实施例中,还可以执行:
S103:根据第一workload特征,执行内存分配、数据搬移、NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在本申请实施例中,第一workload特征可以为存储设备的多个模块的调优提供支持,多个模块例如可以是内存分配模块、冷热数据识别模块、NAS负载调控模块等。其中,内存分配模块可执行内存分配、预取策略调优等,冷热数据识别模块可执行冷热数据块识别、数据搬移等,NAS负载调控模块可执行NAS负载均衡、负载预测等。
需要说明的是,存储设备中的不同模块执行调优操作时,所依赖的workload特征可以是相同的,也可以是不同的。另外,模块执行优化操作时所依赖的workload特征可以是第一workload特征中的部分特征就也可以是全部特征,在此不作具体限定。
示例性地,在块业务场景下,内存分配模块主要根据上述热点分布特征和IO大小分布等特征进行内存分配。具体地,内存分配模块基于热点分布特征可以确定批次IO中的热点IO对应的间隔距离,基于热点IO对应的间隔距离获得达到最大内存缓存cache命中率时的内存cache的大小,由此实现内存资源的分配。需要说明的是,cache命中率是指cache命中次数占cache总访问次数之比。所谓cache命中是指待读取的逻辑地址位于cache中,则可从cache中快速读取,称作cache命中。
示例性地,可以根据流特征中的顺序流与间隔流占比、IO流长度分布、IO流带宽分布和IO流间隔分布执行预取策略调优。对于块业务中的不同LUN,常采用统一的预取策略,但当整体的预取存在较大浪费率的情况下则会停止各个LUN的预取功能。而在本申请实施例中,根据每个LUN的顺序流与间隔流占比、IO流长度分布、IO流带宽分布和IO流间隔分布等特征,评估每个LUN开启预取功能的收益,根据各个LUN对应的收益动态调整cache的预取策略,实现在保证预取命中率的情况下,尽可能地降低预取策略带来的读放大,防止资源的浪费。
示例性地,NAS负载均衡模块用于实现文件***业务的负载均衡。具体地,NAS负载均衡模块根据文件***的短时访问特征以及全局特征,在创建目录或文件时,可以预先评估该目录或文件的数据量以及访问频率,以确定待创建的目录或文件所归属的处理器,实现为新创建的目录或文件匹配合适的处理器。另外,在确定各个处理器的工作负载存在较大差异时,还可以根据文件***业务的短时访问特征和全局特征,将被频繁访问的目录和文件搬移至较为空闲或者工作负载较小的处理器上。如此,实现了NAS负载均衡。
示例性地,还可以根据第一workload特征中的热点分布特征确定每个数据块(或称为地址块)的历史访问频次以及重用距离分布,根据数据块的历史访问频次和重用距离分布对该数据块进行冷热数据块识别。
在一些可能的实施例中,在确定数据块的冷热属性之后,还可以执行数据搬移。例如,在融合存储中尽量将热数据存储至高性能的固态硬盘SSD中以及将冷数据放置在低性能的机械硬盘HDD,如此可以节省高性能的SSD的存储空间,因此在识别出数据块A为热数据块但数据块A放置于HDD时,则可以将数据块A对应的数据迁移至SSD以提高数据的读取效率。
在一些可能的实施例中,存储设备还可以根据提取出的第一workload特征执行负载预测或负载变化感知,以估计未来负载的变化趋势,使得更好地实现负载调控。在一些可能的实施例中,存储设备还可以根据第一workload特征进行性能瓶颈感知、稳定写带宽等,在此不作具体限定。
可以看到,实施本申请实施例,针对块业务和文件***业务分别从多个维度提取了不同的工作负载特征,能够更精准地表征存储设备在不同业务场景下的工作负载。另外,存储设备的工作负载特征的在线提取,不仅提高了动作负载特征的提取效率,还能有效避免用户的IO数据的直接泄露,提高了用户数据的安全度。提取出的工作负载特征可以直接供给存储设备自身的各个模块使用,实现存储设备的自适应调优,有利于提高存储***的智能化程度。
参见图5,图5是本申请实施例提供的一种工作负载特征提取方法的流程图,应用于存储设备和仿真设备组成的通信***。图5实施例可以是对图3实施例的补充,也可以独立于图3实施例。该方法包括但不限于以下步骤:
S201:存储设备在IO执行过程中,获取自身的第一workload特征。本步骤具体可参考图3实施例中S101的相关描述,为了说明书的简洁,这里不再赘述。
S202:存储设备向仿真设备发送第一workload特征。相应地,仿真设备接收存储设备发送的第一workload特征。
S203:仿真设备根据第一workload特征,执行内存分配、数据搬移、NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在本申请实施例中,仿真设备可以基于第一workload特征执行下述至少一项应用:内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。需要说明的是,有关内存分配、数据搬移、NAS负载均衡等应用的执行过程具体可参考上述图3实施例中S103的相关描述,为了说明书的简洁,在此不再赘述。
在一些可能的实施例中,仿真设备在执行上述各个应用之前,仿真设备还可以先验证提取的第一workload特征是否可信,在确定第一workload特征可信的情况下,再执行上述应用。
示例性地,仿真设备确定提取的第一workload特征可信,可以是:仿真设备对第一workload特征进行仿真,获得IO仿真数据;根据IO仿真数据重新提取第三workload特征,对比第三workload特征与第一workload特征,在第三workload特征与第一workload特征一致时,确定第一workload特征可信,即说明IO仿真数据可作为第一workload特征对应的真实IO数据。可以理解,第一workload特征可信,表明第一workload特征可以较好地表征存储设备的工作负载,第一workload特征以及根据第一workload特征获得IO仿真数据均是具有参考意义的。
需要说明的是,第三workload特征与第一workload特征一致可以是第三workload特征与第一workload特征之间的相似度满足预设条件,例如,第三workload特征与第一workload特征之间的相似度大于等于预设阈值。
示例性地,仿真设备确定提取的第一workload特征可信,可以是:仿真设备对第一workload特征进行仿真,获得IO仿真数据;观测IO仿真数据在设备上运行时的性能指标,获得IO仿真数据对应的性能指标与真实的工作负载数据对应的性能指标之间的差异值,在差异值小于预设差异阈值时,确定第一workload特征可信,且IO仿真数据可以作为第一workload特征对应的真实的工作负载数据。需要说明的是,性能指标可以是IOPS、IO时延、cache命中IO数量、cache预取IO数量等。
在一些可能的实施例中,仿真设备还可以基于第一workload特征,辅助性能故障定位、线下测试、算法策略评估等。
可选地,为了提高存储设备与仿真设备之间的数据传输速率,存储设备还可以对第一workload特征进行压缩,再将压缩后的workload特征发送给仿真设备。在此情况下,上述S202和S203也可以不执行,而执行下述中的S204-S206:
S204:存储设备对第一workload特征进行压缩,获得第二workload特征和压缩参数。
其中,第二workload特征包含的特征的数量小于第一workload特征包含的特征的数量,压缩参数用于将第二workload特征恢复为第一workload特征。可以看出,将第一workload特征进行压缩,不仅可以减少用于存储第一workload特征的存储空间的消耗,还可以提高数据的传输速率。
需要说明的是,第二workload特征为第一workload特征经压缩后的workload特征,换句话说,第二workload特征中的各个特征为第一workload特征经压缩后被保留的特征。可以理解,第二workload特征中特征的数量小于第一workload特征中特征的数量,故第二workload特征的数据量也小于第一workload特征的数据量。
在本申请实施例中,第二workload特征中的每个特征与第一workload特征中的一个或多个特征对应。
例如,若第二workload特征中的特征a1与第一workload特征中的特征a2和特征a3对应,即说明基于压缩参数和特征a1可以还原或者恢复出特征a2和特征a3。
在本申请实施例中,第二workload特征中的各个特征的字段名在压缩前后保持不变,如此,可以保证第二workload特征中的每个特征仍具有可解释性。
例如,假设第一workload特征包括特征1、特征2和特征3,而对第一workload特征压缩后获得的第二workload特征仅包括特征1,在此情况下,特征1为第一workload特征经压缩后被保留的特性,且第一workload特征中特征1的字段名与第二workload特征中特征1的字段名相同。
在本申请实施中,对第一workload特征进行压缩,包括:根据第一workload特征中特征之间的相似性和/或可预测性,对第一workload特征进行压缩。
一具体实施中,第一workload特征中特征之间的相似性可以是指第一workload特征中同一批次IO的不同特征之间的相似性。在此情况下,压缩过程可以是:对于第一workload特征中任意两个不同的特征,计算这两个特征之间的相似度,当这两个特征之间的相似度满足预设相似条件时,删除该相似度对应的两个特征中的任意一个。需要说明的是,在删除该相似度对应的任一特征之前,需先将该相似度对应的两个特征之间的映射关系记录至压缩参数中。
例如,以第一workload特征中的特征A和特征B为例,计算特征A和特征B之间的相似度,在特征A与特征B之间的相似度大于等于预设相似阈值时,可认为特征A与特征B相似,则可以删除特征A与特征B中的任意一个,由此可有效减少第一workload特征的数据量,从而实现了对第一workload特征的压缩。
另一具体实施中,第一workload特征中特征之间的相似性可以是指第一workload特征中不同批次IO的各特征之间的相似性。
例如,假设第一workload特征包括特征1、特征2、特征3、特征4、特征5和特征6,其中,特征1、特征2和特征3属于第一批次IO,特征4、特征5和特征6属于第二批次IO,特征1的字段名与特征4的字段名相同,特征2的字段名与特征5的字段名相同,特征3的字段名与特征6的字段名相同,且特征1的内容与特征4的内容相同(即相似度满足预设相似条件),特征2的内容与特征5的内容相同(即相似度满足预设相似条件),但特征3的内容与特征6的内容不相同(即相似度不满足预设相似条件),在此情况下,第一批次IO的三个特征全部保留,由于特征4与特征1相同,特征5与特征2相同,而特征1和特征2已经保留,故可以删除冗余的特征4和特征5,即对于第二批次IO仅保留了特征6。由此实现了对第一workload特征的压缩。
在本申请实施例中,根据第一workload特征中特征之间的可预测性对第一workload特征进行压缩,包括:通过人工智能模型确定第一workload特征中可预测的特征,获得人工智能模型的参数,并从workload特征中删除可预测的特征,其中,人工智能模型的参数包含于压缩参数中。
例如,假设第一workload特征包括特征b1、特征b2、特征b3和特征b4,经人工智能模型确定基于特征b1可预测特征b2、基于特征b3可预测特征b4,则可以从第一workload特征中删除特征b2和特征b4,或者,从第一workload特征中删除特征b1和特征b3。另外,获得的压缩参数包括特征b1与特征b2之间的转换参数、特征b3与特征b4之间的转换参数。
示例性地,人工智能模型也是单层神经网络、随机森林(Random Forest,RF)模型、支持向量机(Support Vector Machine,SVM)模型或者其他预测算法,在此不作具体限定。
需要说明的是,特征的预测可以是一对一,即基于一个特征预测另一个特征,也可以是多对一,即基于多个特征预测一个特征,还可以是一对多,即基于一个特征预测多个特征,本申请实施例不作具体限定。
可以理解,第一workload特征中可预测的特征的数量越多,则可达到的第一workload特征的压缩比例就越高,第一workload特征经压缩后获得的第二workload特征的数据量就越小。
在一些可能的实施例,还可以结合特征之间的相似性和可预测性对第一workload特征进行压缩,具体可参考上述有关相似性和可预测性的相关叙述,在此不再赘述。
可选地,在一些可能的实施例中,还可以执行:
S205:存储设备向仿真设备发送第二workload特征和压缩参数。
相应地,仿真设备接收存储设备发送的第二workload特征和压缩参数。如此,将第二workload特征和压缩参数传输给仿真设备,可以有效提高存储设备与仿真设备之间的数据传输效率。
S206:仿真设备根据第二workload特征和压缩参数,执行内存分配、数据搬移、NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在本申请实施例中,仿真设备可以先利用压缩参数将第二workload特征还原为第一workload特征,并根据第一workload特征执行上述内存分配、数据搬移、NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。需要说明的是,有关仿真设备根据第一workload特征执行内存分配、数据搬移、NAS负载均衡等具体可参考上述S203的相关叙述,为了说明书的简洁,在此不再赘述。
可以看到,实施本申请实施例,存储设备分别针对块业务和文件***业务提取了不同的工作负载特征,能够更精准地表征存储设备在不同业务场景下的负载特性。对提取出的工作负载特征进行压缩后再传输给仿真设备,可以有效提高存储设备与仿真设备之间数据的传输效率,也使得仿真设备可以基于工作负载特征实现业务场景的复现等功能。
参见图6,图6是本申请实施例提供的一种存储设备的功能结构示意图,存储设备30包括处理单元310和存储单元312。该存储设备30可以通过硬件、软件或者软硬件结合的方式来实现。
其中,处理单元310,用于在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征;存储单元312,用于存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在一些可能的实施例中,存储设备30还包括发送单元314,发送单元314用于向仿真设备发送第二workload特征和压缩参数,其中,压缩参数用于将第二workload特征恢复为第一workload特征。在一些可能的实施例中,发送单元314也可以用于向仿真设备发送第一workload特征。
该存储设备30的各功能模块可用于实现图3实施例所描述的方法。在图3实施例中,处理单元310可用于执行S101和S103,存储单元312可用于执行S102,发送单元314可用于执行图5中的S202或S205。该存储设备30的各功能模块还可用于实现图5实施例所描述的存储设备侧的方法,为了说明书的简洁,在此不再赘述。
以上图6所示实施例中的各个单元的一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或专用集成电路(application-specific integratedcircuit,ASIC)。
本申请还提供一种存储设备。如图7所示,存储设备40包括:处理器401、通信接口402、存储器403和总线404。处理器401、存储器403和通信接口402之间通过总线404通信。存储设备40可以是服务器或存储设备。应理解,本申请不限定存储设备40中的处理器、存储器的个数。
总线404可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线404可包括在存储设备40各个部件(例如,存储器403、处理器401、通信接口402)之间传送信息的通路。
处理器401可以包括中央处理器(central processing unit,CPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器403用于提供存储空间,存储空间中可以存储操作***和计算机程序等数据。存储器403可以是随机存取存储器(random access memory,RAM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、只读存储器(read-onlymemory,ROM),或便携式只读存储器(compact disc read memory,CD-ROM)等中的一种或者多种的组合。存储器403可以单独存在,也可以集成于处理器401内部。
通信接口402可用于为处理器401提供信息输入或输出。或者可替换的,该通信接口402可用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(如Wi-Fi、蓝牙、通用无线传输等)接口。或者可替换的,通信接口402还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该存储设备40中的处理器401用于读取存储器403中存储的计算机程序,用于执行前述的方法,例如图3所描述的方法或图5所描述的存储设备侧的方法。
在一种可能的设计方式中,存储设备40可为执行图3所示方法的执行主体中的一个或多个模块,该处理器401可用于读取存储器中存储的一个或多个计算机程序,用于执行以下操作:
在输入输出IO执行过程中,获取存储设备的第一工作负载workload特征;
通过存储单元312存储第一workload特征,第一workload特征用于存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
在本文上述的实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
需要说明的是,本领域普通技术人员可以看到上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random AccessMemory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机程序产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是个人计算机,服务器,或者网络设备、机器人、单片机、芯片、机器人等)执行本申请各个实施例所述方法的全部或部分步骤。

Claims (22)

1.一种工作负载特征提取方法,应用于存储设备,其特征在于,所述方法包括:
在输入输出IO执行过程中,获取所述存储设备的第一工作负载workload特征;
存储所述第一workload特征,所述第一workload特征用于所述存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
2.根据权利要求1所述的方法,其特征在于,所述获取所述存储设备的第一工作负载workload特征,包括:
所述存储设备的处理器根据内存中的工作负载数据,获得所述第一工作负载workload特征。
3.根据权利要求2所述的方法,其特征在于,所述第一workload特征无需外部设备通过离线方式提取。
4.根据权利要求1-3任一项所述的方法,其特征在于,在块业务场景下,所述第一workload特征包括时间特征、流特征和热点分布特征中的至少一项,其中,所述时间特征用于指示所述块业务的IO对应的时间间隔,所述流特征用于指示所述块业务的IO流的访问模式,所述热点分布特征用于指示所述块业务中地址块的重用距离分布。
5.根据权利要求4所述的方法,其特征在于,所述第一workload特征还包括下述特征中的至少一项:IO大小分布、读写占比参数、读写总带宽和非对齐IO数量。
6.根据权利要求1-3任一项所述的方法,其特征在于,在文件***业务场景下,所述第一workload特征包括短时访问特征,所述短时访问特征用于指示所述文件***业务的批次IO在文件、目录、时间、文件内的IO和操作中至少一个维度上的访问模式。
7.根据权利要求6所述的方法,其特征在于,所述第一workload特征还包括全局特征,所述全局特征用于指示文件***的层次结构分布,所述全局特征包括以下特征中的至少一种:
所述文件***的文件数量;
所述文件***的目录数量;
所述文件***的目录深度分布;
所述文件***的目录下文件数量分布;
所述文件***的文件访问频率分布;和
所述文件***的目录访问频率分布。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
对所述第一workload特征进行压缩,获得第二workload特征和压缩参数,所述第二workload特征包括的特征的数量小于所述第一workload特征包括的特征的数量,所述压缩参数用于将所述第二workload特征恢复为所述第一workload特征;
根据所述第二workload特征和所述压缩参数,执行NAS负载均衡、内存分配、数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
向仿真设备发送所述第二workload特征和所述压缩参数,以使所述仿真设备根据所述第二workload特征和所述压缩参数执行内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
10.根据权利要求9所述的方法,其特征在于,所述第二workload特征和所述压缩参数还用于所述仿真设备获取IO仿真数据以及基于所述IO仿真数据验证所述第一workload特征是否可信。
11.一种工作负载特征提取装置,其特征在于,所述装置包括:
处理单元,用于在输入输出IO执行过程中,获取所述存储设备的第一工作负载workload特征;
存储单元,用于存储所述第一workload特征,所述第一workload特征用于所述存储设备的内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
12.根据权利要求11所述的装置,其特征在于,所述处理单元,具体用于:
通过处理器根据内存中的工作负载数据,获得所述第一工作负载workload特征。
13.根据权利要求12所述的装置,其特征在于,所述第一工作负载workload特征无需外部设备通过离线方式提取。
14.根据权利要求11-13任一项所述的装置,其特征在于,在块业务场景下,所述第一workload特征包括时间特征、流特征和热点分布特征中的至少一项,其中,所述时间特征用于指示所述块业务的IO对应的时间间隔,所述流特征用于指示所述块业务的IO流的访问模式,所述热点分布特征用于指示所述块业务中地址块的重用距离分布。
15.根据权利要求14所述的装置,其特征在于,所述第一workload特征还包括下述特征中的至少一项:IO大小分布、读写占比参数、读写总带宽和非对齐IO数量。
16.根据权利要求11-13任一项所述的装置,其特征在于,在文件***业务场景下,所述第一workload特征包括短时访问特征,所述短时访问特征用于指示所述文件***业务的批次IO在文件、目录、时间、文件内的IO和操作中至少一个维度上的访问模式。
17.根据权利要求16所述的装置,其特征在于,所述第一workload特征还包括全局特征,所述全局特征用于指示文件***的层次结构分布,所述全局特征包括以下特征中的至少一种:
所述文件***的文件数量;
所述文件***的目录数量;
所述文件***的目录深度分布;
所述文件***的目录下文件数量分布;
所述文件***的文件访问频率分布;和
所述文件***的目录访问频率分布。
18.根据权利要求11-17任一项所述的装置,其特征在于,处理单元,还用于:
对所述第一workload特征进行压缩,获得第二workload特征和压缩参数,所述第二workload特征包括的特征的数量小于所述第一workload特征包括的特征的数量,所述压缩参数用于将所述第二workload特征恢复为所述第一workload特征;
根据所述第二workload特征和所述压缩参数,执行NAS负载均衡、内存分配或数据搬移、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
发送单元,用于向仿真设备发送所述第二workload特征和所述压缩参数,以使所述仿真设备根据所述第二workload特征和所述压缩参数执行内存分配、数据搬移、网络附加存储NAS负载均衡、冷热数据块识别、预取策略调优、性能瓶颈感知、负载预测或负载变化感知。
20.根据权利要求19所述的装置,其特征在于,所述第二workload特征和所述压缩参数还用于所述仿真设备验证所述第一workload特征是否可信。
21.一种装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储程序指令;在所述处理器执行所述存储器中的程序指令时,所述计装置执行如权利要求1-10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,所述程序指令用于实现权利要求1-10中任一项所述的方法。
CN202210150753.5A 2022-02-18 2022-02-18 一种工作负载特征提取方法及装置 Pending CN116661675A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210150753.5A CN116661675A (zh) 2022-02-18 2022-02-18 一种工作负载特征提取方法及装置
PCT/CN2023/074657 WO2023155703A1 (zh) 2022-02-18 2023-02-06 一种工作负载特征提取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210150753.5A CN116661675A (zh) 2022-02-18 2022-02-18 一种工作负载特征提取方法及装置

Publications (1)

Publication Number Publication Date
CN116661675A true CN116661675A (zh) 2023-08-29

Family

ID=87577578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210150753.5A Pending CN116661675A (zh) 2022-02-18 2022-02-18 一种工作负载特征提取方法及装置

Country Status (2)

Country Link
CN (1) CN116661675A (zh)
WO (1) WO2023155703A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428170C (zh) * 2007-01-26 2008-10-22 清华大学 基于贝叶斯决策的负载感知的io性能优化方法
US20210349749A1 (en) * 2012-02-14 2021-11-11 Aloke Guha Systems and methods for dynamic provisioning of resources for virtualized
US10469582B2 (en) * 2016-04-13 2019-11-05 Netapp, Inc. Methods and systems for managing provisioning requests in a networked storage environment
CN111352577B (zh) * 2018-12-24 2023-03-14 杭州海康威视***技术有限公司 一种对象存储方法及装置
CN109710195A (zh) * 2019-01-08 2019-05-03 郑州云海信息技术有限公司 一种全闪存储负载均衡方法、装置及存储***
CN110149395A (zh) * 2019-05-20 2019-08-20 华南理工大学 一种基于海量小文件高并发情况下动态负载均衡方法

Also Published As

Publication number Publication date
WO2023155703A1 (zh) 2023-08-24

Similar Documents

Publication Publication Date Title
US11733871B2 (en) Tier-optimized write scheme
US10019459B1 (en) Distributed deduplication in a distributed system of hybrid storage and compute nodes
US8949208B1 (en) System and method for bulk data movement between storage tiers
US9715434B1 (en) System and method for estimating storage space needed to store data migrated from a source storage to a target storage
EP2751695B1 (en) System and method for retaining deduplication in a storage object after a clone split operation
US10540095B1 (en) Efficient garbage collection for stable data
US8671445B1 (en) Method and system for transferring replicated information from source storage to destination storage
CN115525602A (zh) 数据处理方法以及相关装置
CN110352410B (zh) 跟踪索引节点的访问模式以及预提取索引节点
US20240220371A1 (en) Data backup system and apparatus
US11907568B2 (en) Storage controller, storage device, and operation method of storage device
WO2023050856A1 (zh) 数据处理方法及存储***
WO2023155703A1 (zh) 一种工作负载特征提取方法及装置
Wang et al. Towards cluster-wide deduplication based on Ceph
WO2015049719A1 (ja) ストレージシステム及びストレージ方法
CN115729889A (zh) 数据访问方法、数据库***、及存储装置
CN115878580A (zh) 一种日志管理方法及装置
KR100785774B1 (ko) 객체 기반 파일 입출력 시스템 및 방법
US11836388B2 (en) Intelligent metadata compression
WO2022267627A1 (zh) 数据处理方法以及相关装置
CN118132520B (zh) 存储***文件处理方法、电子设备、存储介质及程序产品
CN117493284B (zh) 文件存储方法、文件读取方法、文件存储和读取***
WO2022206334A1 (zh) 一种数据压缩方法及装置
EP3995964A1 (en) Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
CN115774695A (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