Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

scarab0

macrumors member
Original poster
Dec 23, 2017
53
8
Does anyone know whether the iMac Pro's SSD reads data much faster? We are running simulations and loading files that are 2-4 GB huge. My iMac late 2017 with 512 GB SSD needs roughly 50 seconds to load such files. We are aiming for under 10 seconds.

Are there potentially ways to update the internal SSD of my iMac and are there faster SSD's out there overall? I guess we need something like 8000 mb/s.
 
Are you sure that the SSD is the problem?

If you have extra RAM in your imac, set up a ram disk--copy your input files to the ramdisk, and load from there. That should give you a ceiling of what you can expect with a fast SSD.

If it still takes 50 seconds, there's a problem with your code.
If it takes less than 10 seconds, an SSD raid, carefully selected, might prove beneficial.

If it takes more than 50 seconds--you probably didn't have RAM to spare.
 
There can be a speed difference between the SSDs in an iMac Pro and a 2017 iMac SSD. Write to Disk is affected by many factors including the CPU. One of my apps takes seemingly forever to load in an i5 while my iMP takes a few seconds. I've tested it on identical iMacs.

Frankly this issue is rare. There are other potential causes that are more likely. Use Console.app to see

a) if any code is trying to load but is failing. The Mac OS will often try 3x before moving on—this slows down loading but won't affect performance. I once had an issue with HP print drivers from 2005 trying to load into an unrelated app—removing them fixed the problem.

b) see if any spurious code is loading that shouldn't. This can slow everything down and cause crashing. Usually the culprit will be very old but often it's something you picked up in an old app.
 
Thanks for the replies. I forgot to mention that we are running WIN 10 through Bootcamp on the iMac.

I tried loading the same file today from iMacs internal SSD as well as from an old USB-drive. The USB-drive is roughly 240 mb/s fast.

To my surprise, the files (about 1.5 GB huge) loaded at the same speed that got me thinking. I guess the hard drive itself doesn't matter as much? I mean is it simple math, that the file is just 1.5 GB big and therefore 240mb/s means it will take about 7 seconds to transfer it from A to B and to also load it up?

So what I will do now is upgrade the iMac with additional RAM, it's late 2017 and I purchased it with 8 GB and right now it has 24, I will make it 64 and see if that changes anything.

Other than that, I made two videos of loading the same file from my iMac and then from the server. The server has 20 core cpu and 256 GB RAM. It also uses the 480 GB SSD (NVMe high-speed, Intel 900P) hard drive. As you can see the server takes way longer to actually start loading the sim and doesn't seem to even use the offered RAM compared to my iMac (we set the app to use 250 GB on the server and 22 GB on the iMac).

iMac:

https://monosnap.com/file/oWQ5FmCx9h1PIYvbQmYVlMQndWPoSI

Contabo Server:

https://monosnap.com/file/6s48Qh2r0y3bjMEytH022rOJEcaQnL
 
Does anyone know whether the iMac Pro's SSD reads data much faster? We are running simulations and loading files that are 2-4 GB huge. My iMac late 2017 with 512 GB SSD needs roughly 50 seconds to load such files. We are aiming for under 10 seconds...

On the Blackmagic speed test, my 10-core iMac Pro with 2TB SSD does about 2,900 MB/sec write, 2,400 MB/sec read. My 2017 iMac 27 with 2TB SSD does about 1800 MB/sec write, 2,200 MB/sec read.

That is sequential IO transfer speed. The rate of IOs per sec will vary based on several parameters. Mac Performance Guide did some testing of iMac Pro vs iMac SSD performance: https://macperformanceguide.com/iMacPro_2017-flashDriveSSD.html

If your app is taking 50 sec to load 2-4 GB of data, that is only 40-80 MB/sec. This implies it is not issuing IOs efficiently, and maybe no available SSD would help. However maybe you mean the individual files are that size and the app must load many of them.

The lack of IO efficiency might be from issuing small random IOs, or maybe there are processing delays or thread synchronization issues.

In general you obtain the highest IO transfer performance by using large sequential IOs and pre-fetching the data into a memory array. The sequential IOs have high transfer rate and reduce per-IO overhead. Keeping the fetched data in RAM avoids physical IO, no matter how fast the SSD is. A Mac can have 64GB or more RAM so an app can programmatically declare a large array and read in multi-GB files using (say) 1MB or larger sequential reads. It's also important to issue overlapped or async IOs from multiple threads to keep the IO system saturated.

If you have, say, 10 files of 2GB size each, those could all be read into RAM on a 64GB Mac and subsequent references would be to that memory-resident array. However if your algorithm randomly reads 100 files of 2GB each, this wouldn't be possible.

Likewise if the app is issuing small random IOs within a group of 2GB files, the overall transfer rate will be much lower.

A 2017 iMac or iMac Pro should be able to read a 2GB file within about 1 sec if doing large sequential reads.

You are running Windows not macOS so maybe there is some lack of optimization in how it uses Mac hardware. You could try running dual-platform benchmarks on Windows and Mac to see if there's any difference.

One big advantage of Windows is PerfMon has excellent IO monitoring tools which are not available on macOS. E.g, you can monitor disk queue depth and various other parameters. This can show whether the IO system is saturated due to many small IOs or maybe it's not being utilized due to waiting on CPU or thread synchronization. You can also determine the average IO size which might indicate if any efficiency improvement is possible from an app standpoint.

For more info see: https://blogs.technet.microsoft.com...-performance-monitor-disk-counters-explained/
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.