[問題] 一個LRU cache實作的問題已刪文
拍謝不知道要在哪裡問,最近在實作LRU遇到一些問題
假設我的cache policy是以LRU實作
存放單位是以request為單位
request = (起始位置,寫的長度)
假設寫單位是sector (LSN)
一個request (100,3)代表 :
寫LSN100 ~ 102
那問題來了
假設兩個request之間只有部份位置重疊
例如兩個request分別 :
寫100 101 102 103
寫99 100
問題 :
1.這樣的話有部份重疊到
如果我是以request evict當作真正處理request的話,不就會有發生先後順序的問題了,可
能我先寫了新的100再寫舊100
2.如果是hit到另外一筆request的部份位置,需要把那個request也往MRU丟嗎!?
3.這種情況發生的多嗎?如果都是只更新一小部份的話會一直遇到這個問題
p.s這邊假設是以Request level去做,用sector level去做就不會有這個問題了
先謝謝大家了0...0
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.15.88 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1611164170.A.698.html
推
01/21 13:22,
3年前
, 1F
01/21 13:22, 1F
沒理解那麼深呢,我去看一下相關知識
→
01/21 15:35,
3年前
, 2F
01/21 15:35, 2F
謝謝 我去prob_solve板問看看
※ 編輯: Neverfor (112.78.66.220 臺灣), 01/21/2021 20:19:08
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章