开发者

How to write to multiple tape drives at the same time?

I'm trying to write a single stream to multiple tapes at the same time but I'm hitting 开发者_StackOverflow社区a massive performance issue.

OS : Windows 2008 R2 TapeDrive : 2 * ULT3580-HH4 HBA : Dell SAS 6gbps controller

Currently the write loop looks like :

ReadFile(fromsource,buffer)
foreach(ltodrive)
  WriteFile(todriveX,buffer)
foreach(ltodrive) // only if using overlapped IO
  EndWriteFile(ltodriveX)

The drive blocksize is 256Kib and the buffer size is 2Mib.

So if I only use 1 drive, I manage to get a steady 110Mib/sec which is very close to the drive max speed (120Mib/sec) but if I add another drive to the loop, the speed goes down to 25Mib/sec.

As you can see in the meta code, I already tried making the write call async allowing all the drives to start writing without having to wait for the previous one to finish but that didn't solved the problem.

Is there something I'm missing or is it an hardware issue ?

Best,

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