CN116266102A - 工作负载特性和经过时间之间的相关性 - Google Patents
工作负载特性和经过时间之间的相关性 Download PDFInfo
- Publication number
- CN116266102A CN116266102A CN202210423770.1A CN202210423770A CN116266102A CN 116266102 A CN116266102 A CN 116266102A CN 202210423770 A CN202210423770 A CN 202210423770A CN 116266102 A CN116266102 A CN 116266102A
- Authority
- CN
- China
- Prior art keywords
- tokens
- instructions
- workload
- storage medium
- representation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 claims description 82
- 238000012549 training Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 1
- 239000013598 vector Substances 0.000 description 66
- 238000009826 distribution Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及工作负载特性和经过时间之间的相关性。在一些示例中,系统接收与计算系统的工作负载的特性相关的第一令牌集合。所述系统对所述第一令牌集合进行编码,所述编码包括计算表示所述第一令牌集合的令牌之间的关系的权重,以及基于所述权重生成所述第一令牌集合的表示。所述系统基于所述表示,确定所述第一令牌集合和与执行所述工作负载的经过时间相关的第二令牌集合之间的相关性。
Description
背景技术
存储系统包括可以在其上执行各种不同类型的工作负载的存储资源和其他资源(包括处理资源和通信资源)。不同的工作负载可能竞争存储系统的资源。
附图说明
本公开的一些实施方式参考以下附图进行描述。
图1是根据本公开一些示例的布置的框图,该布置将变换器模型应用于与计算系统的工作负载相关的输入令牌集合以产生与执行工作负载的经过时间相关的第二令牌集合。
图2是示出了根据一些示例的关系的框图,该关系是与产生工作负载的请求的特性相关的第一直方图和与执行工作负载的经过时间相关的第二直方图。
图3是示出根据一些示例的请求大小特征的分布和服务时间特征的分布的图表。
图4是示出根据一些示例的用于导出请求大小直方图的仓的离散值的百分比分仓的框图。
图5是根据一些示例的示例注意力函数的框图。
图6是根据一些示例的存储机器可读指令的存储介质的框图。
图7是根据一些示例的系统的框图。
图8是根据一些示例的过程的流程图。
在所有附图中,相同的附图标记表示相似但不一定相同的元素。这些图不一定按比例绘制,并且某些部件的尺寸可能被放大以更清楚地说明所示示例。此外,附图提供了与描述一致的示例和/或实施方式。然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,术语“一(a)”、“一个(an)”或“该(the)”的使用也旨在包括复数形式,除非上下文另有明确指示。此外,当在本公开中使用时,术语“包括(includes,including)”、“包含(comprises,comprising)”、“具有(have,having)”指定了所述元素的存在,但不排除其他元素的存在或添加。
在存储系统的操作期间,可以接收(例如从主机系统接收)数据访问请求以访问由存储系统存储的数据。数据访问请求可以包括读取请求和写入请求,这些请求使得存储系统中的工作负载性能获得目标结果(例如,从存储系统读取数据或向存储系统写入数据)。
可以执行存储性能基准测试以表征给定预期工作负载情况下的存储系统的性能。“工作负载”可以指在计算环境(例如存储系统、计算机系统、网络系统等)中由实体(例如,机器可读指令、虚拟实体、硬件部件等)执行的任何活动集合。
尽管随后的讨论涉及涉及存储系统的示例,但应注意,根据本公开的一些示例的技术或机制可以应用于其他类型的系统,包括计算机系统、网络系统等。
估计针对给定工作负载的存储系统的性能可以帮助企业(例如,公司、教育组织、政府机构、个人等)适当地调整存储系统的大小,其中存储系统的“调整大小”可以指在存储系统中提供资源以适应预期的工作负载。资源的示例可以包括物理资源(例如存储设备),处理资源(例如,处理器、处理器的核等),通信资源(例如,网络接口控制器、交换机等)等。存储设备的示例可以包括基于磁盘的存储设备、固态存储设备、存储器设备(例如,动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备等)等等。存储系统的资源还可以包括逻辑资源,例如虚拟机、虚拟处理器、虚拟通信设备等。
估计存储系统的性能也有助于评估存储系统是否满足目标性能水平和/或是否存在异常。异常可能是由恶意软件的存在或者硬件或机器可读指令中的错误引起的。估计存储系统性能可以允许企业确定对于给定的工作负载,存储系统性能是否随着时间的推移而下降或改善。对存储系统性能进行基准测试还可以允许与给定社区(例如全球社区、其他企业等)中的存储系统的性能进行比较。
在一些情况下,为了执行基准测试,可以基于所测量的性能指标创建模型,所测量的性能指标有时被称为关键性能指标(KPI)。KPI的示例包括输入/输出(I/O)需求率(例如,I/O请求大小、每大小的请求数等)。其他KPI包括经过时间(例如,执行I/O请求的工作负载的服务时间、与执行I/O请求的工作负载相关联的延迟等)。准确的建模依赖于以高粒度水平测量KPI(例如,以相对较小的时间间隔或在存储系统的许多不同位置测量),这会给存储系统的资源带来相对较大的负担,从而削弱存储系统服务实际工作负载的能力。
在一些情况下,为了减少所测量的KPI的数量,存储系统可以对KPI进行采样,其中在指定的采样间隔期间对KPI进行测量。在一些示例中,可以将所采样的I/O需求率度量和采样的经过时间度量收集到直方图中。直方图包括多个仓。例如,如果将I/O需求率表示为I/O请求大小,则I/O需求率直方图的不同仓可以对应于不同的I/O请求大小。例如,读取请求可以读取不同大小的数据(即不同数量的数据),例如512字节(512B)数据、1k字节(1kB)数据、2kB数据等。这些不同的I/O请求大小对应于I/O请求大小直方图的不同仓。每个仓都分配有一个“量值”,该量值表示对应的I/O请求大小的发生量。例如,I/O请求大小直方图的512B仓的量值可以具有表示512B I/O请求的发生量的值。给定大小的I/O请求的发生量可以被表示为给定大小的I/O请求的数量(计数),给定大小的I/O请求的发生频率(每单位时间计数),用于表示给定大小的I/O请求与I/O请求总数的比率的百分比,或任何其他指示在存储系统中遇到了多少给定大小的I/O请求的指示。
类似地,经过时间直方图具有与执行I/O请求的工作负载的不同经过时间相对应的仓,并且每个仓被分配一个值,该值表示执行I/O请求的工作负载的相应经过时间的发生量。
尽管这样的直方图可以帮助理解不同大小的I/O请求的分布以及在一段持续时间内(即,相同的持续时间)执行I/O请求的工作负载的经过时间的分布,但是该直方图无法提供哪些I/O请求大小对哪些经过时间有贡献的洞察。
与获得哪些I/O请求大小对哪些经过时间有贡献的洞察相关的挑战是I/O需求率直方图和经过时间直方图具有取自不同域的值。此外,直方图之间没有位置对齐(例如,I/O需求率直方图的桶和经过时间直方图的桶之间没有对齐),并且直方图之间没有单调关系。相反,直方图之间可能存在复杂的关系。
根据本公开的一些示例,可以确定I/O需求率直方图和经过时间直方图之间的对齐,以允许I/O需求率直方图的特定仓和经过时间直方图的相应仓之间的相关性。所确定的对齐例如提供了指示每个I/O需求率特性(例如,I/O请求大小)和每个相应经过时间之间的关系的信息。
尽管示例涉及I/O需求率直方图和经过时间直方图的使用,但在其他示例中,可以基于从诸如存储系统、计算机系统、网络系统等的计算环境的不同域中获得的值的其他集合来确定对齐。
1.变换器模型
图1示出了根据本公开的一些实施方式的包括变换器模型102的示例布置。变换器模型102用于确定工作负载的特性(例如,诸如I/O请求大小和每大小的请求数的I/O需求率特性)和执行I/O请求的工作负载的经过时间之间的对齐。
工作负载在存储系统中被执行,该存储系统可以包括在其上执行工作负载的各种资源。在一些示例中,存储系统可以包括存储卷(单个存储卷或多个存储卷)的集合,其中存储卷是指数据存储的逻辑分区。
更一般地,变换器模型102可以用于在其他类型的计算环境中执行的工作负载。
图1示出了示例请求大小直方图104和服务时间直方图108。请求大小直方图104的仓沿水平轴表示,每个仓代表相应的不同的I/O请求大小。类似地,服务时间直方图108的仓由水平轴表示,每个仓代表相应的不同的服务时间。“服务时间”可以指服务一个I/O请求(或多个I/O请求)所花费的时间量。
请求大小直方图104的纵轴表示多个仓的每个仓中I/O请求大小的发生量(计数、频率、百分比等),并且服务时间直方图108的纵轴表示多个仓的每个仓中服务时间的发生量。
由请求大小直方图104和服务时间直方图108中的每一个直方图的纵轴所表示的量值是可以具有相对大的无界范围的连续值。为了与变换器模型102一起使用,请求大小直方图104和服务时间直方图108中的每一个直方图可以首先由处理系统100变换为离散值的相应集合,所述相应集合被表示为请求大小令牌110的集合和服务时间令牌的集合112.
“处理系统”可以指代可以执行机器可读指令的计算机(单个计算机或多个计算机)的集合。在一些示例中,变换器模型102可以由处理系统100训练和执行。在其他示例中,变换器模型102可以由处理系统100构建和训练,经训练的变换器模型102可以被部署在其他处理系统上。
在根据图1的示例中,请求大小令牌集合110和服务大小令牌集合112中的每一个的水平轴被表示为分位数。此外,集合110和112中的每一个的纵轴使用有界量值来表示。有界量值包括下限和上限之间的量值。以这种方式,变换器模型102被应用于值的有界集合以获得更好的计算效率和准确性。
下面进一步讨论关于如何导出具有有界值的集合110和112的细节。
请求大小令牌的集合110(在图1中被表示为x1,x2,……,xr,其中r≥2)可以作为变换器模型102的输入。服务大小令牌的集合112(在图1中被表示为y1,y2,……,yt,其中t≥2,并且其中r和t可以相同或不同)由变换器模型102输出。
服务时间令牌(y1,y2,……,yt)是由变换器模型102一次一个所计算的输出令牌。注意,根据本公开的一些示例,由于每个服务时间令牌(yj,其中j=1,……t)由变换器模型102生成,生成的服务时间令牌(yj)被作为反馈输入(图1中的150)提供给变换器模型102,以帮助生成下一个服务时间令牌。
变换器模型102被设计为仅在给定特定存储系统的请求大小直方图(或其他I/O需求率直方图或与工作负载的特征相关的不同直方图)的情况下,估计服务时间直方图(或更具体地,服务时间令牌112的集合)。在一些示例中,可以为不同的存储系统(例如,具有不同资源的存储系统)构建不同的变换器模型102。
以下讨论涉及具有读取工作负载的示例。更一般地,变换器模型102可以应用于写入工作负载,或包括读取和写入操作的工作负载。
在一些示例中,变换器模型102能够在给定存储系统及其由相应直方图表示的I/O需求率和服务时间分布的情况下,确定服务时间直方图中的服务时间如何在I/O需求率直方图中的读取请求大小之间分布,反之亦然。图2示出了示例的请求大小直方图202和服务时间直方图204。在图2的具体示例中,请求大小直方图202具有相应不同I/O请求大小(512B、1kB、2kB、...、16MB)的M个仓(M≥2),并且服务时间直方图204具有相应不同服务时间(例如,0.062毫秒(ms)、0.025ms、...、16秒(s))的N个仓(N≥2,其中M和N可相同或不同)。每个仓都有一个量值。请求大小直方图202的仓和服务时间直方图204的仓之间的相应对齐和每个相应对齐的强度的度量是基于由变换器模型102产生的信息导出的,并由图2中的线206表示(但可能由其他类型的指示符表示)。对齐可以指示请求大小直方图202中的仓是否与服务时间直方图204中的仓有关系,并且相应的强度可以指示关系的强度(在线表示对齐的情况下,强度可以用线的粗细、颜色或任何其他属性来表示)。如果由请求大小直方图202中的仓所表示的I/O请求大小对服务时间直方图204中的仓所表示的服务时间有贡献,则请求大小直方图202中的仓和服务时间直方图204中的仓之间存在关系。
根据本公开的一些示例,变换器模型102可以采用自然语言处理技术(例如,用于不同语言之间的机器翻译),但被应用于令牌集合(例如,110和112)以执行令牌集合的对齐。变换器模型102是将可变长度序列作为输入并生成输出序列的序列到序列模型的形式。在一些示例中,“注意力”技术被应用在不依赖于具有某种时间类型或其他顺序的输入序列的变换器模型102中。注意力技术提供令牌(例如图1中令牌集合110和112)的位置信息。
在变换器模型102的编码器114和解码器116中使用注意力逻辑来应用注意力技术。编码器114包括应用于x1,x2,……,xr(图1中的请求大小令牌的集合110)的所变换的表示的自注意力逻辑120,解码器116包括应用于y1,y2,……,yt(服务时间令牌的集合112)的所变换的表示的自注意力逻辑126。解码器116还包括应用于编码器114的输出和解码器116中的自注意力逻辑126的输出的注意力逻辑128。
编码器114和解码器116中的每一个都可以使用一个或多个硬件处理电路来实现,硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或其他硬件处理电路的任何或某种组合。可替代地,编码器114和解码器116中的每一个可以使用一个或多个硬件处理电路和在一个或多个硬件处理电路上可执行的机器可读指令(软件和/或固件)的组合来实现。
自注意力使单个序列的不同位置(例如,令牌集合110或112的不同令牌)相关,以计算序列的表示。例如,编码器114中的自注意力逻辑120将自注意力应用到与存储系统中的工作负载相关的输入令牌(例如,集合110的请求大小令牌),对输入令牌进行编码以计算表示输入令牌之间的关系的权重,并根据该权重生成输入令牌的表示。与工作负载相关的输入令牌的表示可以是输出令牌的形式。
解码器116中的自注意力逻辑124将自注意力应用于与服务时间(例如,集合112的服务时间令牌)相关的输入令牌,对与服务时间相关的输入令牌进行编码以计算表示与服务时间相关的输入令牌之间的关系的权重,并基于由自注意力逻辑124计算的权重生成与服务时间相关的输入令牌的表示。与服务时间相关的输入令牌的表示可以是输出令牌的形式。
注意力逻辑128将注意力应用于由编码器114产生的输出令牌和由自注意力逻辑126产生的输出令牌,从而确定由编码器114产生的输出令牌和由自注意力逻辑126产生的输出令牌之间的关系(以权重的形式)。这些权重可用于获得工作负载特性(例如,I/O请求大小)和服务时间之间的对齐(例如,如图2中的线206所指示的)。
编码器114包括线性逻辑118,并且解码器116包括线性逻辑124。编码器114中的线性逻辑118将请求大小令牌x1,x2,……,xr的输入集合变换为内部向量的集合(每个令牌xi(i的取值为1到r)都被变换为相应的内部向量)。向量包含多个元素。线性逻辑118将每个请求大小令牌变换成相应的内部向量,该内部向量包括一起表示请求大小令牌的多个元素(例如,多个数字)。
类似地,解码器116中的线性逻辑124将到目前为止由解码器116生成的服务时间令牌y1等变换为相应的内部向量。在一些示例中,由线性逻辑118或124产生的每个内部向量是固定长度的内部向量。
解码器116识别在编码器114中产生的内部向量的子集,该内部向量的子集可能与服务时间直方图的任何位置值的生成相关。例如,图2中的服务时间直方图204的2ms服务时间仓中的量值可以由请求大小直方图202的2kB、1kB和512B仓中的量值驱动。上述内容确定了来自不同域的令牌集合之间的对齐。
注意,在来自不同域的令牌集合(例如,集合110和112)之间可能存在复杂的非单调关系,其中每个令牌集合没有被排序(根据时间或其他顺序)。在一些示例中,编码器114和解码器116不采用任何循环模型。
如图1所示,编码器114还包括前馈神经网络122,并且解码器包括前馈神经网络130。前馈神经网络130的输出被提供以产生来自解码器116的输出。
编码器114的各种部件(118、120和122)可以使用编码器114的一个或多个硬件处理电路的一部分来实现,或者替代地,可以使用可由编码器114的一个或多个硬件处理电路执行的机器可读指令来实现。类似地,解码器116的各种部件(124、126、128和130)可以使用解码器116的一个或多个硬件处理电路的一部分来实现,或者替代地,可以使用可由解码器116的一个或多个硬件处理电路执行的机器可读指令来实现。
在编码器114中,编码器114中的前馈神经网络122基于训练数据执行机器学习。前馈神经网络122的机器学习可以在最初创建变换器模型102时执行,也可以在变换器模型102产生附加输出时迭代执行。类似地,解码器116中的前馈神经网络130基于训练数据执行机器学习。最初,当变换器模型102被构建时,可以创建包括令牌的训练集合(例如,请求大小令牌的训练集合和服务时间令牌的训练集合)的训练数据。可以将令牌的训练集合提供给变换器模型102以用于训练变换器模型102。令牌的训练集合可以由用户或其他实体填充。在一些示例中,令牌的训练集合可以包括随机值或来自其他源的值(例如来自用户或其他实体的值)。在一些示例中,令牌的训练集合可以包括请求大小令牌的训练集合和服务时间令牌的训练集合,其中,请求大小令牌的训练集合和服务时间令牌的训练集合之间的对齐是已知的,例如来自手动分析或其他分析。在其他示例中,请求大小令牌的训练集合和服务时间令牌的训练集合可以在它们之间的对齐未知的情况下而被使用。
例如,变换器模型102可以基于请求大小令牌的训练集合来预测服务时间令牌的输出集合。训练过程可以将服务时间令牌的预测输出集合与服务时间令牌的训练集合进行比较,并确定服务时间令牌的预测输出集合中存在多少误差。
可以执行多次训练迭代,直到由变换器模型102产生的预测输出具有小于指定误差阈值的误差。在每次训练迭代中,每个前馈神经网络122或130更新(学习)编码器114和解码器116中所使用的变换器模型102的参数,使得变换器模型102开始向正确的输出(即,具备在指定的误差阈值内的误差的输出)收敛。
由前馈神经网络122或130更新(学习)的参数将在下面进一步讨论。
2.将输入从连续空间变换为离散空间
在一些示例中,包含无界连续值的直方图(例如,图1的在其仓中包含连续值的请求大小直方图104和服务时间直方图108)被变换为具有有界离散值的令牌集合,例如图1的请求大小令牌110的集合和服务时间令牌112的集合。“连续值”是指不限于一组特定离散值的值。例如,在请求大小仓中,量值可以具有各种可能值中的任何一个(例如,各种计数值、频率值、百分比值等中的任何一个)。
上面讨论的示例涉及如何将(图1中)请求大小直方图104(具有无界的量值)变换为请求大小令牌110的集合(具有有界的离散量值)。
处理系统100可以按升序(或其他顺序)对请求大小直方图104的各个仓中的量值进行排序,并生成量值数组。例如,从请求大小直方图104导出的量值数组被提供如下:[10,421,0,0,4352,0,0,……,987,0,5167,2944]。其中,数组中的每个条目对应于由直方图104的仓所表示的请求大小(即,数组指示大小为512B的10个请求,大小为1kB的421个请求等)。
经过排序后,按如下提供排序后的量值数组:[0,0,0,0,0,0,0,10,13,30,……,4352,5167,17438]。
注意,在前述示例中,量值(从请求大小直方图104所获得)具有从最小值0到最大值17438的值的大的(无界的)变化。
处理系统100可以导出用于在排序后的量值数组上实施分位数切割的分位数比率。在统计学中,分位数可以理解为将分布范围划分为分段的连续区间的点。定义区间的分位数点可以是基于分位数比率划分范围的点。例如,0.1或10%的分位数比率将是定义分布的值范围内的一个点或值,该分布内的10%的值可能位于该点或值之下。以类似的方式,0.9或90%的分位数比率将是定义分布的值范围内的一个点或值,该分布内的90%的值可能位于该点或值之下。
在一些示例中,分位数比率可以均匀分布,例如“十分位数”,其中分位数比率被定义为0.1、0.2、0.3、……、0.9和1.0,其中每个分位数比率按0.1因子递增。在其他示例中,分位数比率可以被不相等地定义,例如0.1、……、0.9、0.92、0.94、0.998和1.0。
分位数切割的实施可以基于排序后的量值数组内的值是如何分布的。靠近分布末端的给定范围内的大量元素可能在分布的早期需要进行较粗的分位数切割,并在靠近分布的末端时进行更细化的切割。
图3示出了请求大小特征分布302和服务时间特征分布304的示例,请求大小特征分布302被分为分位数0.1、0.2、0.3、……、0.9和1.0,服务时间特征分布304被分为分位数0.1、0.2、0.3、……、0.9和1.0。注意,服务时间特征分布304中的大量非零元素落在分位数的后半部分,例如0.5、0.6、0.7、0.8、0.9和1.0。作为结果,处理系统100可以在分布的早期定义较粗的分位数切割(例如,0.0到0.5的切割)并且在靠近分布末端时定义更细化的切割(例如,在0.5和1.0之间的更精细的切割)。在上面的示例中,不同的分位数分仓策略被用于请求大小特征分布302和服务时间特征分布304。
在一些示例中,请求大小特征分布302可以被用作图1的请求大小令牌110的集合,并且具有修改的分位数切割的服务时间特征分布可以被用作图1的服务时间令牌112的集合。
分位数比率可以作为来自个人(例如管理员)的输入而被提供,或者可以基于由处理系统100实施的自动分析。例如,处理系统100可以解析经排序的量值数组以确定最大值和最小值。基于最大值和最小值,处理系统100可以确定用于实施分位数切割的比率。
进一步注意,请求大小特征分布302和服务时间特征分布304中的每一个使用有界量值,这与直方图104和106的无界量值不同。因此,请求大小特征分布302的对应分位数中的每个“请求大小特征”由有界量值表示,并且服务时间特征分布304的对应分位数中的每个“服务时间特征”由有界量值表示。
在一些示例中,处理系统100可以应用百分位分仓来导出每个分布302或304的有界量值。图4示出了应用百分位分仓以获得请求大小直方图104的各个仓的有界量值范围的示例。在图4的示例中,512B仓的量值1134被映射到有界量值5,1kB仓的量值23000被映射到有界量值7,2kB仓的量值910被映射到有界量值6,依此类推。
在图3的示例中,请求大小特征分布302的有界量值的范围是从0到14,时间特征分布304的有界量值的范围是从0到14。在其他示例中,请求大小特征分布302和时间特征分布304可以使用不同范围的有界量值。从百分位分仓导出的有界量值被用作变换器模型102所使用的令牌集合(集合110和112)的有界值。
注意,所使用的分仓策略是动态的,其取决于直方图的特定值。对于不同的存储系统,分仓策略可能不同。
以上,输入(例如,图1的直方图104和108)从连续空间变换到离散空间(例如,请求大小令牌的集合110和服务时间令牌的集合112)。
3.变换器模型
变换器模型102计算条件概率分布,该条件概率分布估计以输入序列为条件的输出序列的概率。条件概率分布包括与由解码器116预测的每个输出令牌相关联的概率。
如上所述,图1的服务时间令牌(y1,y2,……,yt)是由变换器模型102一次一个所计算的输出令牌。对于每个位置j(j的取值为1到t),计算各个候选服务时间令牌的概率,概率最高的候选服务时间令牌被选择作为位置j的服务时间令牌yj。“候选”服务时间令牌是来自服务时间令牌集合112的所有可能的服务时间令牌,其可以被分配为每个位置j处的服务时间令牌yj。
给定整个输入序列(例如,请求大小令牌110的集合)和先前生成的输出令牌,变换器模型102基于以下学习到的条件概率的使用一次一个地预测输出令牌:
其中y是当前正在被计算的输出令牌,p(y)是建模为所有输出令牌yj的联合条件概率的概率,这些输出令牌yj以所有先前的输出令牌和从输入令牌导出的上下文向量c为条件(上下文向量c将在下面进一步讨论)。
在进一步的示例中,学习到的等式1的条件概率可被应用于对给定的输入和输出序列对之间的概率进行评分,其可用于在给定请求大小特征(或其他工作负载特征)的情况下检测服务时间分布中的异常。
请注意,直方图(例如,直方图104或106)的仓中的量值具有位置重要性但不具有时间重要性,例如,请求大小直方图104的128kb仓中的量值不影响64k仓中的量值和服务时间仓之间的关系。
4.4.注意力函数
图5是注意力函数500和线性逻辑502的框图。注意力函数500可用于实现图1的自注意力逻辑120、自注意力逻辑126和注意力逻辑128中的每一个。线性逻辑502可用于实现图1中的线性逻辑118和124中的每一个。
线性逻辑502接收输入令牌f1,f2,f3,f4,f5。尽管图5显示了具有五个输入令牌的示例,但在其他示例中,使用了不同数量的输入令牌。
对于图1的编码器114中的线性逻辑118,输入令牌是请求大小令牌x1,x2,……,xr。对于解码器116中的线性逻辑124,输入令牌是到目前为止生成的反馈服务时间令牌(y1,……)。线性逻辑502将输入令牌f1,f2,f3,f4,f5变换为内部向量h1,h2,h3,h4,h5的集合。
注意,图1的注意力函数128不与线性逻辑相关联,因为编码器114和自注意力逻辑126的输出已经是向量形式。解码器116中的注意力逻辑128的输入包括编码器114输出的向量和自注意力逻辑126输出的向量。
注意力函数500的输出是输出向量z1,z2,z3,z4,z5的集合。
在一些示例中,线性逻辑502将嵌入算法应用于输入令牌f1,f2,f3,f4,f5。嵌入算法将每个输入令牌变换为实数向量。嵌入算法产生的每个向量都有固定的大小。
注意力函数500应用查询、键和值操作,使得如果查询与键对齐,则返回对应的值。
从内部向量h1,h2,h3,h4,h5的每个内部向量hk(k=1到5),注意力函数500创建查询向量qk、键向量kk和值向量vk,从而创建查询向量(q1,q2,q3,q4,q5)、键向量(k1,k2,k3,k4,k5)和值向量(v1,v2,v3,v4,v5)。注意力函数500可以通过将内部向量h1,h2,h3,h4,h5乘以在变换器模型102的训练期间所生成的三个参数矩阵WQ,WK和WV来创建查询向量、键向量和值向量。更具体地,将hk乘以WQ生成qk,将hk乘以WK生成kk,并且将hk乘以WV生成vk。
在变换器模型102的训练期间,参数矩阵WQ,WK和WV由前馈神经网络(例如,图1中的122或130)更新。
注意力函数500对齐查询(或更具体地,查询向量)和键(或更具体地,键向量)并输出相应的值(或更具体地,值向量)。如果注意力函数500正在应用自注意,则对齐在来自同一内部向量集合的区间向量之间。
然而,对于图1的注意力函数128,对齐在对应于来自编码器114的输出向量的查询向量和对应于来自解码器116的自注意力逻辑126的输出向量的键向量之间。
如果查询与多于一个键对齐,则返回由对齐分数加权的值的加权平均值。例如,如果h4与h1和h5强对齐,则注意力函数500生成的h4的输出是基于由注意力函数500所计算的对齐权重的h1和h2的结果的加权平均值。
一旦已经获得查询向量、键向量和值向量,注意力函数500计算每个内部向量hk的分数。例如,如果正在计算h2的分数,则每个其他内部向量h1,h3,h4和h5都会针对h2进行评分。分数是通过查询向量与正在被评分的相应内部向量的键向量的点积来计算的。h1的分数通过q1和k1的点积来计算,h2的分数通过q2和k2的点积来计算,依此类推。每个内部向量hm的分数采用包括多个分数的分数向量的形式(相对于其他内部向量的分数hm)。
接下来,注意力函数500将分数向量中的分数除以缩放因子,例如,键向量的大小的平方根,或其他缩放因子。缩放为各个内部向量h1,h2,h3,h4和h5提供缩放后的分数向量(ssv1,ssv2,ssv3,ssv4和ssv5)。缩放分数向量ssv1包含h1的缩放分数,缩放分数向量ssv2包含h2的缩放分数,依此类推。
接下来,将加权函数应用于缩放分数向量中的缩放分数,如下所示,以产生相应的权重αmk(其中m=1到5,并且k=1到5):
其中emk是表示hm和hk之间的相似性的相似性分数(由应用在上面讨论的缩放分数向量上的相似性函数产生),Tx是输入令牌的长度(在图5的示例中为5)。函数exp(emk)是计算emk的指数的指数函数。
每个权重αmk反映了内部向量hm相对于内部向量hk在生成适当的编码并最终生成输出令牌yj时的重要性。
权重{α11,α12,α13,α14,α15},{α21,α22,α23,α24,α25},{α31,α32,α33,α34,α35},{α41,α42,α43,α44,α45}和{α51,α52,α53,α54,α55}被用于填充如图5所示的对齐模型a。
然后使用对齐模型a中的权重与值向量v1,v2,v3,v4,v5相乘,以生成图5中的上下文向量c的条目。具体地,将v1与{α11,α12,α13,α14,α15}中的每个权重相乘,以产生wv11,wv12,wv13,wv14和wv15;将v2与{α21,α22,α23,α24,α25}}中的每个权重相乘,以产生wv21,wv22,wv23,wv24和wv25;将v3与{α31,α32,α33,α34,α35}中的每个权重相乘,以产生wv31,wv32,wv33,wv34和wv35;将v4与{α41,α42,α43,α44,α45}}中的每个权重相乘,以产生wv41,wv42,wv43,wv44和wv45;以及将v5与{α51,α52,α53,α54,α55}}中的每个权重相乘,以产生wv51,wv52,wv53,wv54和wv55。
然后,计算上下文向量c的条目的总和以获得注意力向量z1,z2,z3,z4和z5,它们是注意力函数500的输出。具体而言,z1为wv11,wv12,wv13,wv14和wv15的总和;z2是wv21,wv22,wv23,wv24和wv25的总和;z3是wv31,wv32,wv33,wv34和wv35的总和;z4是wv41,wv42,wv43,wv44和wv45的总和;z5是wv51,wv52,wv53,wv54和wv55的总和。
虽然在图1中的自注意力逻辑120和126中的每一个中所应用的注意力函数500计算的是指定与单个输入令牌集合(x1,x2,……,xr或y1,y2,……,yt)相对应的内部向量之间的关系的权重αmk,但应用在注意力逻辑128中的注意力函数500计算的是指定对应于两个不同输出(编码器114的输出和解码器116中的自注意力逻辑126的输出)的向量之间的关系的权重αmk。
因此,注意力函数500产生的权重αmk指示输入令牌和输出令牌之间的关系,例如,请求大小令牌(x1,x2,……,xr)和服务时间令牌(y1,y2,……,yt)之间的关系。权重可以指示输入令牌(例如,xi)和输出令牌(yj)之间是否存在关系以及该关系的强度。例如,如果表示xi和yj之间关系的权重超过阈值,则表示xi和yj之间存在关系,并且该关系的强度由权重的值指示(例如,较高的权重值表示较强的关系)。如果表示xi和yj之间的关系小于阈值,则表明xi和yj之间不存在关系。
输入令牌和输出令牌之间的关系可以在输出表示(例如热图或其他图形表示)中被呈现,以允许用户可视化输入令牌和输出令牌之间的任何关系(例如,由不同的颜色或不同的亮度或不同的数值表示)。
以这样方式,变换器模型102的输出可用于预测对于给定的请求大小分布,服务时间将如何分布。此外,指定请求大小和服务时间之间关系的权重可以允许用户或其他实体(程序或机器)确定给定特定请求大小的工作负载的预期服务时间。以这样方式,用户或其他实体可以为特定请求大小的给定工作负载分配存储系统中的适当资源,以便存储系统可以在满足性能目标的同时执行工作负载。
变换器模型102的输出也可以用于解决存储系统中的问题。用户或其他实体可以将存储系统的实际服务时间与变换器模型102为特定请求大小产生的预期服务时间进行比较,以确定存储系统中是否存在异常(例如,存储系统负担过重并且性能不佳,程序或硬件部件中存在错误等)。可以采取警报或其他补救措施来解决异常。
5.示例
图6是存储机器可读指令的非暂态机器可读或计算机可读存储介质600的框图,所述机器可读指令在执行时使系统执行各种任务。该系统可以包括一台计算机或计算机集合。
机器可读指令包括第一令牌集合接收指令602,用于接收与计算系统(例如,存储系统、计算机系统、网络系统等)的工作负载特性(例如,I/O请求的大小)相关的第一令牌集合。
机器可读指令包括第一令牌集合编码指令604,用于对第一令牌集合进行编码,该编码包括计算表示第一令牌集合的令牌之间的关系的权重(例如,通过图1的自注意力逻辑120),以及基于权重生成第一令牌集合的表示(例如,第一令牌集合的表示可以是图1的编码器114的输出)。
机器可读指令包括令牌相关性指令606,该令牌相关性指令606用于基于表示,确定第一令牌集合和与执行工作负载的经过时间相关的第二令牌集合之间的相关性。该相关性例如可以由图1的解码器116执行。
在一些示例中,变换器模型被用于递归地生成第二令牌集合的令牌并且反馈第二令牌集合的生成的令牌作为变换器模型的输入。
在一些示例中,在给定第一令牌集合和第二令牌集合的任何先前生成的令牌的情况下,变换器模型输出第二令牌集合的每个令牌的概率。
在一些示例中,权重是基于将自注意力函数应用于第一令牌集合来计算的,其中自注意力函数基于对齐第一令牌集合的各个令牌对来计算权重。
在一些示例中,自注意力函数基于使用训练数据集训练的参数矩阵(例如WQ,WK,和WV)的使用来对齐各个令牌对。
在一些示例中,自注意力函数计算权重与由对齐各个令牌对所产生的值(例如,值向量vk)的乘积。
在一些示例中,机器可读指令基于表示第一令牌集合的令牌和第二令牌集合的令牌之间的关系的权重,指示由第二令牌集合表示的经过时间与由第一令牌集合表示的工作负载的特性之间的关系的强度。
在一些示例中,权重的不同值表示由第二令牌集合表示的经过时间与由第一令牌集合表示的工作负载的特性之间的关系的不同强度。
图7是系统700(例如,计算机或计算机的集合)的框图。
系统700包括硬件处理器702(或多个硬件处理器)。硬件处理器可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或其他硬件处理电路。
系统700包括存储机器可读指令的非暂态存储介质704,所述机器可读指令可在硬件处理器702上执行以执行各种任务。可在硬件处理器上执行的机器可读指令可以指可在单个硬件处理器上执行的指令或可在多个硬件处理器上执行的指令。
存储介质704中的机器可读指令包括第一令牌集合接收指令706,该第一令牌集合接收指令用于在编码器处接收与产生计算系统的工作负载的请求的特性相关的第一令牌集合。
存储介质704中的机器可读指令包括第一令牌集合权重计算指令708,该第一令牌集合权重计算指令用于使用编码器计算表示第一令牌集合的令牌之间的关系的权重。
存储介质704中的机器可读指令包括第一令牌集合表示生成指令710,该第一令牌集合表示生成指令用于基于权重,使用编码器生成第一令牌集合的表示。
存储介质704中的机器可读指令包括第一令牌集合表示接收指令712,该第一令牌集合表示接收指令用于在解码器处从编码器接收第一令牌集合的表示。
存储介质704中的机器可读指令包括相关性确定指令714,该相关性确定指令用于基于表示,在解码器处确定第一令牌集合和与执行工作负载的经过时间相关的第二令牌集合之间的相关性。
在一些示例中,编码器和解码器中的每一个都包括使用训练数据训练的神经网络。
图8是根据一些示例的过程800的流程图。
过程800包括训练(在802)可用于确定输入令牌集合和输出令牌集合之间的关系的变换器模型,输入令牌集合与计算系统中的工作负载的特征相关,并且输出令牌集合与执行工作负载的经过时间相关。
过程800包括由经训练的变换器模型确定(在804)表示输入令牌集合的令牌之间的关系的第一权重。
过程800包括由经训练的变换器模型基于权重生成(在806)输入令牌集合的表示。
过程800包括由经训练的变换器模型确定(在808)表示输出令牌集合的令牌之间的关系的第二权重。
过程800包括由经训练的变换器模型基于权重生成(在810)输出令牌集合的表示。
过程800包括基于输入令牌集合的表示和输出令牌集合的表示,确定(在812)输入令牌集合和输出令牌集合之间的关系。
存储介质(例如,图6中的600或图7中的704)可以包括以下项的任何或某种组合:半导体存储器设备,例如DRAM或SRAM、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)和闪存等;磁盘,例如固定磁盘、软盘和可移动磁盘;包括磁带在内的其他磁性介质;光盘(CD)或数字视频光盘(DVD)等光学介质;或其他类型的存储设备。注意,上面所讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者可替代地,可以在分布在可能具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种计算机可读或机器可读存储介质被认为是物品(或制造物品)的一部分。物品或制造物品可以指任何被制造的单个部件或多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中,或者位于可以通过网络从其下载机器可读指令以供执行的远程站点。
在前述描述中,阐述了许多细节以提供对本文公开的主题的理解。然而,可以在没有这些细节中的一些细节的情况下实施实施方式。其他实施方式可以包括对上述细节的修改和变化。所附的权利要求旨在涵盖这样的修改和变化。
Claims (20)
1.一种非暂态机器可读存储介质,所述非暂态机器可读存储介质包括指令,所述指令在执行时使系统执行以下操作:
接收与计算系统的工作负载的特性相关的第一令牌集合;
对所述第一令牌集合进行编码,所述编码包括计算表示所述第一令牌集合的令牌之间的关系的权重,以及基于所述权重生成所述第一令牌集合的表示;以及
基于所述表示,确定所述第一令牌集合和与执行所述工作负载的经过时间相关的第二令牌集合之间的相关性。
2.根据权利要求1所述的非暂态机器可读存储介质,其中,用于确定所述第一令牌集合和所述第二令牌集合之间的所述相关性的指令包括用于执行以下操作的指令:确定具有在所述第一令牌集合中表示的第一特性的请求对在所述第二令牌集合中表示的第一经过时间有贡献。
3.根据权利要求1所述的非暂态机器可读存储介质,其中,所述第一令牌集合表示不同特性的请求,所述工作负载响应于不同特性的请求。
4.根据权利要求1所述的非暂态机器可读存储介质,其中,所述第二令牌集合表示所述工作负载中不同的服务时间或操作延迟。
5.根据权利要求1所述的非暂态机器可读存储介质,其中,对所述第一令牌集合进行编码并确定所述第一令牌集合和所述第二令牌集合之间的所述相关性的指令包括用于变换器模型的指令,用于变换器模型的所述指令用于递归地生成所述第二令牌集合的令牌并且反馈所述第二令牌集合的生成的令牌作为所述变换器模型的输入。
6.根据权利要求5所述的非暂态机器可读存储介质,其中,在给定所述第一令牌集合和所述第二令牌集合的任何先前生成的令牌的情况下,所述变换器模型输出所述第二令牌集合的每个令牌的概率。
7.根据权利要求1所述的非暂态机器可读存储介质,其中,用于计算所述权重的指令包括用于将自注意力函数应用于所述第一令牌集合的指令,并且其中,所述自注意力函数基于对齐所述第一令牌集合的各个令牌对来计算所述权重。
8.根据权利要求7所述的非暂态机器可读存储介质,其中,所述自注意力函数基于使用训练数据集训练的参数矩阵的使用来对齐所述各个令牌对。
9.根据权利要求7所述的非暂态机器可读存储介质,其中,所述自注意力函数计算所述权重与由对齐所述各个令牌对所产生的值的乘积。
10.根据权利要求1所述的非暂态机器可读存储介质,其中,用于对所述第一令牌集合进行编码的指令是编码器的一部分,并且其中,所述非暂态机器可读存储介质包括用于解码器的指令,用于解码器的所述指令在执行时使所述系统基于计算表示第二令牌集合的令牌之间的关系的另外的权重来对所述第二令牌集合进行解码,并且基于所述另外的权重生成所述第二令牌集合的表示;并且
其中,用于确定所述第一令牌集合和所述第二令牌集合之间的所述相关性的指令基于所述第一令牌集合的所述表示和所述第二令牌集合的所述表示。
11.根据权利要求10所述的非暂态机器可读存储介质,其中,用于编码的所述指令包括将第一自注意力函数应用于所述第一令牌集合的指令,并且其中,用于解码的所述指令包括将第二自注意力函数应用于所述第二令牌集合的指令。
12.根据权利要求11所述的非暂态机器可读存储介质,其中,用于解码的所述指令包括基于所述第一令牌集合的所述表示和所述第二令牌集合的所述表示来应用注意力函数的指令。
13.根据权利要求12所述的非暂态机器可读存储介质,其中,所述注意力函数产生表示第一令牌集合的令牌和所述第二令牌集合的令牌之间的关系的权重。
14.根据权利要求13所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统执行以下操作:
基于表示第一令牌集合的所述令牌和所述第二令牌集合的所述令牌之间的所述关系的所述权重,指示由所述第二令牌集合表示的所述经过时间与由所述第一令牌集合表示的所述工作负载的所述特性之间的关系的强度。
15.根据权利要求14所述的非暂态机器可读存储介质,其中,所述权重的不同值表示由所述第二令牌集合表示的所述经过时间与由所述第一令牌集合表示的所述工作负载的所述特性之间的所述关系的不同强度。
16.一种系统,包括:
处理器;和
非暂态存储介质,所述非暂态存储介质存储能够在所述处理器上执行的指令,所述指令用于:
在编码器处接收与产生计算系统的工作负载的请求的特性相关的第一令牌集合;
使用所述编码器计算表示所述第一令牌集合的令牌之间的关系的权重;
基于所述权重,使用所述编码器生成所述第一令牌集合的表示;
在解码器处从所述编码器接收所述第一令牌集合的所述表示;以及
基于所述表示,在所述解码器处确定所述第一令牌集合和与执行所述工作负载的经过时间相关的第二令牌集合之间的相关性。
17.根据权利要求16所述的系统,其中,所述指令能够在所述处理器上执行以:
递归地一次一个地生成所述第二令牌集合的令牌;以及
将生成的令牌反馈到所述解码器的输入,以生成所述第二令牌集合的进一步的令牌。
18.根据权利要求16所述的系统,其中,所述编码器和所述解码器中的每一个均包括使用训练数据训练的神经网络。
19.一种用于包括硬件处理器的系统的方法,包括:
训练能够用于确定输入令牌集合和输出令牌集合之间的关系的变换器模型,所述输入令牌集合与计算系统中的工作负载的特性相关,并且所述输出令牌集合与执行所述工作负载的经过时间相关;
由经训练的变换器模型确定表示所述输入令牌集合的令牌之间的关系的第一权重;
由经训练的变换器模型基于所述权重生成所述输入令牌集合的表示;
由经训练的变换器模型确定表示所述输出令牌集合的令牌之间的关系的第二权重;
由经训练的变换器模型基于所述权重生成所述输出令牌集合的表示;以及
基于所述输入令牌集合的所述表示和所述输出令牌集合的所述表示,确定所述输入令牌集合和所述输出令牌集合之间的关系。
20.根据权利要求19所述的方法,其中,所述输入令牌集合表示第一直方图,所述第一直方图包括表示所述工作负载的不同特性的仓,并且所述输出令牌集合表示第二直方图,所述第二直方图包括表示不同经过时间的仓。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202141059108 | 2021-12-17 | ||
IN202141059108 | 2021-12-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116266102A true CN116266102A (zh) | 2023-06-20 |
Family
ID=86606025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210423770.1A Pending CN116266102A (zh) | 2021-12-17 | 2022-04-21 | 工作负载特性和经过时间之间的相关性 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11882175B2 (zh) |
CN (1) | CN116266102A (zh) |
DE (1) | DE102022108670A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664106A (en) | 1993-06-04 | 1997-09-02 | Digital Equipment Corporation | Phase-space surface representation of server computer performance in a computer network |
US9507887B1 (en) | 2013-03-13 | 2016-11-29 | EMC IP Holding Company LLC | Adaptive techniques for workload distribution across multiple storage tiers |
US9753987B1 (en) | 2013-04-25 | 2017-09-05 | EMC IP Holding Company LLC | Identifying groups of similar data portions |
US9384227B1 (en) | 2013-06-04 | 2016-07-05 | Amazon Technologies, Inc. | Database system providing skew metrics across a key space |
US10795868B2 (en) | 2013-11-22 | 2020-10-06 | Teradata Us, Inc. | Summarizing statistical data for database systems and/or environments |
US9665288B1 (en) | 2013-12-26 | 2017-05-30 | EMC IP Holding Company LLC | Techniques for determining workload skew |
US10339455B1 (en) | 2014-03-24 | 2019-07-02 | EMC IP Holding Company LLC | Techniques for determining workload skew |
US10671431B1 (en) | 2014-09-25 | 2020-06-02 | EMC IP Holding Company LLC | Extent group workload forecasts |
US9983795B1 (en) | 2015-03-31 | 2018-05-29 | EMC IP Holding Company LLC | Techniques for determining a storage configuration |
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 |
US10778552B2 (en) * | 2018-04-30 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Storage system latency evaluation based on I/O patterns |
US11436052B2 (en) | 2019-06-17 | 2022-09-06 | Hewlett Packard Enterprise Development Lp | Shared resource operational metric |
-
2022
- 2022-02-04 US US17/649,993 patent/US11882175B2/en active Active
- 2022-04-10 DE DE102022108670.4A patent/DE102022108670A1/de active Pending
- 2022-04-21 CN CN202210423770.1A patent/CN116266102A/zh active Pending
-
2024
- 2024-01-22 US US18/418,424 patent/US20240195864A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022108670A1 (de) | 2023-06-22 |
US20230199060A1 (en) | 2023-06-22 |
US20240195864A1 (en) | 2024-06-13 |
US11882175B2 (en) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210256348A1 (en) | Automated methods for conversions to a lower precision data format | |
US8818922B2 (en) | Method and apparatus for predicting application performance across machines with different hardware configurations | |
US20200293924A1 (en) | Gbdt model feature interpretation method and apparatus | |
Rosin | Multi-armed bandits with episode context | |
CN110084271B (zh) | 一种图片类别的识别方法和装置 | |
US9805313B2 (en) | Method and apparatus for supplying interpolation point data for a data-based function model calculation unit | |
CN108833458B (zh) | 一种应用推荐方法、装置、介质及设备 | |
TWI433035B (zh) | 按比例調整指令間隔以識別用於代表性指令追蹤的收集點 | |
Ipek et al. | Efficient architectural design space exploration via predictive modeling | |
US20120221373A1 (en) | Estimating Business Service Responsiveness | |
Garg et al. | Confounding tradeoffs for neural network quantization | |
Abate et al. | Adaptive aggregation of Markov chains: Quantitative analysis of chemical reaction networks | |
CN115576502B (zh) | 一种数据存储的方法、装置、电子设备以及存储介质 | |
US8290969B2 (en) | Systems and methods for validating interpolation results using monte carlo simulations on interpolated data inputs | |
US20090182994A1 (en) | Two-level representative workload phase detection method, apparatus, and computer usable program code | |
CN112668238A (zh) | 一种降雨量处理方法、装置、设备和存储介质 | |
Cook et al. | Predictive design space exploration using genetically programmed response surfaces | |
Baker et al. | Bayesian accuracy analysis of stochastic circuits | |
JP7152938B2 (ja) | 機械学習モデル構築装置および機械学習モデル構築方法 | |
Ma et al. | Ordinal optimization-based performance model estimation method for HDFS | |
Shaochuan | Bayesian multiple changepoint detection for stochastic models in continuous time | |
CN116266102A (zh) | 工作负载特性和经过时间之间的相关性 | |
Kousathanas et al. | A guide to general-purpose ABC software | |
Matheny et al. | Using surrogate-based modeling to predict optimal I/O parameters of applications at the extreme scale | |
US10579754B1 (en) | Systems and methods for performing a fast simulation |
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 |