用于实时设备评估的方法和系统的制作方法

文档序号:6373588阅读:139来源:国知局
专利名称:用于实时设备评估的方法和系统的制作方法
技术领域
本公开一般涉及数据处理系统中的设备性能。更具体地说,本公开涉及数据处理系统中的实时设备评估。
背景技术
目前,数据处理系统中的盘输入/输出(I/O)传输速率和开销一般得自于盘制造商或供应商提供的规范。所述传输速率和开销信息对于应用而言非常有价值,其可用来判定I/o操作成本,从而使应用(或管理员)判定最佳数据访问方案。但是目前这种方法的难点在于数据处理系统中的大量存储器被跨异构盘地虚拟化,从而导致很难判定使用了哪个盘。另一难点是在缺少规范的情况下,很难获取特定设备的传输速率和开销信息。

发明内容
根据一个实施例,一种计算机实现的用于实时设备评估的方法包括启动样本采样工具;从样本数据结构接收样本数据;将所述样本数据发送到目标设备;保存来自所述目标设备的样本数据操作结果以形成样本结果;响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率;使用所述目标设备传输速率和所述样本结果实时计算目标设备开销;以及发送所述目标设备传输速率和所述目标设备开销。根据另一实施例,一种用于实时设备评估的计算机程序产品包括上面存储有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码被配置为启动样本采样工具;从样本数据结构接收样本数据;将所述样本数据发送到目标设备;保存来自所述目标设备的样本数据操作结果以形成样本结果;判定所述样本是否完整;响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率;使用所述目标设备传输速率和所述样本结果实时计算目标设备开销;以及发送所述目标设备传输速率和所述目标设备开销。根据另一实施例,一种系统包括处理器和上面存储有计算机可读程序代码的计算机可读存储介质,其中当所述计算机可读程序代码由所述处理执行时,可使所述系统启动样本采样工具;从样本数据结构接收样本数据;将所述样本数据发送到目标设备;保存来自所述目标设备的样本数据操作结果以形成样本结果;判定所述样本是否完整;响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率;使用所述目标设备传输速率和所述样本结果实时计算目标设备开销;以及发送所述目标设备传输速率和所述目标设备开销。


