回到這邊我們所要談的主題-built-in processor,前面我們已經知道一個有瓶頸存在的子處理器會帶來甚麼樣的性能瓶頸,在現今的RAID架構下,目前以RoC架構為主流導向,因為它有其優點:
1.Layout佈局縮小.
2.有助於costdown.
3.良好的設計會使效益遠遠超過Discrete RAID架構.
4.有效的內部互連頻寬完全不必考慮瓶頸存在.
5.一個有效的Hardware RAID Assist設計可以大幅增強性能.
從這幾點可以知道, 整合I/O Processor,Hardware RAID Assist和IOC的RoC設計優勢遠遠不是Discrete RAID架構可以比的.下面是一張LSISAS1078方塊圖架構:

在這次的主題,要探討built-in Processor的有無,有甚麼樣的差異性?並不考慮特殊的Hardware RAID Assist,因為僅在RAID 0下進行測試,所以用不到.我們會進行兩種方案的差異性測試

river-based RAID和IOP-based RAID.IOP-based RAID可以說是完整的Pure-Hardware RAID方案,基本的特徵就是前面之前提過的.透過硬線設計建立自有的RAID stack;資料安全性及整合性遠高過Driver-based RAID架構;遠不如近,有較低的Response Time;built-in Processor協同計算,比起要完全依靠Host-CPU的Driver-based RAID,通常會有更好的性能.Driver-based RAID的Host-RAID Engine建立在裝置驅動程式(driver)上,因此要必須承擔一定程度的風險.下面這張是Driver-based RAID的架構圖,取自Adaptec by PMC的一份文件:

HostRAID Device Driver包含了Host RAID Engine,所有相關的RAID計算都是由裝置驅動程式去實現的,比方說萬一延遲寫入時,發生不當的H/W Reset,有可能會導致整顆VD毀損.當然,不管是Driver-based RAID或著Hardware RAID,應該會包含某種程度的NVSRAM設計,進行一種write journaling功能,寫入小量的log(某種程度的checkpoint)至NVSRAM,不正常的開機運作,這樣的設計還是保有一定程度的安全性.另外,透過一張圖來表示Hardware RAID的stack架構,如下所示:

從上圖可以看到,Hardware RAID設計方案,透過firmware包有自家的RAID stack來決定硬線功能設計上的使用,這意味著縱有相關RAID硬線設計(Hardware RAID Assisr).真正Hardware RAID是與否,還得看firmware內容去決定,例如LSI的LSISAS2008,當透過RAIDKey啟用RAID5模式的時候,由於他沒有任何Hardware RAID Assist設計.基本上在IMR模式下,算是Driver-based RAID架構,而且性能受到很大的限制,例如併發I/O數量只有31條,跟LSISAS2108的1008條併發I/O數量相比,簡直天差地遠.其次就是built-in Processor可能會沒有效果,因為相關的操作反而要依賴Host CPU.在RAID 5模式下,所得到的性能可以說只有淒慘兩個字可以形容.個人認為LSISAS2008僅適合作為一般純HBA方案使用較為適合,就算在IT模式下,那顆built-in Processor應該也是會有效果的.
說了那麼多,要進入測試的部分了,Driver-based RAID採用常見的Intel solution-ICH10R; IOP-based RAID依然是愛用的LSISAS2108高階主流方案.這次應用拿兩顆Crucial C300 128GB x2去檢測.使用的是ioMeter來查看有無built-in Processor的差異性. Driver-based RAID所有RAID相關計算要依靠Host CPU,我這次拿Intel Xeon W3570的4C/
[email protected] CPU應該是相當Ok的.
IoMeter的測試是以最大I/O讀取性能測試為主, 來看下面的設定:

由於是測試SSD的關係,請記得!要4K對齊測試,否則結果會有問題.個人會測試不同的QD深度來評估其差異.Stripe Size以64KB為主.
我們先看看Driver-based RAID與IOP-based RAID在CPU負載量的差異上:

千萬不要以為這兩者之間差異很小,因為這是用平均值來算,靠CPU的威能才可以達到這樣.如果把每個thread的負載量拆出來看,那差異就大了.這邊就不拆出來看了,因為用CPU Effectivness就可以看出來了.
在來看看不同的I/O請求會造成對Host CPU的中斷數量差異:

明顯可以看出Hardware RAID方案在這部分有其優勢性,對Host CPU觸發的中斷數量遠遠低於Driver-based RAID, built-in Processor的作用還是可以看到的.我們在來看看I/O平均回應時間的差異性:

在QD愈深的情況下,Hardware RAID優勢明顯,相對於最大I/O回應時間,如下圖:

可以看出一個Hardware RAID方案優於Driver-based RAID是很正常的.最後我們來看一個I/O子系統對於CPU所獲取的I/O存取效益為何:

OK,…不得不說這個差異太過明顯, CPU Effectiveness其實可以算出來的,他的公式表示如下:
CPU Effectiveness= IOPS/CPU Utilization
也就是說IOPS愈高,CPU使用量愈低,所獲取的效益愈高,不過由於這是測試循序的最大I/O傳輸,大家IOPS都高不到哪裡.但是可以看出的是IOP-based RAID對於CPU使用率是有效低於Driver-based RAID方案,因此可以得到相當高的CPU Effectiveness.
最後,透過這些測試便可以知道Hardware RAID相對於Driver-based RAID如何有其差異,這邊主要並不是說兩者的好與壞,僅是表示在built-in Processor的RAID架構,可以獲得怎樣的效益.
以上謝謝惠顧...!!..
差不多只貼四站..
就這樣...
