2. 讀取未命中(Read Miss): 在這種情況下,如下圖所示,主機(jī)端I/O請求的數(shù)據(jù)沒有在緩存中。相關(guān)的Director會從后端的磁盤上獲取所需要的數(shù)據(jù)。一旦磁盤返回?cái)?shù)據(jù),Director中的后端Disk Adaptor會將相應(yīng)的數(shù)據(jù)存放到緩存中,如果是緩存鏡像,則后端Disk Adaptor會在緩存中寫入兩份數(shù)據(jù)。最后Director會將數(shù)據(jù)再發(fā)送給主機(jī)。讀取未命中比讀取命中消耗更多的時(shí)間,因?yàn)橹鳈C(jī)端必須等待Symmetrix從后端磁盤中獲取數(shù)據(jù)。

Symmetrix_Cache2-2

因?yàn)閺腄MX-3開始的版本中,使用的緩存鏡像機(jī)制。Enginuity也對于這種鏡像緩存進(jìn)行了優(yōu)化算法。鏡像緩存選擇優(yōu)化主要的改進(jìn)是,Enginuity允許Director對于讀取請求同時(shí)定位兩個緩存Slot,但是只讀取其中的一個。從而減少后端的傳輸開銷。一旦緩存出現(xiàn)錯誤,也可以簡單的再從磁盤中重讀。這種優(yōu)化對于大I/O的讀取未命中會有30%的性能提升。

Symmetrix_Cache2-3

3. 順序讀和預(yù)讀:預(yù)讀機(jī)制用來產(chǎn)生額外的讀取命中。當(dāng)Symmetrix檢測到兩個數(shù)據(jù)讀請求是從連續(xù)的位置獲取的,則相應(yīng)的后端Director會啟動預(yù)讀任務(wù)。后端Director會嘗試先于前端主機(jī)的請求,從額外的Track中讀取數(shù)據(jù)到緩存中,隨著被存放在緩存中的數(shù)量增加,如果前端主機(jī)連續(xù)的讀取順序的數(shù)據(jù),就會發(fā)現(xiàn)數(shù)據(jù)已經(jīng)存在與緩存中了。當(dāng)然,后端Director不會知道到底主機(jī)的順序讀會在哪里停止,一些預(yù)讀工作可能會被浪費(fèi),不過鑒于讀取命中的速度會比讀取未命中來的高出血多,所以通過預(yù)讀進(jìn)性能提升還是非常顯著的。

Symmetrix_Cache2-4

4. 寫入命中(Write Hit):也叫快速寫入,寫入命中的情況發(fā)生在緩存中有足夠空間用來存儲需要寫入的數(shù)據(jù)。對于主機(jī)端的寫入請求,后端Director找到可用的緩存Slot,然后將數(shù)據(jù)傳輸?shù)骄彺嬷?,然后立刻給主機(jī)寫入完成信號。主機(jī)端即認(rèn)為寫入已經(jīng)完成。對應(yīng)的緩存Slot會被標(biāo)記為寫入等待狀態(tài)(Write Pending),直到數(shù)據(jù)寫入到物理磁盤以后才能夠再被使用。如果緩存是鏡像的,Director需要在鏡像中分別寫入數(shù)據(jù)。寫入到后端磁盤(de- stage)是批量進(jìn)行的,通常會處于比較低的優(yōu)先級下進(jìn)行,但是如果當(dāng)寫入等待狀態(tài)的緩存使用率達(dá)到比較高的值的話(DMX默認(rèn)是50%,VMAX是 75%),則Symmetrix會進(jìn)入優(yōu)先de-stage模式,加快寫入磁盤的速度。

Symmetrix_Cache2-5

5. 寫入未命中(Deplayed Fast Write):也叫延遲快速寫入,寫入未命中的情況發(fā)生在當(dāng)Symmetrix的緩存已經(jīng)達(dá)到了寫入等待上限的時(shí)候(VMAX是80%), 新的寫入請求無法進(jìn)行快速寫入,會觸發(fā)將現(xiàn)有的寫入等待數(shù)據(jù)立刻寫入到磁盤的操作,當(dāng)Director觀察到緩存中有空閑空間的時(shí)候,完成寫入命中操作,將數(shù)據(jù)寫入到緩存中。也就是說延遲快速寫入也就是有等待時(shí)間的快速寫入。

Symmetrix_Cache2-6
分享到

zhaohang

相關(guān)推薦