CN1924862A - 调整计算系统的一个或多个输入/输出参数的装置和方法 - Google Patents

调整计算系统的一个或多个输入/输出参数的装置和方法 Download PDF

Info

Publication number
CN1924862A
CN1924862A CNA2006101157299A CN200610115729A CN1924862A CN 1924862 A CN1924862 A CN 1924862A CN A2006101157299 A CNA2006101157299 A CN A2006101157299A CN 200610115729 A CN200610115729 A CN 200610115729A CN 1924862 A CN1924862 A CN 1924862A
Authority
CN
China
Prior art keywords
parameter
processor
speed
adjusted
readable program
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
Application number
CNA2006101157299A
Other languages
English (en)
Other versions
CN100410948C (zh
Inventor
C·A·克莱恩
J·P·亨利
J·W·艾恩
A·L·佩德森
E·S·麦加尔
N·L·比卢普斯
E·A·维加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1924862A publication Critical patent/CN1924862A/zh
Application granted granted Critical
Publication of CN100410948C publication Critical patent/CN100410948C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种调整包括至少一个计算设备、一个或多个数据存储设备和一个或多个可变I/O参数的计算系统的一个或多个输入/输出参数的方法。所述方法为每个所述一个或多个I/O参数建立变化值和稳定期。所述方法确定当前I/O速率,选择第i个I/O参数,其中该第i个I/O参数包括第i个当前值。然后所述方法将第i个I/O参数设置为等于由第i个变化值修改的第i个当前值,计算已调整的I/O速率,并判定已调整的I/O速率是否小于当前I/O速率。如果已调整的I/O速率不小于当前I/O速率,则所述方法将已调整的第i个I/O速率保存为第i个当前值。所述方法重复调整第i个I/O参数直至该调整的I/O速率小于先前的I/O速率,然后将减去变化值的第i个I/O参数值保存为新的当前值。

Description

调整计算系统的一个或多个输入/输出参数的装置和方法
技术领域
本发明涉及调整计算系统的一个或多个输入/输出参数的装置和方法。在某些实施例中,本发明涉及调整信息存储和检索系统的一个或多个输入/输出参数的装置和方法。
背景技术
通常,计算系统包括至少一个与一个或多个数据存储设备通信的计算设备。所述一个或多个计算设备和所述一个或多个数据存储设备双向交换数据。在某些实施例中,计算系统包括信息检索系统,所述信息检索系统包括多个数据存储设备。
信息存储和检索系统用于存储由一个或多个主机系统提供的信息。此类信息存储和检索系统接收将信息写入一个或多个数据存储设备的请求,以及从所述一个或多个数据存储设备检索信息的请求。在某些实施例中,系统一接收到读取请求,就会从所述一个或多个数据存储设备取回信息并将该信息移动到数据高速缓存。这样,所述计算系统持续地在多个数据存储设备、数据高速缓存和一个或多个互连的主机中来回移动信息。
需要一种自动调整一个或多个输入/输出(“I/O”)参数以优化所述一个或多个计算设备与所述一个或多个数据存储设备之间的总体数据流(即,I/O速率)的装置和方法。
发明内容
申请人的发明包括一种调整计算系统的一个或多个I/O参数的方法。所述方法提供了包括至少一个计算设备、一个或多个数据存储设备以及一个或多个可变I/O参数的计算系统。所述方法为所述一个或多个I/O参数中的每个参数建立变化值和稳定期。所述方法确定当前I/O速率并选择第i个I/O参数,其中该第i个I/O参数包括第i个当前值。
所述方法然后将第i个I/O参数设置为等于第i个当前值加上第i个变化值、计算已调整的I/O速率并判定所述已调整的I/O速率是否小于所述当前I/O速率。如果所述已调整的I/O速率不小于所述当前I/O速率,则所述方法将所述已调整的第i个I/O参数保存为第i个当前值。所述方法重复地调整第i个I/O参数直到结果I/O速率小于之前的I/O速率为止。
附图说明
通过结合附图阅读以下详细说明,可以更好地理解本发明,其中相同的标号用于指定相同的元件,这些附图是:
图1是示出申请人的信息存储和检索系统的一个实施例的方块图;
图2是示出包括三个存储阵列的图1的信息存储和检索系统的方块图;
图3是概述申请人的方法的某些步骤的流程图;
图4是概述申请人的方法的某些附加步骤的流程图;以及
图5是概述申请人的方法的某些附加步骤的流程图。
具体实施方式
参考附图在以下描述中以优选实施例说明了本发明,其中相同的数字代表相同或相似的元件。本发明将被描述为包含在数据处理系统中,所述数据处理系统包括与一个或多个主机通信的信息存储和检索系统。但是,以下对申请人方法的描述并非旨在将申请人的发明限于数据处理系统,因为此处的发明通常可应用于调整一个或多个I/O参数以便在一个或多个计算设备与一个或多个信息存储设备之间双向地交换数据。
在图1的示例性实施例中,系统100包括主机390以及信息存储和检索系统101,后者能够通过通信链路395与主机390通信。图1的示例性实施例示出了单个主机。在其他实施例中,申请人的信息存储和检索系统能够与多个主机通信。
主机390包括诸如大型机、个人计算机、工作站及其组合之类的计算设备,其中所述计算设备包括诸如Windows、AIX、UNIX、MVS、Linux之类的操作系统393。(Windows是Microsoft公司的注册商标;AIX是IBM公司的注册商标,MVS是IBM公司的商标;UNIX是通过The OpenGroup独家授权的在美国和其他国家地区的注册商标;并且Linux是LinusTorvald的注册商标)。在某些实施例中,操作系统393包括一个或多个与主机390通信的一个或多个数据存储设备的设备驱动器。
主机390还包括处理器394。在某些实施例中,主机390还包括存储管理程序391。主机390中的存储管理程序可以包括本领域中公知的存储管理型程序的功能,所述存储管理型程序管理去往和来自信息存储和检索系统(如在IBM MVS操作系统中实现的IBM DFSMS)的数据传输。
在某些实施例中,申请人的信息存储和检索系统包括多个主机适配器。在图1的示例性实施例中,系统100包括主机适配器102-105、107-110、112-115和117-120。在其他实施例中,申请人的信息存储和检索系统所包括的主机适配器少于16个。仍在其他实施例中,申请人的信息存储和检索系统所包括的主机适配器多于16个。在某些实施例中,一个或多个所述主机适配器是多端口的。不管申请人的系统的任何实施例中布置了多少主机适配器,这些主机适配器中的每个主机适配器都包括共享资源,所述共享资源对中央处理/高速缓存元件130和140具有同等访问。
每个主机适配器可以包括一个或多个光纤通道端口、一个或多个FICON端口、一个或多个ESCON端口或一个或多个SCSI端口以及类似的端口。每个主机适配器都通过互连总线121与两个群集相连,以便每个群集都能够处理来自任何主机适配器的I/O。每个子系统中的内部总线分别通过处理器部分130/140与I/O部分160/170之间的远程I/O桥155/195相连。
处理器部分130包括处理器132和高速缓存134。在某些实施例中,处理器部分130还包括存储器133。在某些实施例中,存储器设备133包括随机存取存储器。在某些实施例中,存储器设备133包括非易失性存储器。
处理器部分140包括处理器142和高速缓存144。在某些实施例中,处理器部分140还包括存储器143。在某些实施例中,存储器设备143包括随机存取存储器。在某些实施例中,存储器设备143包括非易失性存储器。
I/O部分160包括多个设备适配器161,其在图1的示例性实施例中包括设备适配器165、166、167和168。I/O部分160还包括非易失性存储(NVS)162和用于NVS 162的后备电池164。
I/O部分170包括多个设备适配器171,其在图1的示例性实施例中包括设备适配器175、176、177和178。I/O部分170还包括非易失性存储(NVS)172和用于NVS 172的后备电池174。
在申请人的系统的某些实施例中,布置在申请人的信息存储和检索系统中的第一控制卡上布置有一个或多个主机适配器、处理器部分130和一个或多个设备适配器。同样地,在某些实施例中,布置在申请人的信息存储和检索系统中的第二控制卡上布置有一个或多个主机适配器、处理器部分140和一个或多个设备适配器。
在图1的示例性实施例中,十六个数据存储设备被安排为两个阵列,即阵列180和阵列190。图1的示例性实施例示出了两个存储设备阵列。
在某些实施例中,一个或多个所述数据存储设备包括多个硬盘驱动器单元。在某些实施例中,阵列180和阵列190使用RAID协议。在某些实施例中,阵列180和阵列190包括有时被称为JBOD(即“简单磁盘捆绑”)的阵列,其中所述阵列未根据RAID配置。在某些实施例中,阵列180和阵列190包括有时被称为SBOD(即“交换组磁盘”)的阵列。
图1的示例性实施例示出了两个存储设备阵列。在其他实施例中,申请人的系统包括单个存储设备阵列。仍在其他实施例中,申请人的系统包括多于两个的存储设备阵列。
在图2的示例性实施例中,申请人的信息存储和检索系统包括交换机的双光纤通道仲裁(“FC-AL”)环,其中设备适配器165(图1、2)和175(图1、2)借助两个FC-AL环来互连。在图2的示例性实施例中,设备适配器165包括微码202和处理器206。在图2的示例性实施例中,设备适配器175包括微码204和处理器208。
每个环包含一个或多个局部控制器,例如交换机域控制器210、220、230、240、250和260。每个交换机域控制器包括交换机、处理器和微码。在某些实施例中,所述交换机包括光纤通道交换机。在某些实施例中,所述处理器包括SES处理器。例如,局部控制器210、220、230、240、250和260分别包括处理器212、222、232、242、252和262。同样地,局部控制器210、220、230、240、250和260分别包括交换机214、224、234、244、254和264。此外,局部控制器210、220、230、240、250和260还分别包括微码216、226、236、246、256和266。
申请人的发明包括调整计算系统的一个或多个I/O参数的方法。就“计算系统”而言,申请人指至少一个与一个或多个数据存储设备双向通信的计算设备。图3概述了申请人方法的初始步骤。
现在参考图3,在步骤310中,申请人的方法提供了一种计算系统,所述计算系统包括至少一个能够与一个或多个数据存储设备双向通信的计算设备。在某些实施例中,申请人的计算系统包括数据处理系统,例如系统100(图1)。申请人的计算系统包括N个可调(即可变)I/O参数,其中N大于0。在某些实施例中,一个此类可变I/O参数包括在单个写和/或读操作中要传输的数据块的数量,例如BLOCKS_PER_IO参数。在某些实施例中,其他此类可变I/O参数包括可在任何给定时间存在的未完成I/O命令的数量,例如FCP_SCSI_QUEUE_DEPTH参数。在某些实施例中,其他此类可变I/O参数包括特定设备的线程数,例如设备适配器165(图1、2)中的活动线程数。
在步骤320中,申请人的方法为所述一个或多个可变I/O参数中的每个参数建立了最大值、最小值、起始值、变化值、方向矢量和稳定期。表I列出了上述可变I/O参数的这些值。
                                            表I
  参数   最小值   最大值   起始值   变化值   方向矢量   稳定期(秒)
  每I/O的块 1 65535 256 5 +1 30
  队列深度   1   256   5   1   +1   30
  线程计数   1   64   1   1   +1   60
在某些实施例中,表I中列出的一个或多个值由计算设备(如计算机390)的制造商来建立。在某些实施例中,表I中列出的一个或多个值由信息存储和检索系统的制造商建立。在某些实施例中,表I中列出的一个或多个值由信息存储和检索信息的拥有者建立。在某些实施例中,表I中列出的一个或多个值由信息存储和检索系统的操作员建立。在某些实施例中,表I中列出的一个或多个值在信息存储和检索系统的初始启动期间建立。在某些实施例中,表I中列出的一个或多个值由与所述信息存储和检索系统通信的一个或多个主机建立。
在某些实施例中,步骤320中建立的一个或多个参数存储在存储器中,例如布置在计算设备(如主机390)上的实例存储器396中。在某些实施例中,步骤320中建立的一个或多个参数存储在存储器中,例如布置在信息存储和检索系统中的实例存储器133(图1)和/或存储器143(图1)中。在某些实施例中,步骤320中建立的一个或多个参数存储在存储器中,例如布置在信息存储和检索系统中的设备适配器内布置的实例存储器209a(图2)和/或209b(图2)中。在某些实施例中,步骤320中建立的一个或多个参数被写入设备微码中,例如微码216(图2)、226(图2)、236(图2)、246(图2)、256(图2)和266(图2)中。
在步骤330中,申请人的方法选择第i个I/O参数,其中所述第i个I/O参数是步骤310的一个或多个I/O参数中的一个参数。在某些实施例中,步骤330由处理器执行,例如由布置在计算设备(如计算设备390)中的处理器394执行。在某些实施例中,步骤330由处理器执行,例如由使用布置在操作系统(如操作系统393(图1))中的设备驱动器的计算设备中布置的处理器394来执行。
在某些实施例中,步骤330由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤330由处理器执行,例如由布置在所述信息存储和检索系统中的处理器132(图1)执行。在某些实施例中,步骤330由处理器执行,例如由布置在设备适配器(如设备适配器165(图1、2))中的处理器206(图2)执行。在某些实施例中,步骤330由布置在交换机域中的处理器(如交换机域处理器212)执行。
在某些实施例中,步骤330由处理器执行,所述处理器例如是在信息存储和检索系统100外部的装置(如装置392)中布置的处理器398,其中所述装置使用例如通信链路397与系统100双向通信。在某些实施例中,装置392包括用于调整信息存储和检索系统(如系统100)的I/O参数的便携设备。
在步骤340中,申请人的方法检索第i个当前值(即第i个I/O参数的当前值)、第i个最小值、第i个最大值、第i个变化值、第i个稳定期和第i个方向矢量,并将迭代计数器设置为0。
在某些实施例中,步骤340由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤340由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393(图1))中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤340由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤340由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤340由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165(图1、2))中的处理器206(图2)。在某些实施例中,步骤340由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤340由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤340转到步骤350,其中所述方法确定信息存储和检索系统(如系统100)的当前I/O速率。在某些实施例中,步骤350由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤350由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393(图1))中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤350由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤350由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤350由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165(图1、2))中的处理器206(图2)。在某些实施例中,步骤350由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤350由处理器执行,所述处理器例如是在信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤350转到步骤360,其中所述方法通过将第i个I/O参数设置为等于步骤340的第i个I/O当前值加上第i个变化值与第i个方向矢量的乘积来计算已调整的第i个I/O参数。在某些实施例中,步骤360由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤360由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤360由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤360由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤360由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤360由交换机域中布置的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤360由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
在某些实施例中,申请人的方法从步骤360转到步骤370。在其他实施例中,申请人的方法从步骤360转到步骤510(图5),其中申请人的方法判定所述已调整的第i个I/O参数是否大于第i个最大值。在某些实施例中,步骤510由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤510由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤510由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤510由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤510由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤510由交换机域中布置的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤510由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法在步骤510判定已调整的第i个I/O参数大于第i个最大值,则所述方法从步骤510转到步骤530,其中所述方法将第i个I/O参数设置为等于第i个当前值。在某些实施例中,步骤530由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤530由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤530由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤530由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤530由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤530由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤530由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤530转到步骤540,其中所述方法更改第i个方向矢量的符号。在某些实施例中,步骤540由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤540由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤540由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤540由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤540由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤540由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤540由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法从步骤360转到步骤510,则所述方法从步骤540转到步骤360并如此处描述的那样继续。如果申请人的方法从步骤440转到步骤510,则所述方法从步骤540转到步骤440并如此处描述的那样继续。
如果申请人的方法在步骤510判定已调整的第i个I/O参数不大于第i个最大值,则所述方法从步骤510转到步骤520,其中所述方法判定已调整的第i个I/O参数是否小于第i个最小值。在某些实施例中,步骤520由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤520由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤520由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤520由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤520由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤520由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法在步骤520判定已调整的第i个I/O参数小于第i个最小值,则所述方法从步骤520转到步骤530并如此处描述的那样继续。如果申请人的方法在步骤520判定已调整的第i个I/O参数不小于第i个最小值,且如果所述方法从步骤360转到步骤510,则所述方法将从步骤520转到步骤370并如此处描述的那样继续。如果申请人的方法在步骤520判定已调整的第i个I/O参数不小于第i个最小值,且如果所述方法从步骤440转到步骤510,则所述方法将从步骤520转到步骤450并如此处描述的那样继续。
再次参考图3,在步骤370中,申请人的方法开始第i个稳定期。在某些实施例中,步骤370由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤370由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤370由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤370由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤370由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤370由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤370由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
在步骤380,申请人的方法将所述迭代计数器递增1。在某些实施例中,步骤380在第i个稳定期中执行。在某些实施例中,步骤370和步骤380基本同步地执行。在某些实施例中,步骤380由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤380由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤380由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤380由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤380由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤380由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤380由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
在步骤385,申请人的方法判定第i个稳定期是否到期。在某些实施例中,步骤385由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤385由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤385由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤385由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤385由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤385由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤385由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法在步骤385判定在步骤370中开始的第i个稳定期尚未到期,则所述方法继续监视第i个稳定期是否到期。可替代地,如果所述方法在步骤385判定第i个稳定期已到期,则所述方法从步骤385转到步骤410(图4)。
现在参考图4,在步骤410,申请人的方法使用已调整的第i个I/O参数来判定实现了调整的I/O速率。在某些实施例中,步骤410由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤410由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤410由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤410由处理器执行,所述处理器例如布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤410由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤410由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤410由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤410转到步骤420,其中所述方法判定步骤410中确定的调整的I/O速率是否小于步骤350(图3)、步骤470(图4)或步骤425(图4)中确定的当前I/O速率。在某些实施例中,步骤420由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤420由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤420由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤420由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤420由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤420由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤420由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法判定步骤410的I/O速率不小于在步骤350、470或425中确定的当前I/O速率,则所述方法从步骤420转到步骤425,其中所述方法将步骤410中确定的I/O速率保存为当前I/O速率。在某些实施例中,步骤425由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤425由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤425由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤425由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤425由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤425由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤425由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。申请人的方法从步骤425转到步骤360并如此处描述的那样继续。
如果申请人的方法在步骤420判定步骤410中确定的I/O速率小于在步骤350(图3)、470(图4)或425(图4)中确定的I/O速率,则所述方法从步骤420转到步骤430,其中所述方法判定所述迭代计数器是否设为1。在某些实施例中,步骤430由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤430由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤430由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤430由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤430由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤430由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤430由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法在步骤430判定所述迭代计数器被设置为1,则所述方法从步骤430转到步骤435,其中所述方法更改第i个方向矢量的符号,即在步骤435,所述方法将第i个方向矢量设置为等于步骤340的第i个方向矢量与-1的乘积。在某些实施例中,步骤435由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤435由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤435由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤435由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤435由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤435由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤435由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。申请人的方法从步骤435转到步骤360并如此处描述的那样继续。
如果申请人的方法在步骤430判定所述迭代计数器未被设置为1,则所述方法从步骤430转到步骤440,其中所述方法将第i个I/O参数设为等于步骤340中检索的第i个当前值(即反转步骤360中采取的操作)。在某些实施例中,步骤440包括将第i个I/O参数设置为等于步骤360的已调整的值减去第i个变化值与第i个方向矢量的乘积。在某些实施例中,步骤440由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤440由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤440由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤440由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤440由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤440由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤440由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
在某些实施例中,申请人的方法从步骤440转到步骤510并如本文说明的那样继续。在其他实施例中,申请人的方法从步骤440转到步骤450。在步骤450中,申请人的方法实现(即开始)第i个稳定期。在某些实施例中,步骤450由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤450由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤450由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤450由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤450由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤450由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤450由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤450转到步骤460,其中申请人的方法判定第i个稳定期是否到期。在某些实施例中,步骤460由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤460由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤460由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤460由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤460由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤460由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤460由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
如果申请人的方法在步骤460判定步骤450中开始的第i个稳定期尚未到期,则所述方法继续监视第i个稳定期是否到期。可替代地,如果所述方法在步骤460判定第i个稳定期已到期,则所述方法从步骤460转到步骤470,其中所述方法确定所述系统的I/O速率,并将该I/O速率保存为当前I/O速率。在某些实施例中,步骤470由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤470由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤470由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤470由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤470由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤470由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤470由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤470转到步骤480,其中所述方法将步骤440中设置的第i个I/O参数的值保存为第i个当前值。在某些实施例中,步骤480由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤480由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤480由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤480由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤480由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤480由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤480由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤480转到步骤490,其中所述方法将所述迭代计数器设为0。在某些实施例中,步骤490由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤490由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤490由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤490由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤490由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤490由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤490由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。
申请人的方法从步骤490转到步骤495,其中所述方法将i递增1(即将i设为等于i+1)。在某些实施例中,步骤495由处理器执行,所述处理器例如是布置在计算设备(如计算设备390)中的处理器394。在某些实施例中,步骤495由处理器执行,所述处理器例如是使用布置在操作系统(如操作系统393,图1)中的设备驱动器的计算设备中布置的处理器394。
在某些实施例中,步骤495由与所述信息存储和检索系统通信的主机执行。在某些实施例中,步骤495由处理器执行,所述处理器例如是布置在所述信息存储和检索系统中的处理器132(图1)。在某些实施例中,步骤495由处理器执行,所述处理器例如是布置在设备适配器(如设备适配器165,图1、2)中的处理器206(图2)。在某些实施例中,步骤495由布置在交换机域中的处理器执行,所述处理器例如是交换机域处理器212。在某些实施例中,步骤495由处理器执行,所述处理器例如是信息存储和检索系统100外部的装置(如装置392)中布置的处理器398。申请人的方法从步骤495转到步骤330(图3)并如本文说明的那样继续。
提供以下实例以进一步向本领域的技术人员说明如何实现和使用本发明。但是,这些实例并非旨在对由所附权利要求限定的本发明的范围进行限制。
                         实例1
