Expert advice on SSD performance bottleneck needed!

karlkusher

Reputable
May 17, 2014
2
0
4,510
Masters of storage, please step forward...
I guess I need some technically advanced advice on SSD, SATA, in/out limits etc.

I'm programming a video installation where I continously read and write quite a lot of data:
To the first SSD, drive A, I write 50 frames per second (= 50 files per second) plus simultaneously read some other 50 fps (from the same drive!).
From a second SSD, drive B, I read an additional 50 frames per second.

The question is: Where is the bottle neck? I succeed running my program at 25 fps but not faster (and i would need to get it to 50 fps).

The total amount of data is actually not that excessive: Each frame is 1,8 MB so each stream is about 90 MB/s which comes down to a total of 180 MB/s read plus another 90 MB/s write = 270 MB/s total data transfer in 150 read/write operations per second.

What confuses me most is the following:
- I get the same performance when I run the patch from two separate SSDs as when I run all three streams from a single one without using the second SSD at all.
- The speed does not increase substantially if I make one or two of these streams smaller (and reduce the file size to 260 KB/file which equals only 13 MB/s per stream).
- It does increase however (to 40-60 fps) if I switch all three streams to 260 KB/file.

This makes me wonder what is going on... is it the drives? Is it SATA? Or some other stuff I maybe even never heard of? And what can I do about it?

I use a Macbook Pro (Retina, early 2013, i7 2,6 GHz, 16 GB RAM, OS 10.9.2), drive A is a Samsung 840 pro 256 GB SSD connected via thunderbolt, drive B is the internal 512 GB Macbook SSD (built-in from Apple).
My program is built in MAX/MSP and I use a an arbitrary, uncompressed binary data format (.jxf). I can rule out CPU-/GPU-load issues.

Thanks for any help, it is appreciated a lot!
Karl
 
You lost me with your explanation. You are writing 50 x1.8MB files per second? What "patch"? Three streams?

Sorry, I haven't got a clue what you're talking about.

If you aren't maxing out your CPU (or a single core if single-threaded application) then the drives must be saturated.
 

karlkusher

Reputable
May 17, 2014
2
0
4,510


yes, i do know it's sort of complicated. if it would not be, i would not need to ask...
apart: patch=program. technically speaking these are actually not real streams but single read/write operations. every 1/50 of a second 2x file read + 1 file write.
best
k