Cache替換演算法

2021-08-29 21:37:08 字數 1053 閱讀 8951

cache替換演算法是影響**快取系統效能的乙個重要因素,乙個好的cache替換演算法可以產生較高的命中率。目前已經提出的演算法可以劃分為以下三類:

(1)傳統替換演算法及其直接演化,其代表演算法有:①lru(least recently used)演算法:將最近最少使用的內容替換出cache;②lfu(lease frequently used)演算法:將訪問次數最少的內容替換出cache;③pitkow/recker[10]提出了一種替換演算法:如果cache中所有內容都是同一天 被快取的,則將最大的文件替換出cache,否則按lru演算法進行替換。

(2)基於快取內容關鍵特徵的替換演算法,其代表演算法有:①size[10]替換演算法:將最大的內容替換出cache;②lru— min[11]替換演算法:該演算法力圖使被替換的文件個數最少。設待快取文件的大小為s,對cache中快取的大小至少是s的文件,根據lru演算法進行替 換;如果沒有大小至少為s的物件,則從大小至少為s/2的文件中按照lru演算法進行替換;③lru—threshold[11] 替換演算法:和lru演算法一致,只是大小超過一定閾值的文件不能被快取;④lowest lacency first[12]替換演算法:將訪問延遲最小的文件替換出cache。

(3)基於代價的替換演算法,該類演算法使用乙個代價函式對cache中的物件進行評估,最後根據代價值的大小決定替換物件。其代表演算法 有:①hybrid[12] 演算法:演算法對cache中的每乙個物件賦予乙個效用函式,將效用最小的物件替換出cache;②lowest relative value[13] 演算法:將效用值最低的物件替換出cache;③least normalized cost replacement(lcnr)[14]演算法:該演算法使用乙個關於文件訪問頻次、傳輸時間和大小的推理函式來確定替換文件;④bolot等人 [15]提出了一種基於文件傳輸時間代價、大小、和上次訪問時間的權重推理函式來確定文件替換;⑤size—adjust lru(slru)[16] 演算法:對快取的物件按代價與大小的比率進行排序,並選取比率最小的物件進行替換。

總之,為了使cache命中率最大化,圍繞cache替換演算法已經開展了大量的工作,但是替換演算法的效能很大程度上取決於www訪問的特性,還沒有哪一種替換演算法能夠對所有web訪問模式都優於其它演算法。

31Cache中主存塊的替換演算法

cache中主存塊的替換演算法 在採用全相聯對映和組相聯對映方式時,從主存向cache傳送乙個新塊,當cache中的空間已被佔滿時,就需要使用替換演算法置換cache行。直接對映無需考慮替換演算法。常見替換演算法 隨機演算法rand,先進先出演算法fifo 近期最少使用演算法lru,z最不經常使用演...

LIRS快取替換演算法

lirs快取替換演算法 lirs low inter reference recency set 是乙個頁替換演算法,相比於lru least recently used 和很多其他的替換演算法,lirs具有較高的效能。這是通過使用兩次訪問同一頁之間的距離 本距離指中間被訪問了多少非重複塊 作為一種...

Cache 替換策略

cache工作原理要求它盡量儲存最新資料,當從主存向cache傳送乙個新塊,而cache中可用位置已被佔滿時,就會產生cache替換的問題。替換問題與cache的組織方式緊密相關 對直接對映cache來說,只要把此可用位置上的主存塊換出cache即可 對全相聯和組相聯cache來說,要從若干個可用位...