在步骤330,计算设备(如主机390,图1)选择所述I/O参数BLOCKS_PER_IO(即第i个I/O参数),并调用布置在所述信息存储和检索系统中的设备适配器(如设备适配器165)中布置的处理器(如处理器206,图2)以优化所述选定的I/O参数。
所述设备适配器在步骤340检索与所述选定的I/O参数相关的数据,在步骤350确定当前的I/O速率,在步骤360计算已调整的第i个I/O参数,在步骤370实现第i个稳定期,在步骤380将所述迭代计数器设为1,并在第i个稳定期到期后,在步骤410确定已调整的I/O速率。
只要已调整的I/O速率不小于之前的I/O速率,则所述设备适配器就重复步骤360、370、380、385、410、420和425。最终,增加每I/O的块数将导致负面性能变化,即所述已调整的I/O速率小于当前I/O速率。作为响应,所述设备适配器在步骤430判定所述迭代计数器未设置为1,且所述设备适配器在步骤440将第i个I/O参数设置为等于在步骤425的先前迭代期间保存的当前值,在步骤450实现第i个稳定期,在该稳定期到期后,在步骤470确定并保存当前I/O速率,在步骤480将步骤470中设置的第i个I/O参数的值保存为第i个当前值,并在步骤490将所述迭代计数器设置为0。然后,所述设备适配器向主机提供所述选定的参数(即BLOCKS_PER_IO)已被优化的信号。
                      实例2
