[問題] 一個LRU cache實作的問題

作者: Neverfor (八卦蟑螂)   2021-01-21 01:36:08
拍謝不知道要在哪裡問,最近在實作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
作者: ucrxzero (RX-0)   2021-01-21 13:22:00
sector level是用 bio嗎?
作者: wtchen (沒有存在感的人)   2021-01-21 15:35:00
與C無直接關聯喔

Links booklink

Contact Us: admin [ a t ] ucptt.com