磁盘缓存专题之二:磁盘缓存的算法:读算法

来源:互联网 时间:1970-01-01

磁盘缓存所带来的性能增长变化很大,它跟几个不同的因素有关。然而,在有些情况下,如果仅考虑处理一个应用的总时间,磁盘缓存能带来令人惊讶的性能改善。缓存产品的销售商总是喜欢向顾客展示:使用它们的缓存产品运行应用时,客户只需花费25%或更少的时间即可完成。

虽然对缓存不应抱有那么高的期望,但如果很好地配置缓存,进程运行速度达到原来的两倍并不是不可能的。

磁盘缓存建立在几种不同的算法上,这些算法取决于I / O操作是读还是写。缓存的实现不像在气体容器中倒入一瓶辛烷助推器,而获得辅助加速。事实上,磁盘缓存并不是使设备的运行速度更快,而是尽量缩短I / O路径的距离,尽可能地用内存的性能代替设备的性能。

为了获得最好的结果,需要设计如何存放数据的缓存算法,该算法应该与应用的访问模式相匹配,匹配得越好,效率也就越高。更为重要的是,在断电的情况下,缓存算法甚至能确定易失内存中的数据是否有永久丢失的危险。

下面包括了简单的缓存算法的描述。这些描述并不基于任何特定产品的缓存设计,其主要目的是帮助读者理解缓存的基本功能。掌握了这些知识以后,读者将能更有效地计划、实现和管理磁盘缓存。

1. 读算法

像前面所讨论的,缓存可能改善系统的性能。其基本思想是:按照应用的类型,可以使用不同的智能方法对系统最近需要的数据做出预言。目前普遍采用的算法有两种,即:
• 最近最少使用(LRU)缓存。
• 预先读缓存。

1) LRU缓存
LRU的基本思想是:最近读出过的数据不久将被再次被读出。在数据库上,应用产生的数据访问模式有时被称为热区。热区是指设备或子系统上的一组存储区域,这些设备或子系统承担着大量的操作。假如热区不是放在磁盘设备,而是放在缓存中,那么,对它的访问速度将要快得多。图描述了热区的概念。

20120820111947.png(11.08 K)
8/20/2012 11:36:11 AM


Top