在从所述设备适配器接收到I/O参数BLOCKS_PER_IO已被优化的信号后,主机选择I/O参数FCP_SCSI_QUEUE_DEPTH,并调用主机操作系统的设备驱动器组件来优化选定的I/O参数。在步骤360,操作系统/设备驱动器通过将适当的变化值添加到当前值来调整FCP_SCSI_QUEUE_DEPTH参数以允许同时执行更多的命令。在步骤420,操作系统/设备驱动器判定所述I/O速率降低。FCP_SCSI_QUEUE_EPTH参数的当前值并未更改。
在步骤430,操作系统/设备驱动器判定所述迭代计数器被设置为1,也就是说,初始的调整具有负面影响。在步骤435,操作系统/设备驱动器更改第i个方向矢量的符号,在步骤360操作系统/设备驱动器通过从当前值减去适当的变化值来调整FCP_SCSI_QUEUE_DEPTH参数以允许同时执行更少的命令。
在步骤420,操作系统/设备驱动器再次判定所述系统的I/O速率降低。FCP_SCSI_QUEUE_DEPTH参数的当前值未更改。然后,操作系统/设备驱动器在步骤440将I/O参数FCP_SCSI_QUEUE_DEPTH返回给当前值。
在某些实施例中,可以合并、删除或重新排序图3和/或4中列出的各个步骤。
在某些实施例中,申请人的发明包括驻留在微码/存储器中的指令,所述微码/存储器例如是微码202(图2)204(图2)、和/或存储器133(图1)/143(图1)、和/或216(图2)/226(图2)/236(图2)/246(图2)/256(图2)/266(图2),其中这些指令由处理器执行,所述处理器例如分布是处理器206(图2)/208(图2)、和/或132/142、和/或212(图2)、222(图2)、232(图2)、242(图2)、252(图2)、262(图2),以便执行图3中列出的步骤330、340、350、360、370、380、385,和/或图4中列出的步骤410、420、425、430、435、440、450、460、470、480和/或490,和/或图5中列出的步骤510、520、530和/或540。
在其他实施例中,申请人的发明包括驻留在任何其他计算机程序产品中的指令,其中这些指令由位于系统100外部或内部的计算机来执行,以便执行图3中列出的步骤330、340、350、360、370、380、385,和/或图4中列出的步骤410、420、425、430、435、440、450、460、470、480和/或490,和/或图5中列出的步骤510、520、530和/或540。在任一情况下,可以将所述指令编码在信息存储介质中,所述信息存储介质可以包括例如磁信息存储介质、光信息存储介质、电信息存储介质和类似介质。就“电存储介质”而言,申请人指例如诸如PROM、EPROM、EEPROM、闪速PROM、compactflash、smartmedia之类的设备。
虽然已详细描述了本发明的优选实施例,但是显而易见的是,本领域的技术人员可以想到对这些实施例的修改和更改而不偏离如以下权利要求中说明的本发明的范围。

