lru(least recent used)是我們在cache替換演算法中最普遍使用的演算法,在快取塊已滿,而需要快取新的資料塊的時候,
這時需要從快取中找到乙個「沒有價值」的塊用新的資料塊去替換它。
lru的特點是簡潔高效,但是缺點是lru的缺點是不能對weak locality的資料進行快取
乙個印度人的arc還有lirslru的缺點是不能對weak locality的資料進行快取。
a. 如果stack size有1000個塊,而乙個檔案是1001個塊的大小,而且每次訪問都是從頭到尾的訪問。則lru的效能非常
差,幾乎沒有任何快取。
b. 假設我們要邀請學習好的同學到乙個容納10人的會議室開會。如果是lru演算法的話,會邀請90分以上或者80分以上的人,,但是如果沒有80分以上的同學則乙個都不邀請,而會議室也就白白浪費了,對於lirs,邀請
成績前在10名的同學到會議室。這裡會議室為我們的stack ,這樣我們的會議室也就是stack至少不會浪費。
所以我們這裡邊的問題就是如何把一些weak locality的資料也能夠快取起來,使我們的cache得到充分的使用?
2. 兩個概念
reuse: 乙個塊被使用之後,再次被使用
lirs的基本思想是對訪問的資料塊進行分類,一部分為hot資料塊,一部分為cold資料塊。對於hot資料塊我們可以分配
90%以上的cache給它們。而對於cold資料塊給它們分配10%。
本次聽課還收穫了一些做研究的思路。 jiangsong老師的大概科研思路如下:
a.提出問題:根據一些實驗現象,發現現有系統或者演算法不足的地方。
b.發現問題:蒐集各種實驗資料,畫成圖表,直觀的去暴露問題,從而找出現有方法可能的不足之處。
c. 形象化或者生活化的去解決這個問題
d. 把b中發現的問題用數學或者演算法的形式進行描述,提出新的觀點和概念,論述問題的本質原因。
e. 選擇合適的資料結構或者演算法去實現d中的解決方案
f. 做測試和分析,對比同類方法。
thanks
mkthanks
mk
k means演算法課堂筆記
給定乙個n個物件的資料集,劃分聚類技術將構造資料的k個劃分,每乙個劃分就代表乙個簇,k n。將資料劃分為k個簇,且k個劃分滿足下列條件 每乙個簇至少包括乙個物件 每乙個物件屬於且僅屬於乙個簇 劃分思想 物以類聚,人以群分 距離越近,相似度越大,相異度越小。明可夫斯基距離公式 d i j q xi x...
LRU演算法的實現
0 推薦 lru演算法的實現 什麼是lru演算法lru是least recently used的縮寫,即最近最少使用頁面置換演算法,是為虛擬頁式儲存管理服務的.關於作業系統的記憶體管理,如何節省利用容量不大的記憶體為最多的程序提供資源,一直是研究的重要方向.而記憶體的虛擬儲存管理,是現在最通用,最成...
LRU演算法的實現
什麼是lru演算法?lru是least recently used的縮寫,即最近最少使用頁面置換演算法,是為虛擬頁式儲存管理服務的。關於作業系統的記憶體管理,如何節省利用容量不大的記憶體為最多的程序提供資源,一直是研究的重要方向。而記憶體的虛擬儲存管理,是現在最通用,最成功的方式 在記憶體有限的情況...