If you upgrade from the "classic" SATA SSD to the new Optane M.2 PCIE drive, as your main operating system boot drive, will you see a noticeable increase in performance?
I will finally be upgrading my motherboards and the CPU, which means I'll be able to comfortably fit in M.2 drives.
What is the use case for them?
I have been doing I/O heavy calculations in the past, so I've been thinking to buy the M.2 drive mainly for those, having the M.2 separate to my SATA SSD boot drive. But my father told me that is silly, that the fastest drive should always be used for the boot and operating system.
What would you recommend?
Comments
If at first you dont succeed, call it version 1.0
The transfer speed is moot beyond a certain point. You will always have some boot time delay as the mobo does it's standard startup procedure. The time in the boot cycle when it reads from disk is not long enough to be noticeable with an SSD regardless of interface used. I know I can't notice the difference despite my current drive being 10x faster.
The benefit of higher transfer speeds is hard to take advantage of since the system will automatically keep things in memory. You will only see it when opening applications, and loading data from the drive. The OS will try to limit transfers as the main crutch for applications has been the slow read/write speed of mechanical drives.
The main reason I got an M.2 drive is that the price difference was equally negligible to the benefits and I wanted to see what all that speed could do.
But is there something that prevents you from having both OS and the calculations on Optane drive?
Real world: you will see a tremendous difference going to ~any~ type of modern SSD over traditional HDD. Past that, you won't see much of a difference between the different types of SSDs, as something else becomes the bottleneck at that point.
M.2 can actually take a bit longer to boot - mostly because most BIOSes don't initialize PCI until after SATA. But that isn't a huge number... maybe 6 seconds instead of 4, versus the 45+ seconds on traditional HDD
I found this to be an interesting read.
https://hardforum.com/threads/nvme-m-2-ram-drive-raid-sata-iii-ssd-game-load-time-comparisons.1911914/
There are a few exceptions to this, but you start to get into corner and niche cases and manually configuring partitions and such. In your case, with IO intensive calculations, maybe it wouldn't matter so much for those calculations. But it would matter for anything else you do on your computer.
For consumer use, you generally want the OS and your programs on an SSD, but if you have more than one SSD, it doesn't really matter if it's on your fastest SSD. The most important considerations are what is easiest for you to set up (probably leaving data where it already is in many cases) and reliability so that you don't lose important data if something fails.
However, you say that you "have been doing I/O heavy calculations in the past", which makes it sound like you're doing something that isn't just ordinary consumer use. In that case, what makes sense for you depends tremendously on the fine details of what the I/O heavy calculations you have in mind are.
Ordinary DDR4 DRAM will beat Optane by an order of magnitude or more (and often, a lot more) in pretty much any performance benchmark you can devise. The point of Optane or an SSD is only for the non-volatile nature and for larger capacity per dollar than DRAM.
The main advantages of Optane over NAND-based SSDs are lower latency and the ability to sustain high IOPS at lower queue depths. If you want to read a bunch of random things off of a drive but have the whole list right at the start (or can compute it purely in memory), then you can get whatever queue depth you need and latency doesn't matter, so Optane will sometimes lose outright to an ordinary NAND-based M.2 SSD.
On the other hand, if your algorithm is highly serial so that you always have to get the result of one SSD read in order to find out what the next thing you need to read is, then suddenly you have a queue depth of 1, latency is an enormous factor, and it wouldn't be surprising if Optane is 2-3 times as fast as a good NAND-based M.2 SSD, and an order of magnitude faster than SATA.
Same thing if you plan to buy a new larger anyways, otherwise keep the old SSD.
I work in research at a university, specifically in text analysis. I'm still fairly new to everything, so I'm learning about optimisation all the time.
Some tasks revolve around processing large batches of text. This is basically a serial read, where it does a table lookup for each word and stores the values. You have about 500 files of 1-2 GB each. This task presumably needs latency?
The second type of task is large matrix calculations. You have a 50.000 x 50.000 matrix and care about distances - so you are subtracting the rows from each other. This fits into memory, so CPU speed matters the most in this case?
And finally, the last tasks involves doing indexed lookups in a large MySQL database. My ultimate goal is to have these lookups in real time as you type text. Something similar to Google Search doing autocomplete for you. In this case, is drive latency also king?
Am I correct in what each task primarily needs?
For the second, if you load it into memory once and do further work from there, the speed of loading it into memory is sequential reads, but probably irrelevant, as it takes little time to load and then you're waiting on computations. If you're trying to subtract and score all pairs of rows, that's actually the sort of thing I'd use a GPU for if the performance is enough of a problem to be worth throwing thousands of dollars at. There's a learning curve to GPU programming, though, so unless you really, really need tons of performance, probably just getting the fastest CPU that you can will be the way to go.
I doubt that latency for NAND flash will be a problem on the third. NAND can have latency of under 100 us (microseconds), which to a human, will feel instantaneous. Database lookups may well benefit from the performance of an SSD, but if it's only one person accessing the database at a time, even an M.2 SSD is unlikely to offer any benefits over a SATA SSD.
One basic rule of optimization is, try the easiest hardware configuration (likely whatever you happen to already have) and see if it's fast enough. If it is, you're done, and there's no need to do anything fancy. Many, many things will run plenty fast enough on an ordinary x86 CPU with a simple SATA SSD and some DDR4 DRAM like you might have in an ordinary consumer desktop. Only if you know that you've got a performance need where that isn't good enough is it worth hunting for fancier hardware.
The prices I'm looking at on New Egg right now is that for an ordinary SATA SSD, ~500 GB starts at about $140. For an NVMe drive that gets about 2 GB/sec, ~500 GB starts at about $190. That's quite a difference in price. Optane, meanwhile, costs $600, which is just exorbitant.
With prices like that, you could make a case for the M.2 PCIE SSD on a large enough budget, but Optane is just silly. Until the price gap drops, SATA SSDs (or an M.2 form factor SSD that basically uses SATA) are what makes sense for most people.
I think everyone tends to focus so much on the sequential read/write rates, which realistically are borderline meaningless in a consumer environment outside of a few specific situations (video editing and moving large uncompressed files, etc).
What's frankly more important is IOPS. That being said, the most current crop of SSD's (especially stuff like the 960 evo) are already so fast it's almost moot at this point outside of database applications.
Another small side benefit of M.2 over SATA is in most traditional style cases, you can remove your sata bays and free up a bit of airflow for cooling for the rest of your components. Plus they just look cool.
"The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently."
- Friedrich Nietzsche