Claims (20)

1.一种调整计算系统的一个或多个输入/输出参数的方法,所述方法包括以下步骤:
提供包括至少一个与一个或多个数据存储设备双向通信的计算设备的计算系统,其中所述计算系统包括一个或多个可变输入/输出参数;
为所述一个或多个输入/输出参数中的每个参数建立变化值和稳定期;
确定当前输入/输出速率;
选择第i个输入/输出参数,其中所述第i个输入/输出参数是所述一个或多个输入/输出参数中的一个参数,并且其中所述第i个输入/输出参数包括第i个当前值;
将第i个输入/输出参数调整为等于所述第i个当前值加上第i个变化值;
计算已调整的输入/输出速率;
判定所述已调整的输入/输出速率是否小于所述当前输入/输出速率;
如果所述已调整的输入/输出速率不小于所述当前输入/输出速率,则将所述已调整的第i个输入/输出参数保存为所述第i个当前值。
2.如权利要求1中所述的方法,还包括以下步骤:
为所述一个或多个输入/输出参数中的每个参数建立稳定期;
在执行所述调整步骤之后和执行所述计算步骤之前实现第i个稳定期。
3.如权利要求1中所述的方法,如果所述已调整的输入/输出速率小于所述当前输入/输出速率,则还包括重复所述调整、计算和判定步骤的步骤。
4.如权利要求3中所述的方法,还包括以下步骤:
为所述一个或多个输入/输出参数中的每个参数建立最小值和最大值;
确定所述已调整的第i个输入/输出参数是否大于或等于第i个最小值和小于或等于第i个最大值;
如果所述已调整的第i个输入/输出参数不大于或等于第i个最小值或不小于或等于第i个最大值,则将所述第i个输入/输出参数设置为等于所述当前值;
如果所述已调整的第i个输入/输出参数大于或等于第i个最小值,并小于或等于第i个最大值,则将所述已调整的第i个输入/输出参数保存为第i个当前值。
5.如权利要求4中所述的方法,还包括以下步骤:
提供设置为0的迭代计数器;
在执行所述调整步骤之后和执行所述判定步骤之前递增所述迭代计数器;
如果所述已调整的输入/输出速率小于所述当前输入/输出速率,则确定所述迭代计数器是否被设置为1;
如果所述迭代计数器没有被设置为1,则将所述第i个输入/输出参数设置为等于所述第i个已调整的值减去所述第i个变化值。
6.如权利要求5中所述的方法,还包括以下步骤:
如果所述已调整的输入/输出速率小于所述当前输入/输出速率,并且如果所述迭代计数器没有被设置为1,则:
将所述第i个输入/输出参数保存为所述第i个当前值;
将所述迭代计数器设置为0。
7.如权利要求5中所述的方法,还包括以下步骤:
为所述一个或多个输入/输出参数中的每个参数建立方向矢量,其中第i个方向矢量包括值和符号,其中第i个方向矢量符号是从包括正和负的组中选择的;
其中所述调整步骤包括将第i个输入/输出参数调整为等于所述当前值加上所述第i个变化值与所述第i个方向矢量的乘积;
如果所述已调整的输入/输出速率小于所述当前输入/输出速率,且如果所述迭代计数器被设置为1,则更改第i个方向矢量符号,并重复所述调整、保存、计算和判定步骤。
8.一件制品,所述制品包括其中布置有计算机可读程序代码的计算机可用介质以便调整包括一个或多个可变输入/输出参数的计算系统的一个或多个输入/输出参数,所述制品还包括所述一个或多个输入/输出参数中的每个参数的预定变化值和所述一个或多个输入/输出参数中的每个参数的预定稳定期,所述计算机可读程序代码包括一系列计算机可读程序步骤以实现:
确定当前输入/输出速率;
选择第i个输入/输出参数,其中所述第i个输入/输出参数是所述一个或多个输入/输出参数中的一个参数,并且其中所述第i个输入/输出参数包括第i个当前值;
将第i个输入/输出参数调整为等于所述当前值加上第i个变化值;
计算已调整的输入/输出速率;
判定所述已调整的输入/输出速率是否小于所述当前输入/输出速率;
如果所述已调整的输入/输出速率小于所述当前输入/输出速率,则将所述已调整的第i个输入/输出参数保存为所述第i个当前值。
9.如权利要求8中所述的制品,其中所述制品还包括所述一个或多个输入/输出参数中的每个参数的预定稳定期,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现在执行所述调整步骤之后和执行所述计算步骤之前启动第i个稳定期。
10.如权利要求8中所述的制品,所述计算机可读程序代码还包括一系列计算机可读程序步骤以在所述已调整的输入/输出速率小于所述当前输入/输出速率时实现重复所述调整、计算和判定步骤。
11.如权利要求10中所述的制品,其中所述制品还包括所述一个或多个输入/输出参数中的每个参数的预定最小值和最大值,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现:
确定所述已调整的第i个输入/输出参数是否大于或等于第i个最小值和小于或等于第i个最大值;
如果所述已调整的第i个输入/输出参数不大于或等于第i个最小值或不小于或等于第i个最大值,则将所述第i个输入/输出参数设置为等于所述当前值;
如果所述已调整的第i个输入/输出参数大于或等于第i个最小值,并小于或等于第i个最大值,则将所述已调整的第i个输入/输出参数保存为第i个当前值。
12.如权利要求11中所述的制品,其中所述制品还包括设置为0的迭代计数器,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现:
在执行所述调整步骤之后和执行所述判定步骤之前递增所述迭代计数器;
如果所述已调整的输入/输出速率不小于所述当前输入/输出速率,则确定所述迭代计数器是否被设置为1;
如果所述迭代计数器没有被设置为1,则将所述第i个输入/输出参数设置为等于所述第i个当前值减去所述第i个变化值。
13.如权利要求12中所述的制品,如果所述已调整的输入/输出速率不小于所述当前输入/输出速率,且如果所述迭代计数器没有被设置为1,则所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现:
将所述第i个输入/输出参数保存为所述第i个当前值;
将所述迭代计数器设置为0。
14.如权利要求12中所述的制品,其中所述制品还包括所述一个或多个输入/输出参数中的每个参数的预定方向矢量,其中第i个方向矢量包括值和符号,其中第i个方向矢量符号是从包括正和负的组中选择的,所述计算机可读程序代码还包括一系列计算机可读程序步骤以实现:
将第i个输入/输出参数调整为等于所述当前值加上所述第i个变化值与所述第i个方向矢量的乘积;
如果所述已调整的输入/输出速率小于所述当前输入/输出速率,且如果所述迭代计数器被设置为1,则更改第i个方向矢量符号,并重复所述调整、保存、计算和判定步骤。
15.一种可与可编程计算机处理器一起使用并且其中包含有计算机可读程序代码以便调整计算系统的一个或多个输入/输出参数的计算机程序产品,所述计算系统包括一个或多个可变输入/输出参数、所述一个或多个输入/输出参数中的每个参数的预定变化值,以及所述一个或多个输入/输出参数中的每个参数的预定稳定期,所述计算机程序产品包括:
使所述可编程计算机处理器确定当前输入/输出速率的计算机可读程序代码;
使所述可编程计算机处理器选择第i个输入/输出参数的计算机可读程序代码,其中所述第i个输入/输出参数是所述一个或多个输入/输出参数中的一个参数,并且其中所述第i个输入/输出参数包括第i个当前值;
使所述可编程计算机处理器将第i个输入/输出参数调整为等于所述当前值加上第i个变化值的计算机可读程序代码;
使所述可编程计算机处理器计算已调整的输入/输出速率的计算机可读程序代码;
使所述可编程计算机处理器判定所述已调整的输入/输出速率是否小于所述当前输入/输出速率的计算机可读程序代码;
在所述已调整的输入/输出速率小于所述当前输入/输出速率的情况下,使所述可编程计算机处理器将所述已调整的第i个输入/输出参数保存为所述第i个当前值的计算机可读程序代码。
16.如权利要求15中所述的计算机程序产品,其中所述信息存储和检索系统还包括所述一个或多个输入/输出参数中的每个参数的预定稳定期,还包括使所述可编程计算机处理器在执行所述调整步骤之后和执行所述计算步骤之前实现第i个稳定期的计算机可读程序代码。
17.如权利要求15中所述的计算机程序产品,其中所述信息存储和检索系统还包括所述一个或多个输入/输出参数中的每个参数的预定最小值和最大值,还包括:
使所述可编程计算机处理器确定所述已调整的第i个输入/输出参数是否大于或等于第i个最小值且小于或等于第i个最大值的计算机可读程序代码;
在所述已调整的第i个输入/输出参数不大于或等于第i个最小值或不小于或等于第i个最大值的情况下,使所述可编程计算机处理器将所述第i个输入/输出参数设置为等于所述第i个当前值的计算机可读程序代码;
在所述已调整的第i个输入/输出参数大于或等于第i个最小值,且小于或等于第i个最大值的情况下,使所述可编程计算机处理器将所述已调整的第i个输入/输出参数保存为第i个当前值的计算机可读程序代码。
18.如权利要求17中所述的计算机程序产品,其中所述信息存储和检索系统还包括设置为0的迭代计数器,还包括:
使所述可编程计算机处理器在执行所述调整步骤之后和执行所述判定步骤之前递增所述迭代计数器的计算机可读程序代码;
在所述已调整的输入/输出速率不小于所述当前输入/输出速率的情况下,使所述可编程计算机处理器确定所述迭代计数器是否被设置为1的计算机可读程序代码;
在所述迭代计数器没有设置为1的情况下,使所述可编程计算机处理器将所述第i个输入/输出参数设置为等于所述第i个当前值减去所述第i个变化值的计算机可读程序代码。
19.如权利要求18中所述的计算机程序产品,还包括:
在所述已调整的输入/输出速率不小于所述当前输入/输出速率且所述迭代计数器没有被设置为1的情况下,使所述可编程计算机处理器执行以下操作的计算机可读程序代码:
将所述第i个输入/输出参数保存为所述第i个当前值;
将所述迭代计数器设置为0。
20.如权利要求18中所述的计算机程序产品,其中所述信息存储和检索系统还包括所述一个或多个输入/输出参数中的每个参数的预定方向矢量,其中第i个方向矢量包括值和符号,其中第i个方向矢量符号是从包括正和负的组中选择的,还包括:
其中使所述可编程计算机处理器调整第i个输入/输出参数的所述计算机可读程序代码还包括使所述可编程计算机处理器将所述第i个输入/输出参数设置为等于所述第i个当前值加上所述第i个变化值与所述第i个方向矢量的乘积的计算机可读程序代码;
在所述已调整的输入/输出速率小于所述当前输入/输出速率且所述迭代计数器被设置为1的情况下,使所述可编程计算机处理器更改第i个方向矢量符号的计算机可读程序代码。
CNB2006101157299A 2005-08-31 2006-08-11 调整计算系统的一个或多个输入/输出参数的装置和方法 Expired - Fee Related CN100410948C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/218,467 US20070055798A1 (en) 2005-08-31 2005-08-31 Apparatus and method to adjust one or more input/output parameters for a computing system
US11/218,467 2005-08-31

