管理高速存储器的方法和装置的制作方法

文档序号:6357191阅读:91来源:国知局
专利名称:管理高速存储器的方法和装置的制作方法
技术领域
本发明涉及数据存储技术,更具体地说,涉及用于管理高速存储器的方法和装置。
背景技术
一般的存储系统由处理器、高速存储器和低速存储器构成。由于处理器访问高速存储器的响应时间远小于访 问低速存储器的响应时间,因此在高速存储器中存储低速处理器中被频繁访问的数据的副本会大大提高访问的速度。另一方面,高速缓存的数据容量大大小于低速存储器的数据容量,因此需要一定的控制机制来确保高速缓存中只存储最可能被频繁访问的数据。例如,根据一种称为最近最少使用(LRU, Least Recently Used)算法的控制机制,对于在高速存储器中但最近又不用的数据,将其逐出(demote)高速存储器而腾出空间来加载另外的数据。本领域技术人员可以理解,这里的高速存储器和低速存储器是相对的概念,例如就内存和硬盘而言,内存是高速存储器而硬盘是低速存储器,而就高速缓存(cache)和内存而言,高速缓存是高速存储器而内存是低速存储器。当存储系统中存在不同类型的低速存储器时,如果在实施LRU算法时不考虑低速存储器的差异,可能会带来整体性能的降低。假设存储系统中存在响应时间不同的第一类型低速存储器和第二类型低速存储器的情况。所述第一类型低速存储器例如硬盘驱动器HDD,所述第二类型低速存储器例如固态硬盘SSD。一般来说,SSD比HDD具有更高的IO速率或IO密度,导致从统计意义上来看,高速存储器中一份来自SSD的数据在单位时间内被访问的次数大于高速存储器中一份来自HDD的数据在单位时间内被访问的次数。根据LRU算法,高速存储器中将更多地存储来自SSD的数据。但是,SSD的响应时间小于HDD的响应时间,将HDD的数据存储在高速存储器中才能带来更多性能上的提升。例如,如果一份数据没有存储在高速存储器中,那么直接从一个每分钟转速15000的HDD中读取该数据需要的平均响应时间是10毫秒,而从一个SSD中直接读取该数据需要的平均响应时间小于I毫秒。因此,需要有一种在混合(Hybrid)低速存储器的系统中管理高速存储器的方案,从而优化系统的整体性能。

发明内容
本发明实施例提供了用于管理高速存储器的方法和设备。根据本发明实施例的一种用于管理高速存储器的方法,其中用索引条目指示高速存储器存储单元,并且为不同类型的低速存储器设置对应的非空闲索引,通过在非空闲索引中包括索引条目来将所指示的高速存储器存储单元分配给对应的低速存储器,通过从非空闲索引中逐出该索引条目来回收该高速存储器存储单元,该方法包括响应于收到逐出请求,获取与各非空闲索引对应的边际性能损失,其中所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的处理器读操作时间的变化;比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引;从所述逐出索引中选择索引条目进行逐出操作。
根据本发明实施例的一种用于管理高速存储器的装置,其中用索引条目指示高速存储器存储单元,并且为不同类型的低速存储器设置对应的非空闲索引,通过在非空闲索引中包括索引条目来将所指示的高速存储器存储单元分配给对应的低速存储器,通过从非空闲索引中逐出该索引条目来回收该高速存储器存储单元,该装置包括边际性能损失获取模块,配置为响应于收到逐出请求,获取与各非空闲索引对应的边际性能损失,其中所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的处理器读操作时间的变化;逐出索引选择模块,配置为通过比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引;逐出操作执行模块,配置为从所述逐出索引中选择索引条目进行逐 出操作。根据本发明实施例提供的技术方案,根据所能带来的性能提升来管理高速存储器,从而可以在具有混合低速存储器的系统中提高系统的整体性能。


