POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 2497|回复: 11
打印 上一主题 下一主题

無聊使用Driver-based RAID作一些不同Stripe Size的測試..

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-19 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 per1-q1222 于 2010-12-19 21:00 编辑

我相信這類測試已有相關文章可循...
不過這次我要用ioMeter來一些比較特別的測試...
Driver-based RAID又稱Firmware-based RAID, 也有人叫fake RAID....
我們可以看下面這張圖, 這張圖是來自Adaptec by PMC的一份文件-Adaptec Hardware RAID vs Software RAID所示:

從這張Stack圖可以發現其中Host RAID Engine指的就是RAID的相關算法...
可以理解到Host RAID Engine是被封裝在Driver裡面...
RAID的操作是當進入作業系統載入完後才進行操作...
他的優勢是..
這樣的設計不會侷限在哪種IOC下...
只要透過firmware載入相關的Option ROM用來設定有關RAID的組態和定址到某個IOC的位址...
開機進行初始化的時候會載入一個Pre-Boot選單, 用來預先設定有關RAID的組態...
真正操作是在進入OS後才進行...
較低的成本是他的優勢...
不需要額外的硬線設計成本, 例如像是Hardwate XOR Assist設計或著built-in processor實作....
當然這是要付出代價的..
1. 不當H/W reset, 可能導致寫入條帶不全, 毀掉VD, H/W RAID建立在自有的RAID stack, 不當H/W reset還是會繼續運行....
2. RAID Engine是建立在Driver裡, 可能會受到非法的例外操作導致對資料安全性造成衝擊
3. 某些RAID模式下, 會提供很低的寫入性能, 例如RAID5.
4. 有限的功能限制
5. 沒有built-in processor, 全部的相關RAID運算都要交給Host CPU操作...
大致上就是這幾點缺陷...
這次透過ioMeter測試上有主要幾點:
1. 不同Stripe Size的傳輸速度為何...
2. 不同Stripe Size對於I/O request觸發的中斷數量為何
3. 不同Stripe Size對於CPU所獲得的效益為何..
==使用環境==
IO Controller: Intel ICH10R Controller
Option ROM Version: 8.9.1.1002
Storage: Crucial C300 128GB x2 (RAID 0; 回寫快取我是強制關閉...)
CPU: Intel Xeon W3570@3.2GHz
==ioMeter規格設定==
Queue Depth強制設成256佇列...

這個規格方案是最大I/O讀取操作...
來看看測試結果, 小弟將它弄成一張表單:

各類折線圖情況:
這個很容易明白, 不詳述...

超小的stripe size事實上是很爛的設定,這I/O中斷數量實在嚇死人..

這是一個interrupt所需要的時間, 不表意見...

CPU所獲取的I/O效益在64K尺寸左右下可以看到最高點...

下面這張, 不同Stripe Size, %DPC Time, CPU使用量的一整張列表, 看不懂得可以忽略..=3=:

DPC queue被卡在某顆CPU上...
這個問題和OS與硬體設計有關....
大量的中斷操作可能發生對於多核心系統無法分配....
大致上就這樣..
謝謝惠顧...!!
各位自行參考看看要使用怎樣大小的Stripe Size..
2#
发表于 2010-12-19 21:03 | 只看该作者
thx 4 share,看来还是设置成64 or 128K为好。
回复 支持 反对

使用道具 举报

3#
发表于 2010-12-19 21:05 | 只看该作者
谢谢LZ, 学习了.
回复 支持 反对

使用道具 举报

4#
发表于 2010-12-19 21:22 | 只看该作者
本帖最后由 sailofcloud 于 2010-12-19 21:26 编辑

您这两块C300可真没被少折腾啊。
4k read和128k read在sata传输层所消耗的资源是不同的
简单的对比速度不能直观的反应出差别。

还有就是4k stripe怎么4k对齐?测试出的瓶颈是在sata传输层。不是控制器,也不是SSD
//ich10R就是所谓的driver based raid?
//option rom去哪儿更新?
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2010-12-19 21:30 | 只看该作者
sailofcloud 发表于 2010-12-19 21:22
您这两块C300可真没被少折腾啊。
4k read和128k read在sata传输层所消耗的资源是不同的
简单的对比速度不 ...

