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