which earn me advertising fees or commissions.
As an Amazon Associate I earn from qualifying purchases.
Speed vs Transfer Size, Single and Striped (2013 Mac Pro)
Related: 2013 Mac Pro, Mac Pro, memory, Other World Computing, PCIe SSD, Photoshop, RAID, SSD, storage, Thunderbolt
Tested on 2013 Mac Pro 3.3 GHz 8 core with 64GB memory The two Accelsior Pro Q units were in OWC Helios enclosures, each on its own separate Thunderbolt 2 bus (2013 Mac Pro has 6 Thunderbolt 2 ports on 3 busses). This dual setup allows the striped RAID to run at full Thunderbolt 2 bandwidth.
Sustained transfer speed is a strong indicator for judging performance for real-world tasks that need high bandwidth.
While peak speeds are obtained with large transfers, in the Real World many programs tend to use transfer sizes that are too small. Thus actual throughput for reads and writes is hugely dependent on program behavior, namely the disk I/O transfer size in activities requiring significant disk I/O. While macOS buffers I/O very well in certain situations, the benefits evaporate when disk I/O is being done because available memory is insufficient—there is no extra memory to use for significant buffering.
For RAID striping (or RAID-5/RAID-4), the stripe size sets a limit on performance as well: files smaller than the stripe size gain zero benefit from the RAID. Transfers smaller than N times the stripe size gain only partial benefit. And not until the transfer size is sufficiently large is full RAID performance obtained.
Results: sequential transfer speed vs transfer size
This graph shows sustained transfer speed versus transfer size. Performance is very high by 512 KiB transfers, but far from peak—that requires larger transfers.
A single Accelsior Pro Q achieves 95% of peak performance by 4 MiB transfer size. With 1MB transfers, performance is only 75% of peak speed. This is typical and not unique to the Accelsior Pro Q.
A striped pair of Accelsior Pro Q runs almost twice as fast as a single unit with large transfers, but observe that even 4MB transfers are hitting only 83% of peak speed. Still, that is very strong. The key thing to notice is that 1MB transfers are running at only about 53% of peak speed. So if a program uses transfer sizes of 1MB, it is not going to fully benefit from the performance. Again, this behavior is typical and not unique to the Accelsior Pro Q, zzzSoftware is the problem; see the Photoshop discussion further below.
Units: MiB = 1024 * 1024, MB = 1000 * 1000
Is Photoshop performing as well as it could?
Wen swapping to/from the scratch disk is needed, it is because there is not enough memory to hold the working files in memory. Thus one would hope that Photoshop would use transfer sizes sufficient to max-out performance.
It appears that Photoshop CC 2017 scratch disk performance is throttled by tying the transfer size (for swapping image data to disk) to the cache tile size.
As the transfer size graph shows, one has to ask if there is performance bug in Photoshop and while Photoshop test with the RAID-0 stripe is substantially better, whether it could be a lot faster.