图I是混合低速存储器的系统中高速存储器索引的示意图。图2是根据本发明实施例的用于管理高速存储器的方法的流程图。图3是根据本发明实施例的用于管理高速存储器的装置的框图。
具体实施例方式以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,本技术领域技术人员容易理解,本发明的实现可不具有这些具体细节中的一些,并且本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。此外,除非刻意地使用“直接”或者“间接”加以限定,否则本申请文件中的连接既包括直接连接,也包括间接地连接。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框 、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。参照图1,图I是混合低速存储器的系统中高速存储器索引的示意图。为了方便起见,本说明书中以HDD和SSD为例说明根据本发明实施例的方案,但本领域技术人员可以容易地将这一方案应用到其他混合低速存储器的系统中。虽然在本申请文件中主要以两种不同类型的低速存储器为例说明了根据本发明实施例的方案,但是本领域技术人员可以容易地将这一方案扩展到三种或三种以上低速存储器的场合。这里所说的两种不同类型既可能是低速存储器本身的物理特性不同,也可能是低速存储器的工作负载不同。例如对于响应时间这一指标而言,HDD和SSD由于物理特性而具有不同的响应时间。另一方面,即使是对于两台同样型号的HDD设备,如果其中一台的工作负载可能是另一台的好几倍,那么它们在响应时间上也会体现出较大的差别。在图I中,包括两类索引,S卩非空闲索引和空闲索引。索引中的每个索引条目指示高速存储器中的一个存储单元。所述索引可以包括与所述存储单元对应的指针、或页标识符、或散列值,等等。由于索引条目和闻速存储器中的存储单兀存在对应的关系,因此在本申请文件中,有时也用索引条目指代其所指示的高速存储器中的存储单元。当需要将低速存储器中的一份新的数据引入(promotion)高速存储器中时,空闲索引中的一个索引条目被移动到非空闲索引中,即通过在非空闲索引中包括索引条目来将所指示的高速存储器存储单元分配给对应的低速存储器;反之,在逐出(demotion)操作中,非空闲索引中的一个索引条目被移动到空闲索引中,从而回收所指示的高速存储器存储单元。在当前的例子中,由于存在两种不同类型的低速存储器,因此设置有两个非空闲索弓丨即HDDindex和SSDindex。其中HDDindex中的每个索引条目指示高速存储器中存储有来自HDD的数据的存储单元,SSDindex中的每个索引条目指示高速存储器中存储有来自SSD的数据的存储单元。Uindex是空闲索引,其中的每个索引条目指示高速存储器中空闲的存储单元。如前所述,如果分配给HDD和SSD的高速存储器存储单元对应的索引条目都放在同一个非空闲索引中,那么就会出现不停地将高速存储器的存储单元分配给SSD而不分配给HDD,从而影响系统的整体性能。因此,在本发明实施例中,分别为HDD和SSD设置对应的非空闲索引。本领域技术人员容易地设计出各种索引条目在非空闲索引中排序的方式。但是在LRU算法中,为了方便起见,非空闲索引中的索引条目通常按照其对应高速存储器存储单元被访问的时间先后排序的。LRU的基本思想是,如果非空闲索引中的一个索引条目对应的高速存储器存储单元被访问,则将该索引条目移到该非空闲索引的最前端。在需要进行逐出操作时,选择非空闲索引中最靠后的一个或多个索引条目移入空闲索引中。在有HDD和SSD构成的混合低速存储器的系统中,需要进一步确定是从HDDindex还是从SSDindex移出索引条目。如前所述,需要避免总是从HDDindex中移出索引条目的情况。下面参照图2描述根据本发明实施例的分配高速存储器的方法。步骤201,响应于收到逐出请求,获取与各非空闲索引对应的边际(margin)性能损失,其中所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的响应时间变化。
对非空闲索引进行逐出操作所引起的响应时间变化取决于两个因素,一个因素是非空闲索引对应的边际命中率损失,另一个是非空闲索引所对应的低速存储器的综合响应时间。可以以下面的公式计算非空闲索引的边际性能损失Mt = RTt X CHt, t G {hdd, ssd}其中,M表示边际性能损失,RT表示综合响应时间,CH表示边际命中率损失。命中指的是处理器在需要对某外部数据进行随机读操作时,发现高速存储器中已经存储有该外部数据的副本,从而直接访问高速存储器中的存储单元,而不用再访问低速存储器。命中率指的是单位时间内命中的次数,命中率取决于分配给该低速存储器的高速存储器存储单元的数目,即对应的非空闲索引中索引条目的数目,还取决于单位时间内处理器需要访问外部数据的次数。可以理解,在单位时间内处理器需要访问外部数据的次数一定的情况下,分配给该低速存储器的高速存储器存储单元的数目,其所存储的副本量就越多,从而命中率就越高。极端的情况是,如果低速存储器中的所有外部数据都在高速存储器中有对应的副本,那么处理器每次需要访问外部数据时都只访问高速存储器,从而命中率只取决于单位时间内处理器需要访问外部数据的次数。边际命中率损失的物理意义是从已经分配给低速存储器的高速存储器存储单元中减少一个存储单元所降低的命中率。换句话说,边际命中率损失表示在与该低速存储器对应的非空闲索引中进行逐出操作引起的命中率降低。容易理解,已经分配给低速存储器的高速存储器存储单元数目越大,边际命中率损失的值越小。极端情况是,如果已经分配给低速存储器的高速存储器存储单元数目大于低速存储器中的外部数据的总量,那么即使从已经分配给低速存储器的高速存储器存储单元中减少一个存储单元也不会引起命中率的降低。本领域技术人员容易理解,在非空闲索引所对应的低速存储器的综合响应时间一定的情况下,边际命中率损失越大,则边际性能损失越大。因此,在各非空闲索引对应的低速存储器的综合响应时间近似的情况下,也可以以边际命中率损失本身作为边际性能损失。由边际性能损失的计算公式可以看出,边际性能损失的物理意义是由于对非空闲索引进行逐出操作,导致命中率降低;处理器在访问某些外部数据时本来只需要访问高速存储器,却由于命中率降低而访问了低速存储器,从而导致处理器访问外部数据的读操作时间变长。如果对空闲索引进行逐出操作导致命中率显著降低,或者处理器访问低速存储器所增加的显著变长,那么系统整体的性能就会显著降低。步骤202,比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引。如前所述,边际性能损失的物理意义是对非空闲索引进行逐出操作所增加的访问外部数据的读操作时间。在得到各非空闲索引的边际性能损失后,可以选取边际性能损失符合逐出条件的非空闲索引作为逐出索引。如果某非空闲索引的边际性能损失的值低于边际性能损失阈值,或者某非空闲索引的边际性能损失比其他的空闲索引的边际性能损失小,则可以将该非空闲索引作为逐出索引。
步骤203,从所述逐出索引中选择索引条目进行逐出操作。
从逐出索引中选择索引条目进行逐出操作,则该索引条目进入空闲索引。也就是说,该索引条目所指示的高速存储器存储单元将会被释放,从而可以用来在需要的时候存储其他数据的副本。如何从非空闲索引中选择索引条目进行逐出操作是本领域通常的技术 手段,在此不再赘述。由步骤201到203可见,根据本发明实施例的方法,在进行逐出操作时,考虑对哪个非空闲索引进行逐出操作对处理器访问外部数据的读操作时间的影响最小。例如对于包括SSD设备和HDD设备的混合低速存储器的场合,假设直接从一个每分钟转速15000的HDD中读取该数据需要的综合响应时间是10毫秒,而从一个SSD中直接读取该数据需要的综合响应时间是I毫秒。虽然SSDindex中的索引条目对应的命中率大于HDDindex中的索引条目对应的命中率,但是如果SSDindex对应的边际命中率损失没有达到HDDindex对应的边际命中率损失的10倍,还是应该对SSDindex进行逐出操作。如前所述,从理论上说,已经分配给低速存储器的高速存储器存储单元数目越大,边际命中率损失的值越小,即同一个非空闲索引对应的边际命中率损失也是与该非空闲索引当前的长度相关的。这导致同一个非空闲索引在长度较长的时候比长度较短的时候有更大的机会被选择为逐出索引,这也与通常认识相符。下面描述如何计算边际命中率损失CH和综合响应时间RT。边际命中率损失和综合响应时间都是相对于一个非空闲索引的概念。在混合低速存储器的场合下,需要分别针对HDDindex和SSDindex计算对应的边际命中率损失和综合响应时间。以下以计算SSDindex对应的边际命中率损失和综合响应时间为例进行说明。计算边际命中率损失CH有很多方法,比如可以通过实验的方法。具体而言,首先统计单位时间内处理器需要访问外部数据的次数的平均值,然后在这样的平均值下,记录通过减少分配给低速处理器的一个高速存储器存储单元所引起的命中率的降低。如前所述,边际命中率损失与已经分配给低速存储器的高速存储器存储单元数目有关,因此所述实验需要针对已经分配给低速存储器的高速存储器存储单元数目的不同情况分别进行。根据本发明的一个实施例,可以利用LRU算法的特点来获取边际命中率损失。如前所述,LRU算法的基本思想是,如果SSDindex中的一个索引条目对应的高速存储器存储单元被访问,则将该索引条目移到SSDindex的最前端。因此,从统计学角度来说,SSDindex最后的索引条目所对应的高速存储器存储单元,是分配给HDD的高速存储器存储单元中单位时间内命中次数最少的存储单元,或者说命中率最低的存储单元。可以将该索引条目对应的高速存储器存储单元的命中率作为边际命中率损失。下面解释为什么可以将该命中率作为边际命中率损失。首先,该命中率的值表示如果没有该存储单元的情况下命中率的降低,这符合边际命中率损失的定义。其次,如前所述,已经分配给低速存储器的高速存储器存储单元数目越大,边际命中率损失的值越小。因此取SSDindex中各索引条目所对应的命中率中的最小值作为边际命中率损失也符合实际情况。这种方法的优点首先是可以动态地获取边际命中率损失。由于单位时间内处理器需要访问外部数据的次数可能随时间有较大变化,因此用静态的平均值可能不够精确。此夕卜,这种方法还不用针对已经分配给低 速存储器的高速存储器存储单元数目的不同情况分别进行实验。在实际操作中,在前一个采样周期中排在SSDindex最后的索引条目,在后一个采样周期中可能会由于对应的高速存储器存储单元被访问而被移到SSDindex的最前端。为了在后一个采样周期中也有较多的历史数据来计算排在SSDindex最后的索引条目对应的命中率,可以记录排在SSDindex最后的多个索引条目所对应的高速存储器存储单元被访问的次数。这样,当排在SSDindex最后的一个索引条目被移到SSDindex之后,仍然可以比较准确地计算出排在SSDindex倒数第二的索引条目所对应的命中率。按照本实施例的方法,直接计算出从已经分配给低速存储器的高速存储器存储单元中减少一个存储单元所减少的命中率,将其作为边际命中率损失。如前所述,边际命中率损失用来计算边际性能损失,而边际性能损失是用于判断从哪个非空闲索引进行逐出操作。因此根据本实施例的方法能够精确地体现边际命中率损失的物理含义。边际命中率损失是连续变化的量。因此,在向低速存储器已经分配了一定数量的高速存储器存储单元的情况下的边际命中率增益,与该情况下的边际命中率损失应该近似。边际命中率增益指的是再向低速存储器多分配高速存储器的一个存储单元所增加的命中率。本领域技术人员也可以设计出其他方法,来首先计算出边际命中率增益,然后将该边际命中率增益的值作为边际命中率损失的值。下面描述如何计算对应于SSDindex的综合响应时间。本领域技术人员可以理解,SSDindex可能服务于多个不同的SSD设备,因此,可以通过对各个SSD设备的平均响应时间预测值求平均得到对应于SSDindex的综合响应时间。根据本发明的一个实施例,也可以按照如下公式来计算对应于SSDindex的综合响应时间。
IEMA _ RT(e) * EMA _ IOPS(e)RTssd =( I )
Y4EMAJOPSie)
e':SSD式(I)的含义是,对应于SSDindex的综合响应时间RTssd是对每一个SSD的平均响应时间预测值按照对应的访问次数预测值进行加权平均。其中EMA_RT(e)表示对第e个SSD设备的平均响应时间预测值,EMA_I0PS(e)表示对第e个SSD设备的访问次数预测值。这种加权平均的方案中,访问次数多的SSD设备的平均响应时间预测值在计算综合响应时间时的权重更大,可以更加准确地反映出对高速存储器的需求。本领域技术人员可以理解,SSDindex只服务于一个SSD设备是一种特殊情况。这种情况下也能够按照上述方法计算SSDindex的综合响应时间。计算出的综合响应时间就是该一个SSD设备的平均响应时间预测值。
类似地,计算对应于HDDindex的综合响应时间的公式为
权利要求
1.一种用于管理高速存储器的方法,其中不同类型的低速存储器设置有对应的非空闲索引,所述非空闲索引包括索引条目,所述索引条目指示分配给对应低速存储器的高速存储器存储单元,并且其中通过从非空闲索引中逐出索引条目来回收该高速存储器存储单元,该方法包括 响应于收到逐出请求,获取与各非空闲索引对应的边际性能损失,其中所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的处理器读操作时间的变化; 比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引; 从所述逐出索引中选择索引条目进行逐出操作。
2.根据权利要求I所述的方法,其中获取与非空闲索引对应的边际性能损失包括 获取与非空闲索引对应的边际命中率损失; 获取与非空闲索引对应的综合响应时间; 将所述边际命中率损失与所述综合响应时间的乘积作为所述边际性能损失。
3.根据权利要求2所述的方法,其中如果某索引条目对应的高速存储器存储单元被访问,则该索引条目被移到非空闲索引的最前端; 其中获取与非空闲索引对应的边际命中率损失包括 将所述非空闲索引中最后端的索引条目对应的高速存储器存储单元的命中率作为所述边际命中率损失。
4.根据权利要求3所述的方法,进一步包括 记录排在所述非空闲索引最后的多个索引条目所对应的高速存储器存储单元被访问的次数。
5.根据权利要求2所述的方法,其中对应于所述非空闲索引的综合响应时间是对与该非空闲索引对应的低速存储器的平均响应时间预测值按照访问次数预测值进行加权平均的结果。
6.根据权利要求5所述的方法,其中通过对过去采样周期中的平均响应时间预测值和平均响应时间实际值进行计算,来预测下一采样周期中的平均响应时间预测值。
7.根据权利要求6所述的方法,其中低速存储器的平均响应时间预测值按照以下公式计算PredictedRT (n+1) = (I- a ) XPredictedRT (n) + a XActualRT (n) 其中,PredictedRT (n+1)表示对采样周期n+1的平均响应时间预测值,PredictedRT (n)表示对采样周期n的平均响应时间预测值,ActualRT (n)表示采样周期n中测得的平均响应时间实际值,a是大于O且小于I的数。
8.根据权利要求5所述的方法,其中通过对过去采样周期中的访问次数预测值和访问次数实际值进行计算,来预测下一采样周期中的访问次数预测值。
9.根据权利要求8所述的方法,其中低速存储器的访问次数预测值按照以下公式计算PredictedIOPS (n+1) = (I- a ) XPredictedIOPS (n) + a XActualIOPS (n) 其中PredictedIOPS (n+1)表示对采样周期n+1的访问次数预测值,PredictedIOPS (n)表示对采样周期n的访问次数预测值,ActualIOPS(n)表示采样周期n中测得的访问次数实际值,a是大于O且小于I的数。
10.根据权利要求7或9所述的方法,其中所述a等于采样周期与工作负载变化周期的比值。
11.一种用于管理高速存储器的装置,其中不同类型的低速存储器设置有对应的非空闲索引,所述非空闲索引包括索引条目,所述索引条目指示分配给对应低速存储器的高速存储器存储单元,并且其中通过从非空闲索引中逐出索引条目 来回收该高速存储器存储单元,该装置包括边际性能损失获取模块,配置为响应于收到逐出请求,获取与各非空闲索引对应的边际性能损失,其中所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的处理器读操作时间的变化; 逐出索引选择模块,配置为通过比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引; 逐出操作执行模块,配置为从所述逐出索引中选择索引条目进行逐出操作。
12.根据权利要求11所述的装置,其中所述边际性能损失获取模块包括 边际命中率损失获取模块,配置为获取与非空闲索引对应的边际命中率损失; 综合响应时间获取模块,配置为获取与非空闲索引对应的综合响应时间; 乘法模块,配置为将所述边际命中率损失与所述综合响应时间的乘积作为所述边际性能损失。
13.根据权利要求12所述的装置,其中如果某索引条目对应的高速存储器存储单元被访问,则该索引条目被移到非空闲索引的最前端; 其中边际命中率损失获取模块包括 配置为将所述非空闲索引中最后端的索引条目对应的高速存储器存储单元的命中率作为所述边际命中率损失的模块。
14.根据权利要求13所述的装置,进一步包括 配置为记录排在所述非空闲索引最后的多个索引条目所对应的高速存储器存储单元被访问的次数的模块。
15.根据权利要求12所述的装置,其中对应于所述非空闲索引的综合响应时间是对与该非空闲索引对应的低速存储器的平均响应时间预测值按照访问次数预测值进行加权平均的结果。
16.根据权利要求15所述的装置,其中通过对过去采样周期中的平均响应时间预测值和平均响应时间实际值进行计算,来预测下一采样周期中的平均响应时间预测值。
17.根据权利要求16所述的装置,其中低速存储器的平均响应时间预测值按照以下公式计算PredictedRT (n+1) = (I- a ) XPredictedRT (n) + a XActualRT (n) 其中,PredictedRT (n+1)表示对采样周期n+1的平均响应时间预测值,PredictedRT (n)表示对采样周期n的平均响应时间预测值,ActualRT (n)表示采样周期n中测得的平均响应时间实际值,a是大于0且小于I的数。
18.根据权利要求15所述的装置,其中通过对过去采样周期中的访问次数预测值和访问次数实际值进行计算,来预测下一采样周期中的访问次数预测值。
19.根据权利要求18所述的装置,其中低速存储器的访问次数预测值按照以下公式计算PredictedIOPS (n+1) = (I- a ) XPredictedIOPS (n) + a XActualIOPS (n) 其中PredictedIOPS (n+1)表示对采样周期n+1的访问次数预测值,PredictedIOPS (n)表示对采样周期n的访问次数预测值,ActualIOPS(n)表示采样周期n中测得的访问次数实际值,a是大于0且小于I的数。
20.根据权利要求17或19所述的装置,其中所述a等于采样周期与工作负载变化周期的比值。
全文摘要
本发明提供了一种管理高速存储器的方法,其中用索引条目指示高速存储器存储单元,并为不同类型的低速存储器设置对应的非空闲索引,通过在非空闲索引中包括索引条目来将所指示的高速存储器存储单元分配给对应的低速存储器,通过从非空闲索引中逐出该索引条目来回收该高速存储器存储单元,该方法包括响应于收到逐出请求,获取与各非空闲索引对应的边际性能损失,所述边际性能损失表示在对应的非空闲索引中进行逐出操作引起的处理器读操作时间的变化;比较各非空闲索引对应的边际性能损失,选取边际性能损失符合逐出条件的非空闲索引作为逐出索引;从所述逐出索引中选择索引条目进行逐出操作。该方法改进了逐出操作的合理性,提升了系统的整体性能。
文档编号G06F12/08GK102722448SQ201110079728
公开日2012年10月10日 申请日期2011年3月31日 优先权日2011年3月31日
发明者刘洋, 李朝光, 杨奕, 高雪东 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1