磁盤緩存專題之一 緩存命中和緩存未命中&緩存與緩沖間的差異

緩存的概念可以用于幾種設(shè)備,這些設(shè)備包括:
• 比正常內(nèi)存更快的高速內(nèi)存緩存。
• 比磁盤驅(qū)動(dòng)器更快的、由內(nèi)存芯片組成的磁盤緩存。
• 比通過Internet訪問更快的、由磁盤實(shí)現(xiàn)的Internet緩存。 本專題主要涉及的是磁盤緩存。通常,用于緩存的內(nèi)存是易失內(nèi)存,假如電源切斷,存放在緩存中的數(shù)據(jù)內(nèi)容將會(huì)丟失。從這個(gè)意義上說,緩存內(nèi)存是一個(gè)臨時(shí)存儲(chǔ),但磁盤設(shè)備和子系統(tǒng)所使用的緩存是非易失存儲(chǔ)。易失(內(nèi)存)和非易失存儲(chǔ)關(guān)系如圖所示

本篇主題如下:
緩存命中和緩存未命中
緩存與緩沖間的差異
緩存命中和緩存未命中
當(dāng)I / O操作開始從磁盤緩存而不是從非易失存儲(chǔ)中檢索數(shù)據(jù)時(shí),(如磁盤設(shè)備或子系統(tǒng))緩存命中發(fā)生。除了提供來自內(nèi)存的快速響應(yīng)之外,緩存命中還縮短了I / O路徑的距離。如圖所示。

另一種情況是,雖然搜索了緩存,但沒有發(fā)現(xiàn)數(shù)據(jù),因此數(shù)據(jù)必須從非易失存儲(chǔ)讀取,這就是緩存未命中。由于搜索緩存時(shí)需要花費(fèi)時(shí)間,所以緩存未命中增加了I / O操作的時(shí)間。緩存未命中工作過程如圖所示:

如果緩存實(shí)現(xiàn)不理想,將產(chǎn)生很高的未命中率,由于每次緩存未命中都需要花費(fèi)額外的時(shí)間,所以導(dǎo)致系統(tǒng)性能的下降。用于描述緩存相對精確度的術(shù)語叫緩存命中率,緩存命中率是緩存命中數(shù)除以I / O請求總數(shù)所得的結(jié)果。對于開放系統(tǒng)服務(wù)器,如UNIX、Win NT及NETWare系統(tǒng)等,通常的命中率率不超過50 %。順便指出,由于大型計(jì)算機(jī)系統(tǒng)使用的數(shù)據(jù)訪問方法不同,它能到達(dá)更高的命中率(90 %)。
緩存命中率的計(jì)算如下:

緩存與緩沖間的差異
“緩存”和“內(nèi)存”有時(shí)可以互換使用。然而,磁帶驅(qū)動(dòng)器中的內(nèi)存通常并不是緩存,而是緩沖。雖然它們的物理組成是一樣的,但緩沖只起臨時(shí)存儲(chǔ)數(shù)據(jù)的作用,由此數(shù)據(jù)從一個(gè)位置或設(shè)備傳到另一個(gè)位置或設(shè)備。一般地,緩沖是在生命期較短的進(jìn)程控制下工作,一旦數(shù)據(jù)傳輸完畢,這些進(jìn)程將立即釋放內(nèi)存地址。一種常見類型的緩沖是F I F O緩沖,即一種先進(jìn)先出結(jié)構(gòu),其結(jié)構(gòu)如圖所示:

另一方面,緩存內(nèi)存由一個(gè)或更多的系統(tǒng)算法所控制,這些算法在一個(gè)長時(shí)間里維護(hù)和管理著內(nèi)存資源,緩存的數(shù)據(jù)可以長時(shí)間地保存在緩存中。
在協(xié)調(diào)性能有差異的控制器和設(shè)備工作方面,緩沖常常能夠發(fā)揮作用,這種方式的緩沖可以看作是某種轉(zhuǎn)換器。主機(jī)I / O控制器上的芯片可以快速地通過I / O路徑傳輸數(shù)據(jù),它們的性能可以達(dá)到納秒級,而對于磁盤和磁帶驅(qū)動(dòng)器這樣一類的機(jī)電存儲(chǔ)設(shè)備,其數(shù)據(jù)的傳輸速度只能在微秒范圍內(nèi)。因此,設(shè)備制造商把緩沖內(nèi)存放入設(shè)備中,以減少訪問延遲,以適合主機(jī)控制器的性能。這樣,主機(jī)控制器可以同時(shí)地在多個(gè)設(shè)備上實(shí)施重疊操作,圖顯示了這種重疊過程。

另一方面,緩存利用更復(fù)雜的智能技術(shù)決定它將存儲(chǔ)什么數(shù)據(jù)。緩沖是由相對簡單的內(nèi)存芯片構(gòu)成,這些芯片不停地卸出和填充,但是磁盤緩存算法運(yùn)用復(fù)雜的邏輯處理:那些數(shù)據(jù)應(yīng)存放在緩存中,那些數(shù)據(jù)應(yīng)從緩存中撤出。根據(jù)應(yīng)用的不同,這些緩存的算法變化很大。
緩存算法既可以在主機(jī)軟件中實(shí)現(xiàn),也可以在存儲(chǔ)子系統(tǒng)或在主機(jī)控制器中實(shí)現(xiàn)。當(dāng)緩存由一塊電子線路實(shí)現(xiàn)時(shí),它被稱為緩存控制器,除了管理磁盤緩存內(nèi)存中的內(nèi)容外,它還可以控制子系統(tǒng)中的磁盤操作,這些操作的細(xì)節(jié)是下一章的主要論題。圖顯示了帶有一個(gè)緩存控制器和緩存內(nèi)存的磁盤緩存結(jié)構(gòu):

之前在社區(qū)發(fā)布了一系列的文章,后來因?yàn)閳D片問題,很多的文章無法看了,朋友都反應(yīng)了這個(gè)問題,現(xiàn)在發(fā)布出來,持續(xù)的更新,請大家頂起來:http://www.itpub.net/thread-1703788-1-1.html
按需下載 打包下載 https://www.jb51.net/books/59793.html 作者:小洋,燕洋天
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。