摘要:
Solaris ZFS ARC的改动(相对于IBM ARC)如我前面所说,ZFS实现的ARC和IBM提出的ARC淘汰算法并不是完全一致的。在某些方面,它做了一些扩展:· ZFS ARC是一个缓存容量可变的缓存算法,它的容量可以根据系统可用内存的状态进行调整。当系统内存比较充裕的时候,它的容量可以自动... 阅读全文
摘要:
在Solaris ZFS 中实现的ARC(Adjustable Replacement Cache)读缓存淘汰算法真是很有意义的一块软件代码。它是基于IBM的Megiddo和Modha提出的ARC(Adaptive Replacement Cache)淘汰算法演化而来的。但是ZFS的开发者们对IBM... 阅读全文
摘要:
从前面的文章中,我们已经了解到了缓存设计的目标,缓存设计应该考虑的因素。今天我们来看看一系列缓存算法以及它们如何去解决问题的。同时,我们也会涉及到各种缓存算法的优缺点。这里我并不想讨论与预取(pre-fetch)相关的算法,主要是考虑各种淘汰算法。因为相比于预取算法,淘汰算法具有更大的通用性,对缓存... 阅读全文
摘要:
每当我们讨论缓存时,总是会对如下几个词比较熟悉,Write-back, write-through, write-around似乎,缓存主要是为“写”设计的,其实这是错误的理解,写从缓存中获得的好处是非常有限的,缓存主要是为“读”服务的。之所以我们要顺带提一下,在一个缓存系统中,如何处理写的顺序,是... 阅读全文
摘要:
Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术。它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务器,中间件等。它的一个重要的作用就是用于弥补不同速度的硬件之间的存取速度的差距,cache可以完全通... 阅读全文