Saturday, January 14, 2017

linux - RAID setup for high speed reading




We are looking to build a realtime playback machine using Linux and a RAID (5 or 10) setup. The current setup looks like:




  • 12GB memory

  • 5 x 7200rpm drive (software raid)

  • centOS 6 (Kernel Linux 2.6.32-71.29.1.el6.x86_64)

  • NVidia Quadro 5000 (driver 280.13)

  • Intel(R) Xeon(R) CPU X5650 @ 2.67GHz




I did run Bonnie++ and iozone to do some benchmark with different raid setup (5 and 10), with
different fs type (ext4 and xfs), and different stripe size. Unfortunately it seems that I can't
get the speed I want out of it (always <200MB/s).



The other test I made was directly in the playback software (RV - http://www.tweaksoftware.com/products/rv), but could not get it to play faster than 20 frame per second (looking for 24 fps) with more than 3 sequences.



These playback details are a little futile, I just want to know what would be the best setup to get something like ~700MB/s read performance? Is it possible?



I've been reading quite a bit, seems like a hardware controller could be better. Also I guess 7200rpm is not enough. 10 or 15k might be better? What about SSD?




I've another constraint with this project, this machine will store all the sequences for all the projects, so density matter (I bet it will cost way more to get the same storage amount with SSD drives vs. std 10k rpm drive).



Any suggestions or tips will be appreciated to get the best read speed/storage amount.



Thanks!



Edit: Just stumble upon this http://www.fusionio.com/products/iodrive/. Anyone has experience with this card?


Answer



If you need to handle video streams then you got to get something way better than what you spec'd. Even if you get enough SATA drives to get the desired bandwidth of 700MB/s (which should be easily doable on todays consumer class hardware) you'll maybe have sever latency problems.




What good is your storage solution if you can crank out even 1GB/s but each IO takes 500ms or so to complete? You're talking video so you want something that can deliver enough IO so that your maximum latency of 40ms (25fps) for retrieving your frames is taken care of.



You might also want to have a look at specialized file systems for video streaming applications. Hitachi Data Systems (HDS) sells one for example also XFS does have an real-time extension that was developed for media applications.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...