把多个RAMDisk组成RAID 0比直接分配单个区快很多

这里报告 Primo Ramdisk 软件的Bug或建议,
非常感谢您的支持!
回复
1vmY1oItX4
1级用户
1级用户
帖子: 2
注册时间: 周四 2月 15, 2018 11:08 am

把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 1vmY1oItX4 »

前几天从2通道的两根内存,多加两根内存成了4通道(得CPU支持),测其传输速率却未见有所改善……

于是突发奇想地,创建了多个SCSI硬盘的RAMDisk分区,然后用Windows内置的“磁盘管理”,删除已创建分区,
后把那些未分配的分区给右击“新建带区卷(RAID 0)”,

原本想说应该都同根生(北桥给的总带宽),无意义,

但再测速时的结果大为震惊!

直接用现行软件分配单个4.00G的RAMDisk:
图片

搞成8个512M的RAID 0后:
图片

改完后在软件GUI内的表示,但每次开机就会需要重新砍分区后再创建RAID 0
(直接分得Z:不管用Direct-IO或模拟SCSI,实测速率差距很小,
且在DMM模式下,为释放已占用内存,而直接重置模拟SCSI的盘会死机,
不方便調試……):
图片
图片

估计软件优化所致,没利用好多通道,把输入的数据给这样“分散地平行化”使RAMDisk读写速率能成倍
(可能因Windows系统驱动架构所制),内存带宽没做到尽可能地榨尽……
(这里有从低分区数开始实验过,一开始仅2个RAMDisk分区,每个2048M组了RAID 0,
实测立马从5120+了1000MB/s,4个加了4000MB/s左右,最后的8个的组态似乎顶到优化上限了……)


因此希望能在新版本中,添加一个选项:能不要给新建的RAMDisk分配驱动器号
(成未分配状态,以便每次开机能直接手动自建RAID 0,防止多次删分区后再创建下来,误删其它分区。)

干脆在软件内,直接能每次开机“自动创建指定数目的RAMDisks并自动成一个大带区卷(RAID 0)。
且能自订某容量,需以几个区达成[如4096MiB可自动创建成指定数的8个分区,每区512MiB]”,感谢。


把内存多通道想成由CPU的NB(北桥)给内存方面的一根“大水管”,其所能提供的小水管们“并联”的数目,
(多通道內存的概念其实与RAID 0或JBOD类似……)
每根小水管都拥有固定且独立的带宽配额,不会因其邻近地其它小水管负担过重,导致其中其它的某根掉速。

那软件看(使用)内存究竟是“接龙模式”的0~9-10~19-20~29
(是能利用到全部空间,但同时的原始内存速率仅用到了一根的17000MB/s+,
仿真成磁盘而有所损失下来成5GB/s,且占用方式为等一根内存被用满了,再接下一根……)……
还是RAID 0的同时0~9,10~19,20~29都写入(被占用)了各1/3的空间,
但传输速率却能成倍地有所改善成12GB/s?

[位宽所能叠加的上限,如4通道相当于现行DDR为每根64-bit,64-bit*4=256-bit,
DDR4-2133@15-15-15-36的标准速率为17000MB/s,4通道理论17000MB/s*4=68.000GB/s
(AIDA64的内存与缓存测试(A)表示本地内存组态OK,确实有完整地68GB/s可以性能损失,
不考由高通道数的启用,而造成的延迟增长致RAID 0后4K性能反而掉了些,
因内存本来就很快&低延迟&高IO/s,个人感觉影响不大。),
超过了位宽和速率就不会再叠加了,取而代之的仅剩空间叠加(主板支持的内存插槽越多,空间越多)。

例外:
有些HCC(高核心数的)单颗CPU会有两个IMC(内存控制器),
因此最大支持虽标称为4通道,但能与多一倍的4根内存形成两IMC环加总
(如单U在X99上能8根,C612则更可观,直接到单U最大支持的64*12),
叠加成混成8通道(总位宽还是64-bit*4不变),除容量能叠加外,带宽也跟著能了!]
上次由 1vmY1oItX4 在 周六 2月 24, 2018 4:27 pm,总共编辑 8 次。
jr21066
9级用户
9级用户
帖子: 196
注册时间: 周二 3月 16, 2010 10:39 am

Re: 把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 jr21066 »

有可能是系统驱动不同吧.
不同的磁盘使用了不同的驱动访问.
y7y007
3级用户
3级用户
帖子: 10
注册时间: 周一 7月 24, 2017 12:43 pm

Re: 把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 y7y007 »

连续读写是高了,但4k下降了,日常用的最多的还是4k啊
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 Support »

测试的操作系统是?
SCSI 内存盘在win8或之后的系统上对多IO Depth的情况没有进行优化,我们已经对其做了优化,同时也在对其它情况,包括对DirectIO盘,做最优研究。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
1vmY1oItX4
1级用户
1级用户
帖子: 2
注册时间: 周四 2月 15, 2018 11:08 am

Re: 把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 1vmY1oItX4 »

support 写了:测试的操作系统是?
SCSI 内存盘在win8或之后的系统上对多IO Depth的情况没有进行优化,我们已经对其做了优化,同时也在对其它情况,包括对DirectIO盘,做最优研究。
操作系统:Windows Server 2008 R2 SP1 Datacenter
NT内核版本:6.1.7601(与现行最新Windows 7 SP1一致)
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 把多个RAMDisk组成RAID 0比直接分配单个区快很多

帖子 Support »

软件对Win7内核的多IO情况应该有优化的,我们会再检查一下您反馈的这个现象。谢谢!
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
回复