Publications (2)

Publication Number Publication Date
CN1924862A true CN1924862A (zh) 2007-03-07
CN100410948C CN100410948C (zh) 2008-08-13

Family

ID=37817500

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101157299A Expired - Fee Related CN100410948C (zh) 2005-08-31 2006-08-11 调整计算系统的一个或多个输入/输出参数的装置和方法

Country Status (2)

Country Link
US (1) US20070055798A1 (zh)
CN (1) CN100410948C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606944B2 (en) * 2007-05-10 2009-10-20 Dot Hill Systems Corporation Dynamic input/output optimization within a storage controller

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2121852A1 (en) * 1993-04-29 1994-10-30 Larry T. Jost Disk meshing and flexible storage mapping with enhanced flexible caching
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5890014A (en) * 1996-08-05 1999-03-30 Micronet Technology, Inc. System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US6370520B1 (en) * 1997-09-11 2002-04-09 Nokia Telecommunications Oy System and method employing last occurrence and sliding window technique for determining a minimum and maximum value
US6601143B1 (en) * 1999-09-25 2003-07-29 International Business Machines Corporation Self-adapting cache management method and system
US6714874B1 (en) * 2000-03-15 2004-03-30 Applera Corporation Method and system for the assembly of a whole genome using a shot-gun data set
US6628994B1 (en) * 2000-08-31 2003-09-30 Hewlett-Packard Development Company, L.P. Method to obtain improved performance by automatic adjustment of computer system parameters
CN1265297C (zh) * 2002-10-18 2006-07-19 华为技术有限公司 一种设备数据的集中配置方法
CN1542642A (zh) * 2003-04-30 2004-11-03 明基电通股份有限公司 数据关联分析系统及方法以及计算机可读存储介质
US7366866B2 (en) * 2003-10-30 2008-04-29 Hewlett-Packard Development Company, L.P. Block size allocation in copy operations
US7031628B2 (en) * 2003-12-22 2006-04-18 Xerox Corporation Systems and methods for setting up grid voltages in a tandem pin charging device

