1)主機(jī)系統(tǒng)的LRU緩存
當(dāng)應(yīng)用請求數(shù)據(jù)時(shí),數(shù)據(jù)傳入LRU緩存。為處理而恢復(fù)的數(shù)據(jù)也由緩存數(shù)據(jù)裝入器拷貝到緩存存儲(chǔ)。在傳輸數(shù)據(jù)并將其裝入主機(jī)內(nèi)存的過程中,LRU很少影響系統(tǒng)的性能。從這個(gè)意義上說,在主機(jī)內(nèi)存中實(shí)現(xiàn)LRU緩存是極端有效的。
2)主機(jī)系統(tǒng)中的預(yù)先讀緩存
與LRU相比,預(yù)先讀要求更多的系統(tǒng)內(nèi)存資源和消耗更多的CPU周期。由于數(shù)據(jù)裝入器獨(dú)立于任何應(yīng)用的I/O請求,所以緩存數(shù)據(jù)的裝入需要花費(fèi)大量的系統(tǒng)資源,包括CPU周期和存儲(chǔ)路徑、系統(tǒng)I/O總線以及系統(tǒng)存儲(chǔ)總線的帶寬。
3)主機(jī)系統(tǒng)中的透寫緩存
除了效果很好外,對于基于主機(jī)的透寫緩存勿須多說。雖然性能優(yōu)勢不如回寫緩存好,但是透寫緩存能夠避免回寫緩存引起的數(shù)據(jù)一致性問題。
4)主機(jī)系統(tǒng)中的回寫緩存
系統(tǒng)內(nèi)存中的回寫緩存速度非常之快,這是因?yàn)榫彺鎸懞碗S后的I/O請求確認(rèn)都是即時(shí)的。對于諸如事務(wù)處理系統(tǒng)這樣的高吞吐量環(huán)境,系統(tǒng)內(nèi)存的回寫緩存將提供最快的總體性能。注意,確保I/O路徑上的所有組件都要使用UPS保護(hù),以使在電源斷電后,能即時(shí)把臟塊寫入非易失存儲(chǔ)。
注意對于隨機(jī)訪問和事務(wù)處理應(yīng)用,主機(jī)系統(tǒng)的磁盤緩存能夠提供很大的性能優(yōu)勢。這
些應(yīng)用的最優(yōu)組合可能是LRU緩存與回寫緩存的組合。
5)設(shè)備/子系統(tǒng)中的LRU緩存
LRU緩存可以成功地在設(shè)備/子系統(tǒng)中實(shí)現(xiàn),但這種LRU緩存的實(shí)現(xiàn)并沒有內(nèi)在的優(yōu)勢。事實(shí)上,當(dāng)在主機(jī)內(nèi)存中實(shí)現(xiàn)LRU緩存時(shí),其性能可能會(huì)更好。然而,LRU放在子系統(tǒng)中也沒有任何錯(cuò),且可以獲得很大的性能改善。如前所述,假如服務(wù)器的CPU使用率已經(jīng)很高(超過75%),或沒有適當(dāng)?shù)膬?nèi)存來建立緩存,那么,在存儲(chǔ)子系統(tǒng)中實(shí)現(xiàn)緩存則更有意義。
6)主機(jī)I/O控制器中的LRU緩存
LRU在主機(jī)I/O控制器中也能很好地工作,正像在存儲(chǔ)子系統(tǒng)中一樣。主機(jī)I/O控制器的緩存比子系統(tǒng)中的緩存更快,但不如主機(jī)內(nèi)存緩存速度快。像LRU其他的實(shí)現(xiàn)方案一樣,將數(shù)據(jù)裝入緩存所花費(fèi)的額外開銷很少。
7)主機(jī)I/O控制器中的預(yù)先讀緩存
在主機(jī)控制器中,效率最高的緩存控制器實(shí)現(xiàn)是使用緩存控制器電路,就像存儲(chǔ)子系統(tǒng)中的緩存控制器一樣。同時(shí),這個(gè)方法還減輕了系統(tǒng)CPU的負(fù)荷。為了將數(shù)據(jù)傳送到緩存,主機(jī)控制器必須通過存儲(chǔ)路徑發(fā)出I/O請求給子系統(tǒng)。因?yàn)轭A(yù)先讀緩存通常用于大量流式數(shù)據(jù)的應(yīng)用,且應(yīng)用的I/O請求和預(yù)先讀緩存在同一I/O路徑上傳輸,所以可能產(chǎn)生存儲(chǔ)路徑的擁擠現(xiàn)象。
8)主機(jī)I/O中的透寫緩存
主機(jī)I/O控制器既能實(shí)現(xiàn)透寫緩存,也能實(shí)現(xiàn)回寫緩存。像其他透寫緩存的實(shí)現(xiàn)方案一樣,主機(jī)I/O中實(shí)現(xiàn)的透寫緩存也是最保守的方法,它丟失數(shù)據(jù)的可能性比主機(jī)內(nèi)存中實(shí)現(xiàn)的透寫緩存更小,但比存儲(chǔ)子系統(tǒng)中實(shí)現(xiàn)的緩存稍微大一些。與主機(jī)內(nèi)存緩存實(shí)現(xiàn)相同,為了防止斷電時(shí)的數(shù)據(jù)丟失,需要使用主機(jī)系統(tǒng)的UPS。
9)主機(jī)I/O控制器中的回寫緩存
主機(jī)I/O控制器也能夠?qū)崿F(xiàn)回寫緩存。類似于主機(jī)內(nèi)存回寫緩存,這種回寫緩存需要由系統(tǒng)的UPS保護(hù),這樣當(dāng)累積在緩存中的數(shù)據(jù)被刷新到非易失存儲(chǔ)時(shí),仍然保持緩存的數(shù)據(jù)可訪問性。