【IT168 资讯】并行自从被引入PC行业之日起就已引起了人们的关注。其基本原理是把复杂的大任务转化成为更小的单个任务。某些情况下,任务同时执行可以获得非常好的性能,比如多处理器系统,超线程和Voodoo2 SLI。
并行带来多大好处视应用场合而定。例如:使用双处理器或者打开超线程,在普通桌面计算机应用中,仅能提升5%的性能,而在服务器系统,这个数字可能高达50%。图形渲染工作也可以并行执行,GPU的处理能力可以增强至原来的两倍,实际性能也接近于原来的两倍。那硬盘呢?
我们正在讨论的“RAID”是独立磁盘冗余阵列的英文缩写。RAID利用一种廉价的方式来提升系统性能。Intel在引入875P/865芯片组的时候,有了两种最简单的针对桌面电脑个人用户的RAID形式:RAID 0和RAID1。
理论上,RAID可以大幅度提升性能。但是实际情况呢?
RAID-0:理论上性能翻倍
RAID-0,也称条带。写往磁盘的数据被分成“条带”,大小一般为16~256KB,每个条带以阵列形式写到不同磁盘上。假设用两个磁盘组建RAID-0阵列,条带大小128KB,现在需要写入256KB的数据。0号磁盘将获得前128KB数据,而1号磁盘将获得剩下的128KB数据。

图1:RAID-0原理
因为同一段时间写入了双倍数据,RAID-0写入数据的速度是单磁盘的两倍。不过在把数据传输到磁盘之前,RAID控制器首先要将数据分成条带。
读取时,假设要读取256KB的数据,花费的时间也是原来时间的一半,理论上性能翻倍。
我们非常谨慎地使用了“理论上”这个词,因为如果不是在理想的情况下,RAID-0性能上的优势就不复存在。如果条带太大,RAID-0的优势也将丧失。如果条带太小,读取开支太大,性能上的提升幅度也会减小。
过去,使用桌面RAID控制器提供的最大条带大小时通常可获得非常好的性能。对于Intel的ICH5/6而言,128KB条带大小最为合适。
除了成本较高之外,RAID-0的另外一个缺点就是在于其可靠性。RAID-0阵列的大小是其所有成员的总和。因而两个100GB的磁盘组成RAID-0阵列将得到一个总共200GB容量的阵列。如果不幸阵列中的任何一个磁盘数据丢失,那么所有的数据都将丧失,而且无法恢复。
RAID-1
RAID-1,也称为镜像。RAID-1既未增强性能也未削弱性能。

图2::RAID-1原理
不像RAID-0,RAID-1中,数据在传输到磁盘之前未做处理。写到0号磁盘的数据的副本同时写到它的镜像磁盘之上。好处在于,如果一个磁盘出了问题,仍然拥有完整的数据备份。缺点是开销是原来的两倍,虽然可靠性增强,但是容量却没有增大。
测试
测试的基本思路是将瓶颈尽可能转移到硬盘上。
处理器:Intel Pentium 4 Extreme Edition 3.4GHz
主板:Intel D875PBZ
内存:1GB DDR400
显卡:ATI Radeon 9800 Pro (128MB)
声卡:创新Audigy
硬盘:Ultra ATA/100或者Serial ATA 150 cables
Intel芯片组INF 5.1.1002
ATI催化剂 4.5
Windows XP SP1 (未安装其它更新)
单纯硬盘性能测试
我们使用Intel的IPEAK工具软件来捕捉一个Business Winstone 2004回合或者一个MCC Winstone 2004回合中进行的所有输入输出(IO)操作的跟踪文件,然后利用IPEAK工具软件回放跟踪信息,获得平均服务时间,即磁盘完成一次IO操作的平均时间,单位是微秒。
为了使测试数据更容易理解,我们以每秒进行的IO操作的数目作为分数。因而,分数越高说明性能越好。
注意分数只是比较单纯硬盘性能获得的,不能反映实际使用中其它因素的影响。

图3:IPEAK测试结果
Business Winstone 2004:两个组建RAID-0的Raptors在性能上仅比单Raptor优20%。而现实世界中,缓存、预读取以及其它一些因素都会削弱硬盘对整个系统性能的影响。
Content Creation Winstone 2004:RAID-0显示了更大的潜力,Raptor RAID-0阵列超出单个硬盘38%。
后面将转到现实世界中的性能测试。
整体系统性能:Winstone

图4 Winstone测试结果
在Business Winstone 2004测试中仅仅有3.6%的性能提升。完全不值为此增加的成本,而且使用RAID-0还降低了可靠性。
Multimedia Content Creation Winstone 2004只有2.6%的性能提升。
整体系统测试:SYSMark
SYSMark 2004分成两部分:Internet Content Creation和Office Productivity。SYSMark的测试分数完全是响应时间。共有六个子类别。
SYSMark主要受CPU或者系统平台影响,但是磁盘速度不同,得分也有差异。同时,也有几个测试严重依赖磁盘性能。

图5 :SYSMark分项测试

图6 SYSMark整体性能测试
我们选择了两个游戏:Far Cry和Unreal Tournament 2004。两个游戏均完整安装到硬盘上,然后应用了免CD补丁。硬盘上除了游戏之外,没有其它内容。

图7:载入游戏测试
Far Cry中,RAID-0略慢于单个磁盘。毕竟这些分数是使用手工计算,因而在正常误差范围之内。
UT2004中,性能没有提升。
结束语
现在我们清楚地告诉你:桌面计算机上没必要使用RAID-0。现实世界中,RAID-0性能上的提升可以忽略,而可靠性则降低。
如果你在运行一个可以从条带阵列中获得很大好处的特定程序,那么那是例外。当然我们所说的话不适用于服务器级别的输入输出操作。对于大多数桌面计算机用户和游戏玩家而言,节省资金,远离RAID-0。
如果你坚持使用两个磁盘,那么组建RAID-1,可以获得实时备份。组建RAID-1的性能损失正如组建RAID-0的性能提升一样可以忽略不计。但是因此可靠性方面的提高则是值得的,除非特别不幸,两个磁盘同时坏掉。
当Intel引入ICH5和ICH6的时候,他们让RAID进入了主流配置,让很多用户咬紧牙关购买两个磁盘以“提升性能”。在我们称赞Intel将这个技术带入主流配置的同时,我们也提醒用户在购买两个昂贵的Raptor或者其它磁盘之前三思。你的系统速度可能与单磁盘速度一样。但是如果你有多余的钞票,组建可靠性更高的RAID-1才是值得的。