Also Published As

Publication number Publication date
CN100410948C (zh) 2008-08-13
US20070055798A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
US10970202B1 (en) Managing input/output (‘I/O’) requests in a storage system that includes multiple types of storage devices
CN107203337B (zh) 用户可配置的被动后台操作
CN1304956C (zh) 使用并行访问卷控制对逻辑卷的访问的装置和方法
CN1149480C (zh) 文件存储装置
US9760297B2 (en) Managing input/output (‘I/O’) queues in a data storage system
US20160246713A1 (en) Host-driven garbage collection
US10169948B2 (en) Prioritizing storage operation requests utilizing data attributes
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
US20140115239A1 (en) Method of managing data in nonvolatile memory device
CN1808367A (zh) 存储系统
US10437519B2 (en) Method and mobile terminal for processing write request
CN1622008A (zh) 抑制驱动器工作时间的磁盘阵列
CN1848070A (zh) 数据存储设备、重构控制设备、重构控制方法与存储介质
CN1658171A (zh) 通过控制频繁受访问扇区对非易失性存储器的更快写操作
JP2008299718A (ja) 記憶システム、記憶制御装置及びデータ圧縮方法
CN113687975B (zh) 数据处理方法、装置、设备及存储介质
CN1731339A (zh) 将数据净荷从第一扇区格式转换成第二扇区格式的装置和方法
CN1924783A (zh) 存储系统以及存储控制方法
CN1573694A (zh) 初始化包括主和协处理器系统中的协处理器的装置和方法
US6931570B2 (en) Self-optimizing the diagnosis of data processing systems by flexible multitasking
CN1581853A (zh) 用于处理要在网络上发送的分组的方法、系统和程序
US6591287B1 (en) Method to increase the efficiency of job sequencing from sequential storage
CN1823327A (zh) 信息记录介质的数据区域管理方法、使用数据区域管理方法的信息处理装置
CN1776567A (zh) 为电池备份组件提供电力的装置和方法
CN1924862A (zh) 调整计算系统的一个或多个输入/输出参数的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080813