TARQ Disk Block Cache Manager
Disk Block Cache Manager is a self-balancing disk block cache manager with automatic compensation of the disk system load.
The cache eviction algorithm is needed to work in an environment where, for the purposes of speedup the disk operation, part of the fast memory is used to accommodate the most frequently required blocks. This algorithm is used to determine block that can be discard with minimal loss to the overall performance (i.e. a block that will not be used as often and/or heavily as the others).
QHB can run with an improved eviction algorithm, which is named TARQ.
The algorithm provides the support of two page lists, L1 and L2. Maximum length of both lists is 2c, where c is the cache size, in pages. Both lists are generated in LRU style. When a page which number is not present in both lists is transferred to the cache, this number is entered at the top of the list L1. When accessing a page which number appears in one of the lists, this number is moved to the top of the list L2. An important algorithm feature is that only at the top of each list (in sublists T1 and T2) cached page numbers appear; therefore the history of pages, recently evicted from cache, is maintained. The replacement page is selected from the end of the sublist T1 or T2 depending on the value of the p parameter, which determines the current valid length of the sublist T1, and thus the length of T2. The adaptability of the algorithm is that the value of p is changed depending on the workload type.
To enable and control the new eviction algorithm, use the parameters in configuration file (see Section TARQ (Disk Block Cache Manager) Parameters for details).