View Single Post
  #9  
Old 09-18-2019, 12:58 PM
Darryl Ramm Darryl Ramm is offline
Member
 
Join Date: Nov 2010
Location: USA
Posts: 19,622
Default Re: OWC dock data transfer rate

OK lots here. Let me answer your questions directly and then I'll reply with more handwaving to your general problem. And with what might be Kontakt related issues many others here will be able to help better than I can.

Quote:
Originally Posted by juh View Post
/snip/

I have a few more questions :

The 4 USB ports share only one PCI bus. Does it mean those 4 USB ports are the same than a hub ? So all usb devices have to share only one USB bus (500MB/s) ?? If so, data transfer rate is probably overloaded and may cause some of my bugs ?
Yes. That is one insanity of the trashcan. The design focus seemed to be "small and quiet" and dual GPUs... the GPUs ate 32 PCIe lanes leaving almost no other spare, including the IO chipset provided PCIe ports. So you end up with a single (500MB/sec) PCIe 2 lane hanging off the IO chip driving a USB 3 host controller. It's not quite a normal hub, they should be a little bit more efficient that say using a USB hub connected to a single USB 3 port, but yes we are really talking about ~500MB/sec maximum bidirectional bandwith for all the USB connected to those USB 3 ports on the back of the Trashcan.

Wether data transfer is currently "overloaded" or not: A single 7200 rpm SATA III hard disk drive (not SSD) can deliver at most around 150 MB/sec sustained performance. (That can burst up close to the SATA III limit of 500MB/sec if reading out of the on-disk cache. I do not expect the on-disk cache to be relevant here). So if all you have is 3 x 7,200 RPM drives connected to your trashcan it is unlikely the USB implementation there is going to cause you a slowdown, or any other problem to happen... except just slow load times for cached plugins or problems streaming plugins if you are doing a lot of stuff... but you are running into the limitations there of the HDD not the USB implementation.

Now if you go USB... yep a single little drive like a ~$100+ Samsung T5 could (when used with a program well written to do efficient IO) consume all the USB bandwidth on a Trashcan. So if I was looking at putting multiple SATA based SSD drives on a Trashcan and wanted to maximize performance I'd like to avoid having them all on USB.

That does not mean you might not see significant decrease in load time by going to say a single good SATA based SSD on a USB port. Not all you plugin libraries on different drives may be in use in a session, they may not all load at the same time etc. You might move the most frequently used library to say a single T5 drive attached to the USB and see a significant reduction in load times/increase in streaming performance. You are moving from high latency HDD to low latency SSD--and with sample load times disk "seek" latency can be a significant factor, it's not just bandwidth--and USB SSD have *much* better seek times than your USB HDD.

I'd probably want to do an experiment. Like grab a low cost but "good" USB SSD and try with one of your frequently used libraries on that. Again my starting point there would be a T5. But seem my later reply for more general comments. Even if you dont' end up using it for this, a T5 may be worth experiment with and then keeping as a transfer drive.

Quote:
Actually I don't really need a portable drive device. Does a Thunderbolt2 PCIe Box is really better than a SSD connected with an adaptor USBC->thunderbolt2, like the Samsung T5 ? (https://www.apple.com/fr/shop/produc...-thunderbolt-2)
I'm not following this question entirely. You linked to a Thunderbolt 3 to Thunderbolt 2 adapter. That's not relevant here, as although that is a bidirectional adapter, and could for example be used on your computer to connect to say Thunderbolt 3 audio interface, but unfortunately it cannot be used to connect Thunderbolt 3 PCIe/SSDs (like say a lovely Samsung X5) to your computer.

As I mentioned before, vendors like Sonnet Tech used to make Thunderbolt 2 PCIe SSDs. AFAIK they have all been discontinued and everybody is focused on Thunderbolt 3 SSD (none of which I am aware are backwards compatible). But what you can do is roll your own Thunderbolt to PCIe based system.. which is why I mentioned the Akitio PCIe expansion chassis, you can put a modern 4 x PCIe 3 lane SSD like a Samsung 970 Evo (~$400 for 2TB) in that (~$200) expansion chassis plus ~$20 for a PCIe slot to M.2 adapter card. The M.2 drive will run at PCIe 2 speeds and give you up to ~the performance of the internal drive... (but look at all the bandwith caveats below)... You may also be able to find other Thunderbolt 2 to PCIe expansion chassis still available, or maybe even find a Thunderbolt 2 to M.2 PCIe enclosure (be careful many of those are actually only USB). I'm not necessarily suggesting you do that, just explaining that option if you want the fastest possible externally connected SSD.

---

Thunderbolt 2 in principle sure is faster than USB 3, and the Thunderbolt 2 implementation on the Mac Pro is "better" than the USB 3 implementation. But to a point, and then is stuff still to know if you are pushing IO extremes (see below).

So the naive answer is a Thunderbolt 2 bus/chain can give up to 20 Gb/s (~2.5 GB/s) of IO, much faster that the ~500 MB/sec of USB 3/3.1 Gen 1.

(I know you know this, but I'll put it her for completeness). The first issue is lots of harm was done with folks who put SATA III SSD inside Thunderbolt enclosure of some sort ... then the SATA interface is the performance bottleneck and the drive basically delivers SATA III (i.e. ~USB 3) speeds anyhow, maybe just slightly faster, but nobody would notice. But in your case the question is would using something like that be better as it lets you avoid the trashcan's USB 3 bus bottleneck).

There are Thunderbolt drives that internally use PCIe (and more recently PCIe with NVMe) based SSD drives. There the simple view the is just a typical Thunderbolt 2 implementation takes 4 x PCie 2 lanes on the motherboard, turns them into Thunderbolt, and then inside the drive enclosure they are tuned back into 4 x PCIe 2 lanes (and can talk to a PCIe base SSD the same as if the PCIe SSD was plugged into a 4 x PCIe 2 slot in the computer.

That simple view gets more complex as you add more peripherals to the Thunderbolt bus, they all end up sharing the original bandwidth of those 4 x PCIe 2 lanes. And in the Trashcan you don't really have 6 separate Thunderbolt 2 busses. You have three busses, each connected to two ports. Again, this was a PCIe lane constrained design, bit its fairly standard for Thunderbolt to do this (e.g. my laptop has 4 Thunderbolt 3 ports, on two separate busses).

See details here https://www.techjunkie.com/mac-pro-t...lt-performance.

So you may want to make sure you connect high bandwith peripherals to ports on different busses

Another issue is Thunderbolt bandwidth is shared between PCIe/data and Thunderbolt display devices. Display devices have to share the same Thunderbolt cable bandwidth as the PCIe lanes, the controller chips at both ends multiplex/demultiplex these separate signals. I'm not aware of really good test measurements of the bandwith sharing, but a simple guess is to just subtract the raw display bandwidth from the total of 20 Gbit/sec upstream bandwidth in Thunderbolt 2. I would say avoid putting a 4K display on a Thunderbolt 2 connection that was also connected to super fast PCIe-based SSD drive(s). But not a problem say if connecting just a 500 MB/sec SATA SSD in a Thunderbolt dock/enclosure.

You mention having three SVGA displays. Did you really mean SVGA or HDMI? What resolution, refresh rate and color depth are those displays? ... with that you can guesstimate the bandwidth hit they might make. Only worry about that if they are high-resolution and you end up looking at PCIe based SSD connected by Thunderbolt.

---

I'll post later a more general suggestions for troubleshooting.

Last edited by Darryl Ramm; 09-18-2019 at 03:11 PM.
Reply With Quote