3D XPoint Enteprise SSD Speeds Likely to Be Slower Than Expected - Page 2
New Programming Model
Alex McDonald of storage vendor NetApp, talking on behalf of the Storage Networking Industry Association (SNIA) Europe, agrees, and says what's needed is a new programming model for treating 3D XPoint as memory-like non-volatile memory. While this might not help to increase enterprise SSD speeds, it would allow 3D XPoint to be used more efficiently.
So what would the new programming model look like, and where would it need to be applied, if 3D XPoint is to be used as memory-like non-volatile memory?
McDonald suggest that what's necessary is to start rewriting apps to do things rather differently. "When you update a row in a database, you lock main memory, read data from disk, update it, write it back and release the lock. That's expensive, and you often you don't actually need the lock," say McDonald. "For example, if I update my bank account, no-one else will be doing it at the same time."
As an alternative, McDonald suggests using snapshots, but instead of putting those snapshots onto disk you put them in the CPU cache. "If the transaction succeeds, then that's fine. But if not you just roll back and try again, so you don't have any locks."
So effectively what you are doing is putting data into the processor cache and isolating it while it's being worked on. If the transaction fails, then you just flush the cache and reread the data from memory – which has not been written to or modified in any way.
Marginal Gains in Enterprise SSD Speeds
But as long as 3D XPoint is treated as disk-like non-volatile memory then the latency issues discussed above will limit enterprise SSD speeds. If the software latency can't be improved significantly, then to increase enterprise SSD speeds further it will be necessary to look at the other sources of latency such as the interface overheads. "Instead of using PCIe, we could put SSDs onto the processor bus (and therefore "closer" to the CPU.) This would make it fractionally faster, but all these gains add up," says McDonald.
This sounds like the principal of marginal gains espoused by Team GB's Olympic cycling mastermind Sir David Brailsford. "The whole principle came from the idea that if you broke down everything you could think of that goes into riding a bike, and then improved it by 1 percent, you will get a significant increase when you put them all together," is how Brailsford describes it.
And in fact, that's exactly what it is. Getting 3D XPoint enterprise SSD speeds to their maximum will be all about reducing software latency, interface latency and all the other sources of latency by fractions of milliseconds.
So how high are enterprise SSD speeds ever likely to get using 3D XPoint? "Will we get to 3D XPoint SSDs that are one thousand times faster than now? Probably not," says McDonald. "Will we get ones that are one hundred times faster? Probably."
Enterprise SSD Speeds 'Moot'
Eventually this will all become moot as enterprise switch from using 3D XPoint as disk-like non-volatile memory to memory-like non-volatile memory. But McDonald doesn't expect that to happen for at least ten years.
"Banks are still using software from the 1960s, and there is huge inertia," he explains. "It's only at the leading edge – in applications like artificial intelligence and genomics – that this will happen more quickly. The bog standard stuff won't change any time soon."
Until then 3D XPoint's impact is likely to be higher enterprise SSD speeds – but speeds that are only ten or a hundred times higher than what's currently available rather than a thousand times higher, as they initially seemed to promise.
Photo courtesy of Shutterstock.