CacheCade Pro 2.0(SSD Caching)

    內容表格
    沒有標頭

    版本為 12:47, 23 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本


    LSI MegaRAID CacheCade Pro 2.0 讀/寫快取記憶體軟體。該軟體可智慧地在固態記憶體 (SSD) 上為頻繁訪問的資料,或稱“熱點”資料建立快取記憶體,從而可以顯著提高硬碟驅動器 (HDD) 陣列的應用 I/O 性能。採用 CacheCade Pro 2.0 軟體的 MegaRAID控制器與完全使用 HDD 的陣列相比,每秒事物處理量可提升 13倍,成本可降低 82%。

        這款第二代軟體可相容 LSI MegaRAID SAS 9260、9261 和 9280 系列控制器,該軟體將上一代 CacheCade 軟體只能提供 SSD 讀緩存的性能進行了擴展,可同時提供讀緩存和寫緩存,也是業界首款採用 SSD 同時實現讀/寫快取記憶體功能的 SSD 專用控制器快取記憶體技術。

    本串作為討論.....
    在這篇會見到一個術語: SSDC..
    為SSD Caching, 因為CacheCade比較長...


    前提補充
    Write-caching這個機制本身最大影響是的就是Parity RAID mode下, 像是RAID 5或RAID 6...
    由於這幾個模式會牽涉到Parity的Read-Modify-Write操作.., 因此Caching機制可以說是影響效能的重大關鍵...
    當一個Parity根據前面的條帶數據計算出的時候..
    P1=D1 xor D2 xor D3 xor ......xor Dn
    這個Parity在Caching機制下未必要立即寫入VD上..
    而是他會暫存在Hot data buffer...
    因為任何時候的情況下都有可能Parity被再次拿來操作..

    從這張圖可以看到了這個操作, 請注意綠色流線...
    多個數據被取出的情況下...
    D1, D2, .....,Dn...
    如果沒有應用一種回寫機制扔到Hot data buffer上...
    那性能之悲慘可想而知...
    尤其在大量的XOR operation..
    只會更慘不會更好..
    下面的連結是之前花很多時間翻譯的AMCC RAID 6論文, 不妨可以去觀看:
    http://www.osslab.com.tw/Storage/Enterprise/SAS%e8%88%87RAID/Raid_6_Structure
    再次提醒, 一個決定Hardware RAID的關鍵與否, 請看下圖:

    1. 硬件Caching機制
    2. RAID Assist的存在, ex: MCU附加XOR function
    3. 根據Frimware Stack設計而定

    一般Built-In Porcessor最有效的作用就是乘載大量I/O操作...
    由其實I/O中斷上的處理...
    但是這個並非是決定Hardware與Software RAID的差異點...


    在新版的CacheCade Pro 2.0下...
    加入了Write Caching...

    詳細部分...

    不過性能上的衝擊很明顯...
    所謂性能上衝擊明顯並不是指她的效能上的提升..
    而是有好有壞..

    上圖的各種設定都會導致出來的結果有所不同..
    與1.1版的f/w在設定上有些變化...
    不再是使用Cached I/O來啟動..
    而是有個別的專屬項目...

    使用LSI00292之後..

    CacheCade的設定項目會變解鎖...

    支持Write Caching...
    從高級的Firmware Log, 又稱為Persistent Log....
    從這份進階的Log可以看到LSI RAID HBA再進行初始化時候的相關狀態...
    在T4階段可以看到LSI SSDC的啟動資訊...

    在啟用Write Caching之後...
    隨機寫入性能最好的情況下會提升50~100倍左右...
    但是這個前提是必須要把HBA上的Hot data buffer徹底關掉...
    也就是不能啟用Write-back caching...
    一切交由SSD Array處理..
    在這種情況下...
    我個人的想法是...
    1. 把SSD本身體質問題排除, 數據安全性會大幅提升, 因為任何時候寫入操作面向的都是非揮發的SSD, 而非DRAM...
    2. 但是關掉HBA上的Hot data buffer, 循序性能是有可能受到大幅衝擊...
    3. 隨機性能會大幅提升..
    當針對VD啟用SSDC後, 從SSDC本身便可以看到被關聯的VD..

    而且從VD本身也可以看到相關的SSDC屬性..

    從一塊操作極為頻繁的WorkingSet, 姑且可以稱為Hot Zone
    相反地, 不頻繁的情況下, 這塊區域則是Cold Zone

    關於LSI的SSDC在消費級領域上, 類似的就是Intel的SRT...

    這是SRT的相關設定, 不過要透過IRST的RAID Stack去啟動..
    當然LSI的SSDC要遠比SRT先進許多了...
    另外還有類似的技術就是Adaptec的maxCache, 前身為MaxIQ..

    原理同樣類似, 不過他沒有支持Write-caching機制...
    下圖為來自1.1版的應用說明..

    這個在2.0 R/W之後, 這些情況都會受到大幅的改變, 因為啟用了SSDC Write caching機制..
    從先簡單的測試來看...
    HDD: WD WD1000FYYG, SAS 2.0, 6Gb/s, 1TB x4
    RAID: LSI MegaRAID SAS 9260-8i, LSISAS2108 RoC
    SSD: Crucial M4 64GB x8
            Crucial M4 128GB x2
    PFK: LSI Advanced Software Service, LSI00292

    使用軟體為CDM..
    測試檔案尺寸為1GB...
    首先來一張Baseline的情況下..
    正常關閉SSDC, 使用最佳的設置..
    256k, RA&WB&DIO

    而啟用SSDC後, 設定上必須要稍微做一些改變...
    64k, NRA&WB&DIO, 你可以發現我故意啟動WB...

    這邊可以看到使用LSI的SSDC後, 成績有出彩的變化...
    整體性能可以說是大幅提升..
    不過有個問題就是隨機寫入性能遭受影響..
    這是因為開啟WB後的結果..
    那我把WB關掉的話呢?
    64K, NRA&WT&DIO

    可以看到隨機寫入性能因而大幅提升..
    可是循序性能卻受到大幅影響...
    LSI其實很早就表明過...
    HBA上的Hot data buffer會嚴重影響性能...
    不過在這個案例上..
    數據可以保障安全性...
    因為你不會直接寫入HBA上的Hot data buffer...
    但是可是缺點就是某些情況循序性能會重創...
    還有我們可以看到在有些測試上可以見到LSI SSDC的強悍案例...
    檔案尺寸1GB
    來先看看Baseline的情況..

    開啟LSI SSDC後...

    很歡樂的情況...
    像吃了威爾鋼一樣..
    當然ATTO本身就是很歡樂的測試軟體..
    因此不太可考性......

    我們在看AS SSD的情況..
    Baseline結果..

    LSI SSDC之後..

    成績明顯大幅拉開了差距....
    以上都是以4盤去做測試...
    但是得到了一些結論就是:
    1. 針對循序性能的大幅強化方案=> 256KB, NRA&WB&DIO
    2. 針對隨機性能的大幅強化方案=> 256KB, NRA&WT&DIO
    另外就是使用CacheCade Pro, 採用第二方案的話..
    BBU可以免除, 透過SSD Array保證數據安全性...
    如果要保證SSD Array的數據安全性..
    有兩種做法..
    1. 不可關閉SSD Guard, 因為SSD Guard是結合Copyback和SMART而設計的
    2. 使用SSDC的RAID 10模式來保證數據安全..

    如果SSD夠強悍的話, 我的建議可以使用4顆...
    當然米多的話, 多買幾顆也無所謂..
    但是目前最大容量限制為512GB..
    這點請注意!
    然後關閉HBA上的任何Hot Data buffer..
    一切由SSD Array來操作..
    而且BBU可以完全免除...

    增加影片部分(請點擊)...

    來看看LSI SSDC的運作情況..
    我強制寫一個4GB的檔案進行操作..
    這檔案比較大..
    綠燈為HDD在閃燈..
    藍燈為SSD在閃燈...
    你可以發現一段時間後HDD便不會在運作了...
    轉由SSD在處理..

    無法Caching所帶來的慘況:
    256K, NRA&WT&DIO

    更改成一般設定:
    256K, RA&WB&DIO


    根據官方MSM Content Help的建議設定


    問題補充:
    LSI SSDC並不會將全部I/O給caching...
    如果一個I/O的workingset操作不頻繁的話...
    也就是所謂的cold zone的部分
    那這個數據集有很大的機會跟直接跳過caching...
    像是如果是做大型串流數據複製..
    例如檔案拷貝...
    這種數據很難被caching...
    那沒有經過SSDC的情況下..
    你只會看到一個很慘的情況...

    使用LSI的SSDC要注意用途...
    如果I/O請求併發數量很大的話..
    那他會有使用價值存在...
                      
    16562, Is TRIM supported with LSI RAID controllers or SAS HBAs?
    TRIM is not supported with LSI RAID controllers or SAS HBAs.
    http://kb.lsi.com/KnowledgebaseArticle16562.aspx?Keywords=trim
    PS: 如果使用pass-through打穿讓OS識別, 可以正常使用TRIM.

    太強大了!看來 CacheCade 2.0 可以把 Adaptec 的 MaxIQ/ZCR 以及其他的電池方案淘汰掉……
    如果單純考量到CacheCade Pro 2.0 R/W的泛用性用途情況下..
    依然還是需要搭配HBA上的Hot Data Buffer..
    作三層混合使用...

    CacheCade是不可能把Adaptec的最高安全級別-ZMCP給取代掉..
    LSI的CacheVault才是用來對向ZMCP的高階服務..

    Powered by MindTouch Core