Option ROM用MMTool可以強制替換..
但是風險要自擔...
ICH10R是Firmware/Driver-based RAID..

"还有就是4k stripe怎么4k对齐?测试出的瓶颈是在sata传输层。不是控制器,也不是SSD"...
聽不太懂 請賜較?..

這篇部不是想表明性能上的問題...
回复 支持 反对

使用道具 举报

6#
发表于 2010-12-19 22:01 | 只看该作者
本帖最后由 sailofcloud 于 2010-12-20 19:36 编辑

回复 per1-q1222 的帖子

赐教不敢。
连蒙带猜略知一二,猜错之处请轻微拍砖。

stripe 为4k时。每次读取单块SSD的大小为2k,这时SSD的读取没有做到4k对齐。读取效率降低到4k对齐的一半。不过由于读取速度足够快,而sata传输又比较慢,所以测试4k stripe和8k stripe时,测试结果一样。


8k stripe性能低于16k stripe
对单块SSD就是4k读取和8k读取。
sata在完成一条4k读取的命令和一条8k读取的命令效率是不同的。
4k读取,发读命令,建立连接(ncq),传输数据4k,命令完成
8k读取,发读命令,建立连接(ncq),传输数据8k,命令完成
64k读取,发读命令,建立连接(ncq),(传输数据8k) x8,命令完成

发读命令,建立连接,命令完成,对于一条ncq读取命令,这三点消耗的资源是固定的。
所以,一条读取命令的数据量越大,则效率越高。
CDM测试C300的读取, 512k为260MBps,4k为210MBps,这个差距有一部分原因就是sata读命令传输效率引起的。

您的测试中,stripe size提高使读取速度提高,我感觉很大一部分来自于读取命令效率的提高。

回复 支持 反对

使用道具 举报

7#
发表于 2010-12-19 22:27 | 只看该作者
做个记号,明天再仔细研究大侠的文章
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2010-12-20 01:16 | 只看该作者
sailofcloud 发表于 2010-12-19 22:01
回复 per1-q1222 的帖子

赐教不敢。

"stripe 为4k时。每次读取单块SSD的大小为2k,这时SSD的读取没有做到4k对齐。读取效率降低到4k对齐的一半。不过由于读取速度足够快,而sata传输又比较慢,所以测试4k stripe和8k stripe时,测试结果一样。"
沒有這麼誇張...
Seq. Test影響性不大

"您的测试中,stripe size提高使读取速度提高,我感觉很大一部分来自于读取命令效率的提高。"...
我覺得不要想太多..
這是ioMeter設定上的問題...

我想應該拿傳統HDD測試會比較單純...
這邊主要想了解的是Driver-based RAID對於Host-CPU所帶來的影響性...
SSD那邊是不用管了...

回复 支持 反对

使用道具 举报

9#
发表于 2010-12-20 19:49 | 只看该作者
回复 per1-q1222 的帖子


64k stripe cpu效率最高
dpc啥意思?

回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2010-12-20 20:04 | 只看该作者
本帖最后由 per1-q1222 于 2010-12-20 20:05 编辑
sailofcloud 发表于 2010-12-20 19:49
回复 per1-q1222 的帖子


這個測試不要理了..
還有些問題要釐清
DPC是和中斷有關的東西...

http://www.ithov.com/Article/Windows7/Win7Skills/93264_6.shtml
晚點會上一些詳細的..
包括跟Hardware RAID比較...

回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2010-12-20 20:06 | 只看该作者
本帖最后由 per1-q1222 于 2010-12-20 20:07 编辑

我在進IMR模式的LSISAS2008(ROMB)進行檢測的時候發現很鳥的問題..
MSI-X根本沒效果...
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2010-12-20 23:07 | 只看该作者
本帖最后由 per1-q1222 于 2010-12-20 23:08 编辑

編表編好了..
LSISAS2108, LSISAS2008, ICH10R...
可以比較其差異...
由於表有點大..
數據上要製圖需要花很多時間..
所以暫不做這方面..
CPU Effectiveness是有其計算式...
CPU Effectiveness=IOPS/CPU使用量...
這不一定是唯一的衡量標準...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-1-25 07:37

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表