为了更全面地理解本公开,现在结合附图和详细描述,参考下面的简要描述,其中相同的标号表不相同部分。图1是可针对本公开各种实施例运行的示例性数据处理系统的框图2是根据本公开各种实施例的评估系统的框图;图3是根据本公开一个实施例的、图2的评估系统中的数据流的框图;以及图4是根据本公开一个实施例的、使用图2的评估系统的过程的流程图。
具体实施例方式尽管下面提供了一个或多个实施例的示例性实现,但是所公开的系统和/或方法可以使用任何数量的技术来实现。本公开绝不限于示例性实现、附图以及下面阐述的技术(其中包括在此示出和阐述的示例性设计和实现),并且可以在所附权利要求的范围及其等价物的全部范围内做出修改。所属技术领域的技术人员知道,本公开的方面可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。现在参考图1,其中示出可针对本公开各种实施例运行的示例性数据处理系统的框图。在该说明性示例中,数据处理系统100包括通信结构(fabric)102,其提供处理器单元104、存储器106、持久存储装置108、通信单元110、输入/输出(I/O)单元112以及显示器114之间的通信。处理器单元104用于执行可加载到存储器106中的软件的指令。处理器单元104可以是一个或多个处理器的集合,也可以是多处理器核,这取决于特定实施方式。进一步地,处理器单元104可以使用一个或多个异构处理器系统实现,其中一主处理器与辅助处理器位于一个芯片上。作为另一说明性示例,处理器单元104可以是包含多个同类型处理器的对称多处理器系统。存储器106和持久存储装置108是存储设备116的示例。存储设备是任何能够临时和/或持久存储信息(例如但不限于的数据、功能形式的程序代码和/或其他适当的信息)的硬件。在这些示例中,存储器106例如可以是随机存取存储器或其他任何适当的易失性或非易失性存储设备。持久存储装置108可以采取各种形式,这取决于特定实施方式。例如,持久存储装置108可以包含一个或多个组件或设备。例如,持久存储装置108可以是硬盘驱动器、闪存、可写光盘、可写磁带或上述各项的某种组合。持久存储装置108使用的介质还可以是可拆装的。例如,可使用可拆装硬盘驱动器作为持久存储装置108。在这些示例中,通信单元110提供与其他数据处理系统或设备的通信。在这些示例中,通信单元110为网络接口卡。通信单元110可以使用物理通信链路和无线通信链路中的任一个或两者来提供通信。输入/输出单元112允许与可连接到数据处理系统100的其他设备进行数据输入和输出。例如,输入/输出单元112可以通过键盘、鼠标和/或某些其他适当的输入设备提供用于用户输入的连接。进一步地,输入/输出单元112可以将输出发送到打印机。显示器114提供向用户显示信息的装置。操作系统、应用和/或程序的指令可以位于存储设备116中,所述存储设备通过通信结构102与处理器单元104进行通信。在这些说明性示例中,指令以功能形式存储在持久存储装置108中。这些指令可以加载到存储器106中以便由处理器单元104来执行。不同实施例的过程可以由处理器单元104使用计算机实现的指令来执行,这些指令可位于诸如存储器106之类的存储器中。这些指令被称为程序代码、计算机可用程序代码或计算机可读程序代码,其可由处理器单元104中的处理器读取和执行。不同实施例中的程序代码可以包括在不同的物理或有形计算机可读介质(例如存储器106或持久存储装置108)中。程序代码118以功能形式位于可选择性地拆装的计算机可读介质120中,且可以加载到或传输到数据处理系统100以便由处理器单元104来执行。在这些示例中,程序代码118和计算机可读介质120构成计算机程序产品122。在一个示例中,计算机可读介质120可以采取有形形式,例如插入或放入作为持久存储装置108 —部分的驱动器或其他设备的光盘或磁盘,以传输到存储设备,例如作为持久存储装置108 —部分的硬盘驱动器。在有形形式中,计算机可读介质120还可以采取持久存储装置的形式,例如连接到数据处理系统100的硬盘驱动器、拇指驱动器(thumb drive)或闪存。计算机可读介质120的有形形式还被称为计算机可记录存储介质。在某些示例中,计算机可读介质120可以是不可拆装的。替代地,程序代码118可以通过到通信单元110的通信链路和/或通过到输入/输出单元112的连接,从计算机可读介质120传输到数据处理系统100。所述通信链路和/或连接可以是说明性示例中的物理或无线链路。所述计算机可读介质还可以采取非有形介质的形式,例如包含程序代码的通信链路或无线传输。在某些示例性实施例中,程序代码118可以通过网络从另一设备或数据处理系统下载到持久存储装置108以便在数据处理系统100中使用。例如,服务器数据处理系统中的计算机可读存储介质内存储的程序代码可以通过网络从服务器下载到数据处理系统100。提供程序代码118的数据处理系统可以是服务器计算机、客户端计算机或其他某种能够存储和传输程序代码118的设备。针对数据处理系统100示出的不同组件并非旨在对可以实现不同实施例的方式做出体系结构限制。可以在包括作为所示数据处理系统100的组件的补充或替代的组件的数据处理系统中实现不同的说明性实施例。图1中示出的其他组件可以从所示的说明性示例变化。可以使用任何能够执行程序代码的硬件设备或系统实现不同实施例。作为一个示例,数据处理系统可以包括与无机组件集成的有机组件,以及/或者可以完全由不包括人类的有机组件组成。例如,存储设备可以由有机半导体构成。作为另一示例,数据处理系统100中的存储设备可以是任何能够存储数据的硬件装置。存储器106、持久存储装置108和计算机可读介质120是有形形式的存储设备的示例。在另一示例中,可以使用总线系统实现通信结构102,并且所述总线系统可以包括一条或多条总线,例如系统总线或输入/输出总线。当然,所述总线系统可以使用在连接到所述总线系统的不同组件或设备之间提供数据传输的任何适当类型的体系结构来实现。此夕卜,通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。进一步地,存储器例如可以是存储器106或诸如在可能位于通信结构102内的接口和存储器控制器中心中找到的高速缓存。根据一个示例性实施例,计算机实现的用于使用采样工具进行实时设备评估的方法保存目标设备的样本数据操作结果以形成样本结果,并且响应于判定样本完整,使用所述样本结果实时计算目标设备传输速率以及使用所述目标设备传输速率和所述样本结果实时计算目标设备开销,并将所述目标设备传输速率和所述目标设备开销发送到请求者或其他目的地,其中所述请求者或目的地可以是用户或应用(数据处理系统的组件)。使用图1的数据处理系统100作为示例,示例性实施例提供存储在存储器106中、由处理器单元104执行的计算机实现的方法的计算机可读程序代码以执行实时设备评估。处理器单元104启动样本采样工具,从存储设备116中的样本数据结构接收样本数据,以及将所述样本数据发送到包括所连接的输入/输出单元112的目标设备。处理器单元104将所述目标设备的样本数据操作结果保存到存储设备116中以形成样本结果,并且响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率以及使用所述目标设备传输速率和所述样本结果实时计算目标设备开销。处理器单元104将所述目标设备传输速率和所述目标设备开销发送给用户或应用(系统组件)。在备选实施例中,包含用于计算机实现的方法的计算机可读程序代码的程序代码118可以存储在计算机可读介质120中,作为计算机程序产品122。在另一示例性实施例中,用于实时设备评估的过程可以在包括通信结构、与所述通信结构相连的存储器(其中所述存储器包含计算机可执行程序代码)、与所述通信结构相连的通信单元、与所述通信结构相连的输入/输出单元、与所述通信结构相连的显示器以及与所述通信结构相连的处理器单元的系统中实现。所述系统的处理器单元执行计算机可执行程序代码以引导系统执行所述方法。现在参考图2,其中示出根据本公开各种实施例的评估系统的框图。图2的评估系统200是根据本公开实施例的设备性能评估系统的示例。评估系统200通常依赖于底层数据处理系统(例如,图1中的数据处理系统100)用于操作支持并且包括若干组件,包括配置设置202、速率计算器204、采样工具206、样本数据结构208和反馈通信器210。配置设置202提供管理评估系统200的操作设置的能力。例如,配置设置202的元素通常包括初始化值,例如以吉比特(GB)数表示的测试数据样本大小、数据访问模式(目标设备的直接I/O配置,不使用高速缓存)、目标盘标识符、用于一次样本运行的读或写的次数以及操作类型(读或写)。还可以指定存储位置信息(针对样本输入和输出结果)和输出目的地。也可以包括其他信息以提供与样本运行关联的控制或描述信息。速率计算器204提供使用样本数据实时计算目标盘的传输速率和关联开销值的能力。速率计算器204包括用于针对样本数据结构208中保持的数据,使用从采样工具206获取的结果实时判定总I/O成本内的传输速率和开销的方法。速率计算器204能够针对应用的总I/O成本分离传输速率和开销。采样工具206提供管理测试数据(样本数据)使用的能力,包括与目标设备、样本数据结构208、速率计算器204和反馈通信器210接口连接。采样工具206从样本数据结构208获取数据,用作目标设备的输入,从目标设备接收I/O响应结果,所述响应结果被存储在样本数据结构208中以便随后由速率计算器204来处理。样本数据结构208提供存储用作输入(发送到目标设备)的数据、响应于I/O操作(在目标设备上)的执行而接收的数据的能力。除了正被测量设备的当前响应之外,样本数据结构208还可以存储与采样工具206针对目标设备的先前执行关联的历史信息。配置设置202也可以被存储在样本数据结构2085中。样本数据结构208是根据需要以各种形式实现或者在数据处理系统中可用的存储器。样本数据结构208不需要在物理上位于目标设备或评估系统200的其他组件的本地,而是可以使用通信网络进行访问。反馈通信器210提供用于将评估系统200与其他系统组件进行本地或远程接口连接的通信能力。例如,反馈通信器210实现将使用采样工具206的结果发送给用户或其他应用。参考图3,其示出根据本公开一个实施例的图2内评估系统中的数据流的框图。数据流300是组件配置设置202、速率计算器204、采样工具206、样本数据结构208和反馈通信器210 (图2)及目标设备302之间的操作数据流的示例。流式音频/视频领域中先前的解决方案提供用于测量存储设备的数据传输速率的方法,其中针对指定数据访问模式,通过存储器中“虚拟缓冲区”发送数据。测量数据传输速率与用户指定数据传输速率进行比较。使用测量数据和指定(基线)传输速率之间的差别调整应用的虚拟I/O缓冲区。类似的示例测量处理物理存储设备和设备驱动器层之间具有已知I/o大小的I/O请求的时间。测量的处理时间然后与发布的盘驱动器规范进行比较,且使用比较结果调整诸如队列深度之类的设备驱动器属性。先前的解决方案的另一当前变形测量特定性能度量,对收集的数据执行历史分析以判定目标性能值,并且基于测量目标与历史目标之间的差别进行判定。在该示例中,性能收集模型使用采样传输速率代理来仅测量主机总线适配器(HBA)、存储区域网络(SAN)端口和存储后端的I/O路径中的特定点处的传输速率。该示例不测量应用层的传输速率,也不测量本公开中描述的端到端值。又一示例提供一种性能计量系统,其中计量代理设置特定性能指示器,例如I/O控制器的高速缓存大小或时钟速率。然后测量从基线到值的变化。在当前解决方案的另一示例中,提供了使用包括角速度和线速度、存储容量和传输速率的特性建立恒定角速度(CAV)磁盘、恒定线速度(CLV)光盘或分区盘的性能模型的统一框架。提出所述框架是为了建立统一模型,其中将所述特性应用于使用一个或多个盘类型的系统以在使用不同盘类型之间做出权衡。当前解决方案的另一示例将聚集(aggregate)(物理盘设备的物理片段)分配给卷(包括一个或多个聚集的虚拟存储实体)。该解决方案示例管理聚集在卷中的放置,以通过从多个存储设备中选择聚集(例如负载平衡)最大化I/O性能,但是不会像本公开中描述的那样实时在主机级上测量I/O性能。另一示例描述交互式图形用户界面(⑶I)以显示应用性能。所述⑶I提供代表组件性能(包括可用性特征)的接口以快速亮显热点并触发警报。但是,该示例不会像本公开中那样实时在主机级上测量I/O性能。本公开的实施例测量端到端I/O响应时间(例如,从应用通过操作系统和设备驱动器层到存储设备)。一个实施例能够将开销值和传输速率从总I/o成本内分离出。开销和传输速率一般由诸如数据库管理器之类的应用用来优化I/O成本模型。流304表示到采样工具的请求输入以开始使用样本数据针对特定目标设备的采样会话。流304还表示从采样工具接收适合于传输给指定用户、应用或其他系统组件的结果。流306表示用于修改采样工具的处理行为的先前保存的配置值中的信息和关联采样会话的对应。一般而言,配置设置针对每次调用采样工具被获取,但对于重复操作,例如当针对同一目标设备使用相同样本数据执行样本会话时,其可以被绕过。流308表示采样工具和存储用于一个样本会话或跨多个样本会话使用的数据的数据结构之间的数据交换。样本数据从数据结构流到采样工具以用于目标设备302。目标设备302上使用样本数据的I/O操作的结果然后通过采样工具流回数据结构。流310表示采样工具和目标设备302之间的数据通信流。样本数据从采样工具流出,导致在目标设备302上执行I/O操作,然后测量所述I/O操作并报告回给采样工具。在一个示例中,I/O操作按照连续的顺序执行。流312表示采样工具和计算装置之间的通信。例如,速率计算器接收来自采样工具的请求,以使用与采样会话关联的样本数据提供传输速率和开销计算。所述速率计算器将被请求计算的结果提供给采样工具以传输给用户、应用或其他组件和/或直接传输到样本数据结构。流314表示存储器位置中的样本数据结构和传输速率计算之间的数据通信流。所述速率计算器使用从样本数据结构流出的数据,并将计算结果发送到存储器以进行存储和后续使用。参考图4,其示出根据本公开一个实施例使用图2的评估系统的方法的流程图。过程400是使用图2的评估系统200的样本会话过程的示例。诸如数据库管理器之类的应用一般使用盘传输速率和开销作为计算访问所需数据的有效方案以解决请求的手段。传输速率和开销一般是使用正被使用的盘的供应商提供的规范获取的。但是,当使用虚拟化资源时,识别数据可能驻留的盘并不是显而易见的,盘可能随时间发生更改。所公开的方法400允许在不了解供应商提供的盘规范的情况下,实时获取传输速率和开销。方法400提供根据经验判定输入/输出(I/O)速率,以便判定I/O传输速率和I/O开销的度量的能力。对这些值的判定使用实际I/o速率,从而允许诸如数据库管理器之类的应用使用实际I/o速率更好地判定用于特定操作的最佳方法。例如,数据库管理系统使用的当前非经验的方法使用设备供应商规范计算传输速率和开销。传输速率是将一个数据页读入存储器所需的以毫秒表示的时间估计。假设文件驻留在一个物理盘上,使用盘规范计算该值的传统方法将传输速率判定为(l/speC_rate) *1000/1024000*read_size,其中spec_rate表不以每秒兆字节(MB)表不的传输速率盘规范。使用spectate作为除数提供了每MB所需的秒数。中间结果乘以每秒的1000毫秒,再除以每MB的1024000字节。然后使用以字节数表示的read_size作为乘数(例如,对于4千字节(KB)读的4096字节)。使用传统方法的同一示例判定开销值。开销是启动读之后、但是在任何文件数据被读入存储器之前所需的以毫秒表示的时间估计。此开销活动包括文件I/O控制器开销以及盘等待时间(latency time),所述盘等待时间包括盘寻道时间(seek time)。使用所述示例,开销被计算为以毫秒表示的平均寻道时间加上(0. 5*转动时间)。值0. 5表示半圈旋转的平均开销。针对每个完全旋转以毫秒为单位将旋转等待时间计算为(1/RPM) *60*1000)。值I除以每分钟旋转数以获取每转分钟数,然后乘以每分钟的60秒和每秒的1000毫秒。平均寻道时间是一个假设值。方法400包括假设开销相当,而不考虑读大小。该假设是有效的,假设盘旋转的一半不受读大小的影响,这对于跨大盘的小读是一个合理假设,并且避免从盘进行实际物理读的存储装置功能(例如,缓存)将被禁用。一个示例性实施例使用内部和外部存储装置两者上的单个盘来验证盘规范与所公开方法的实现。代表性应用的采样工具用于执行IO采样。在示例中,I/O大小设置为4K和128K,而样本大小为40GB,从而导致327680个读,每个读128K。使用顺序活动判定传输速率规范。用于开销的I/O采样利用绕过盘控制器高速缓存命中的访问模式以使结果可与实际盘规范进行比较。直接I/O针对类似于数据库最佳实践的文件系统进行配置。方法400开始(402)并启动样本采样工具(404)。所述采样工具通常作为用户或应用发起的对特定目标设备的样本数据集请求的结果来启动。方法400从样本数据结构接收样本数据(406),先前启动的采样工具从包含具有样本数据的样本数据结构的存储位置接收样本数据。样本数据结构中包含的其他数据(包括配置信息和样本数据结果)在方法400中用于管理样本处理操作。 在采样工具中获取样本数据之后,方法400将样本数据发送到目标设备(408 )。所述目标设备通常在配置设置中或作为请求的一部分被识别。目标设备执行与解决样本数据中的I/O请求关联的操作。方法400从所述目标设备接收输出并将来自目标设备的样本数据操作结果保存到样本数据结构中以形成样本结果(410)。样本数据操作结果同样可以根据需要可选择地存储在其他存储位置中。方法400判定样本是否完整(412)。当判定样本完整时,获得“是”结果。当判定样本不完整时,获得“否”结果。响应于获得“否”结果(412),方法400循环回以像前面那样执行408。响应于获得“是”结果(412),方法400使用样本结果计算设备传输速率(414)。使用I/O读速率采样的经验公式可以计算传输速率和开销值。令X表示大读(对该示例假设为
128K)的时间,令Y表示小读(对该示例假设为4K)的时间。使用表达式
权利要求
1.一种计算机实现的用于实时设备评估的方法,所述计算机实现的方法包括 启动样本采样工具; 从样本数据结构接收样本数据; 将所述样本数据发送到目标设备; 保存来自所述目标设备的样本数据操作结果以形成样本结果; 判定所述样本是否完整; 响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率; 使用所述目标设备传输速率和所述样本结果实时计算目标设备开销;以及 发送所述目标设备传输速率和所述目标设备开销。
2.如权利要求1中所述的计算机实现的方法,其中所述启动样本采样工具进一步包括 使用配置设置信息初始化所述采样工具。
3.如权利要求1中所述的计算机实现的方法,其中所述从样本数据结构接收样本数据进一步包括 接收包括一组不同I/o操作大小的样本数据,其中所述一组不同I/O操作大小包括一个或多个读I/o操作或一个或多个写I/O操作。
4.如权利要求1中所述的计算机实现的方法,其中所述使用所述样本结果计算目标设备传输速率进一步包括 计算大读的传输速率,其中所述大读包括大读大小减去小读大小,其中所述大读的传输速率包括大读总I/o时间的总和与小读总I/O时间的总和之差除以读次数;以及 将小读的传输速率计算为大读的传输速率乘以表示小读大小的值,再除以表示大读大小减去小读大小的值。
5.如权利要求1中所述的计算机实现的方法,其中所述使用所述目标设备传输速率和所述样本结果计算目标设备开销进一步包括 将大读的总I/o时间和小读的传输速率与读次数的乘积之差除以读次数。
6.如权利要求1中所述的计算机实现的方法,其中所述发送所述目标设备传输速率和所述目标设备开销进一步包括 将所述目标设备传输速率和所述目标设备开销发送给请求者,其中所述请求者包括用户或应用。
7.如权利要求1中所述的计算机实现的方法,其中所述从样本数据结构接收样本数据进一步包括 接收包括替代读的写信息的样本数据。
8.一种用于实时设备评估的系统,包括 处理器;以及 上面存储有计算机可读程序代码的计算机可读存储介质,其中当所述计算机可读程序代码在所述处理器上执行时,可使所述系统 启动样本采样工具; 从样本数据结构接收样本数据; 将所述样本数据发送到目标设备;保存来自所述目标设备的样本数据操作结果以形成样本结果; 判定所述样本是否完整; 响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率; 使用所述目标设备传输速率和所述样本结果实时计算目标设备开销;以及 发送所述目标设备传输速率和所述目标设备开销。
9.如权利要求8中所述的系统,其中执行所述计算机可读程序代码以启动样本采样工具的所述处理器进一步使所述系统 使用配置设置信息初始化所述采样工具。
10.如权利要求8中所述的系统,其中执行所述计算机可读程序代码以从样本数据结构接收样本数据的所述处理器进一步使所述系统 接收包括一组不同I/o操作大小的样本数据,其中所述一组不同I/O操作大小包括一个或多个读I/o操作或一个或多个写I/O操作。
11.如权利要求8中所述的系统,其中执行所述计算机可读程序代码以使用所述样本结果计算目标设备传输速率的所述处理器进一步使所述系统 计算大读的传输速率,其中所述大读包括大读大小减去小读大小,其中所述大读的传输速率包括大读总I/o时间的总和与小读总I/O时间的总和之差除以读次数;以及 将小读的传输速率计算为大读的传输速率乘以表示小读大小的值,再除以表示大读大小减去小读大小的值。
12.如权利要求8中所述的系统,其中执行所述计算机可读程序代码以使用所述目标设备传输速率和所述样本结果计算目标设备开销的所述处理器进一步使所述系统 将大读的总I/O时间与小读的传输速率和读次数的乘积之差除以读次数。
13.如权利要求8中所述的系统,其中执行所述计算机可读程序代码以发送所述目标设备传输速率和所述目标设备开销的所述处理器单元进一步使所述系统 发送给请求者,其中所述请求者是用户和应用之一。
全文摘要
一种用于实时设备评估的方法包括启动样本采样工具,从样本数据结构接收样本数据并将所述样本数据发送到目标设备。所述方法保存来自所述目标设备的样本数据操作结果以形成样本结果,并且响应于判定所述样本完整,使用所述样本结果实时计算目标设备传输速率并且使用所述目标设备传输速率和所述样本结果实时计算目标设备开销,然后发送所述目标设备传输速率和所述目标设备开销。
文档编号G06F11/34GK103019919SQ20121025204
公开日2013年4月3日 申请日期2012年7月20日 优先权日2011年7月22日
发明者E·恰利尼, A·德希尔瓦, A·F·诺马尼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1