本篇主題如下:
緩存命中和緩存未命中
緩存與緩沖間的差異
緩存命中和緩存未命中
當(dāng)I / O操作開始從磁盤緩存而不是從非易失存儲中檢索數(shù)據(jù)時,(如磁盤設(shè)備或子系統(tǒng))緩存命中發(fā)生。除了提供來自內(nèi)存的快速響應(yīng)之外,緩存命中還縮短了I / O路徑的距離。如圖所示。
另一種情況是,雖然搜索了緩存,但沒有發(fā)現(xiàn)數(shù)據(jù),因此數(shù)據(jù)必須從非易失存儲讀取,這就是緩存未命中。由于搜索緩存時需要花費(fèi)時間,所以緩存未命中增加了I / O操作的時間。緩存未命中工作過程如圖所示:
如果緩存實現(xiàn)不理想,將產(chǎn)生很高的未命中率,由于每次緩存未命中都需要花費(fèi)額外的時間,所以導(dǎo)致系統(tǒng)性能的下降。用于描述緩存相對精確度的術(shù)語叫緩存命中率,緩存命中率是緩存命中數(shù)除以I / O請求總數(shù)所得的結(jié)果。對于開放系統(tǒng)服務(wù)器,如UNIX、Win NT及NETWare系統(tǒng)等,通常的命中率率不超過50 %。順便指出,由于大型計算機(jī)系統(tǒng)使用的數(shù)據(jù)訪問方法不同,它能到達(dá)更高的命中率(90 %)。
緩存命中率的計算如下:
緩存與緩沖間的差異
“緩存”和“內(nèi)存”有時可以互換使用。然而,磁帶驅(qū)動器中的內(nèi)存通常并不是緩存,而是緩沖。雖然它們的物理組成是一樣的,但緩沖只起臨時存儲數(shù)據(jù)的作用,由此數(shù)據(jù)從一個位置或設(shè)備傳到另一個位置或設(shè)備。一般地,緩沖是在生命期較短的進(jìn)程控制下工作,一旦數(shù)據(jù)傳輸完畢,這些進(jìn)程將立即釋放內(nèi)存地址。一種常見類型的緩沖是F I F O緩沖,即一種先進(jìn)先出結(jié)構(gòu),其結(jié)構(gòu)如圖所示:
另一方面,緩存內(nèi)存由一個或更多的系統(tǒng)算法所控制,這些算法在一個長時間里維護(hù)和管理著內(nèi)存資源,緩存的數(shù)據(jù)可以長時間地保存在緩存中。
在協(xié)調(diào)性能有差異的控制器和設(shè)備工作方面,緩沖常常能夠發(fā)揮作用,這種方式的緩沖可以看作是某種轉(zhuǎn)換器。主機(jī)I / O控制器上的芯片可以快速地通過I / O路徑傳輸數(shù)據(jù),它們的性能可以達(dá)到納秒級,而對于磁盤和磁帶驅(qū)動器這樣一類的機(jī)電存儲設(shè)備,其數(shù)據(jù)的傳輸速度只能在微秒范圍內(nèi)。因此,設(shè)備制造商把緩沖內(nèi)存放入設(shè)備中,以減少訪問延遲,以適合主機(jī)控制器的性能。這樣,主機(jī)控制器可以同時地在多個設(shè)備上實施重疊操作,圖顯示了這種重疊過程。
緩存算法既可以在主機(jī)軟件中實現(xiàn),也可以在存儲子系統(tǒng)或在主機(jī)控制器中實現(xiàn)。當(dāng)緩存由一塊電子線路實現(xiàn)時,它被稱為緩存控制器,除了管理磁盤緩存內(nèi)存中的內(nèi)容外,它還可以控制子系統(tǒng)中的磁盤操作,這些操作的細(xì)節(jié)是下一章的主要論題。圖顯示了帶有一個緩存控制器和緩存內(nèi)存的磁盤緩存結(jié)構(gòu):
之前在社區(qū)發(fā)布了一系列的文章,后來因為圖片問題,很多的文章無法看了,朋友都反應(yīng)了這個問題,現(xiàn)在發(fā)布出來,持續(xù)的更新,請大家頂起來 :http://www.itpub.net/thread-1703788-1-1.html
按需下載 打包下載 http://m.survivalescaperooms.com/books/59793.html
作者:小洋,燕洋天
新聞熱點
疑難解答
圖片精選