不同Stripe大小對效能的影響

    內容表格
    沒有標頭

    版本為 11:44, 20 Sep 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    什麼叫Stripe size

    透過不同型態的RAID架構來評估Host-CPU的使用狀況....

    基本上要指出到底從I/O request發出中斷使CPU被干涉多少次...

    先放這張, 後續整理完後在貼上:

    summary201012210102.gif

    從這張圖不難看出, Driver-based RAID體下,所有相關RAID計算都必須依靠Host CPU協助, 例如像是Stripping, 相關的計算都會引發對CPU的I/O請求觸發大量的I/O中斷操作. 看看SSD; Max I/O Read Test好了...

    當條帶尺寸為8KB的時候, 這是一個較小的尺寸,在大量I/O的情況下, 是必要依靠Host-CPU多次操作8KB條帶切割/重組到不同的Disk, 尺寸很小的話, I/O需求量相對也會提高, 你可以看到8KB所觸發的中斷數量達到5萬多次, 反過來看看IOP-based RAID, 由於LSISAS2108透過built-in processor的這種協同式處理器, 像這類條帶操作都會被依賴到RAID chip上的built-in processor操作, 自然而然, Host CPU相對於I/O請求所觸發的中斷操作就明顯減少許多. 你可以注意到8KB的情況下, Driver-based RAID和IOP-based RAID明顯相差有10倍左右, 這意味著IOP-based RAID有更好的操作性能.

    另外從Driver-based RAID看到, Response Time也有所不同, 對於I/O請求所需的回應時間, 大量I/O情況下, 我從們128KB來看, 最大Response Time相差了30ms左右, Avg. Response Time也有10ms之差異, 明顯可以看到IOP-based RAID這種Hardware RAID有更低的I/O延遲性.

    CPU Effectivness指的是子I/O系統操作對於CPU所獲得的效益, 子I/O系統建構在kernel之下,子I/O系統包含了對各種裝置驅動程式(Device Driver), 裝置驅動程式的下層就是相關的控制器. 基本上這是可以算出來的:

    CPU Effectiveness= IOPS / CPU Utilization

    可以得到每單位使用量所能獲取的I/O效益, 這意味著大量IOPS情況下, CPU被過少的干涉(意味較低的CPU負載), 所能得到的效益就愈高, 你可以很清楚的看到Hardware RAID所獲得的效益遠遠高於Driver-based RAID. 雖然, ICH10R僅支持3Gb/s, 就算是6Gb/s也無法改變當前這樣的情況, 我懷疑支持6Gb/s可能會需要更多的I/O操作.

    Powered by MindTouch Core