News for hackers. Stuff that matters.
Re:Server Hardware Super-Cycle 2022 by johnklos on Tuesday January 18, 2022 @09:17AM (#29979435)
With the current prices and the lack of availability, the best 2022 server hardware for me will be 2018 server hardware.

The one thing that's relatively new-ish that I'd like to play with is persistent memory. But I'm curious about it for embedded applications where power is not assured. For servers? I don't understand the use case, because datacenters are where we have the most consistent power. Perhaps it'd be more interesting if I ran workloads on large datasets...

Re:Server Hardware Super-Cycle 2022 by benlivengood on Tuesday January 18, 2022 @09:43AM (#29979848)
Transactional workloads (databases, pubsubs, workflow coordinators) benefit the most from persistent memory because write latency to storage dominates performance (a transaction must be committed to permanent storage before the client can be informed of success, and if there is contention between transactions they must wait and proceed serially). Persistent memory is about 100 times faster (300ns vs. 30us latency) than NAND and is writeable in-place at byte granularity vs. multi-KB erasable blocks.
Re:Server Hardware Super-Cycle 2022 by thesz on Tuesday January 18, 2022 @12:29PM (#29982525)
300ns is a latency of PCIe, not DRAM.

DDR4 CAS latency is 15 clocks, which is about 9ns for highest clock frequency. Add to that cache latencies and memory controller latencies and you easily can get about 25-50 ns of latency and more. And to overcome that you have to use stream-friendly algorithms just as with SSD and spinning disks.

The technology of persistent memory is no different than NAND or whateger SSD tech de jour is used. This means that wear will be same as with other SSD drives and may be even worse due to different abmient temperature conditions.

Persistent memory is also more expensive.

The conflicting transactions must be ordered as if they were processed serially, the actual processing order can be different and their committment to disk also can be different than "commit transaction1 and then commit transaction 2". Having these two transactions commit at once or none at all is also permitted by serializable isolation order. Which is heavily used in any semidecent transactional storage engine.

If you go all-in to persistent memory, you lose cheaper multi-tier storage opportunity. You can use heavily read-optimized storage structures on the spinning disks, for example, by rearranging writes to these disks using SSDs and just plain old RAM. If I remember correctly, currently spinning disks are 5 times cheaper than SSD and you can either increase bandwidth or storage volume by using them.

Re:Server Hardware Super-Cycle 2022 by menaerus on Wednesday January 19, 2022 @09:47AM (#29994224)
> DDR4 CAS latency is 15 clocks, which is about 9ns for highest clock frequency. Add to that cache latencies and memory controller latencies and you easily can get about 25-50 ns of latency and more.

On my 3rd gen Xeon E5 NUMA machine (two nodes) accessing adjacent memory bank is roughly around 90ns under no load. Accessing non-adjacent memory was around 120ns.

> 300ns is a latency of PCIe, not DRAM.

I'd figure that this number improved across different PCIe generations or? Have you got any tool to recommend that can measure this kind of thing? I found https://github.com/andre-richter/pcie-lat but haven't tried it yet.

Re:Server Hardware Super-Cycle 2022 by jeffbee on Tuesday January 18, 2022 @09:50AM (#29979956)
> transaction must be committed to permanent storage before the client can be informed of success

Transactions must be durable, but that doesn't mean they can't be committed to RAM initially. There are large-scale database systems you have probably heard of that commit to RAM and get their durability from committing to multiple replicas in distinct failure domains.

Re:Server Hardware Super-Cycle 2022 by SteveNuts on Tuesday January 18, 2022 @09:43AM (#29979850)
Oracle Database supports halting the database state to persistent memory during OS reboot, basically you can pick up right where you left off when the machine comes back up.
Re:Server Hardware Super-Cycle 2022 by pbalcer on Tuesday January 18, 2022 @10:36AM (#29980694)
For anyone interested in how databases can benefit from PMem, I suggest watching this fantastic presentation from Oracle's Jia Shi "Under the Hood of an Exadata Transaction – How Did We Harness the Power of Persistent Memory".

https://www.youtube.com/watch?v=ertF5ZwCHP0

Re:Server Hardware Super-Cycle 2022 by dragontamer on Tuesday January 18, 2022 @09:27AM (#29979587)
I don't think Intel really knew what they were going for with Optane / persistent memory. They had an invention, it had a bunch of interesting stats, and they were hoping someone out there would figure out a use.

Databases seem like the obvious answer. Persistent memory / Optane is much faster than NAND Flash... but less dense than NAND Flash. Its also slower than DRAM, but more dense, so it sits in between.

Whether or not that's useful remains to be seen.

Re:Server Hardware Super-Cycle 2022 by haimez on Tuesday January 18, 2022 @09:58AM (#29980104)
You might use such a thing in database systems for, eg: 1. The write ahead log, for faster I/O than a direct flush to SSD 2. Staging disk cache entries to persistent memory before a planned host/process restart for faster subsequent DRAM cache warming

The problem with 1 is that you still need to periodically flush to disk (at least once persistent storage is full) which means it’s only an improvement in burst activity and not peak throughput.

The problem with both is complexity of implementation to deliver functionality that can only be used on a (currently) relatively uncommon subset of servers. Probably not something that Postgres would rush to implement, but potentially something that MSSQL or Oracle might consider as a premium feature.

Disclaimer: I haven’t looked into the details of optane and how you interface with that storage in software.

Re:Server Hardware Super-Cycle 2022 by EvanAnderson on Tuesday January 18, 2022 @09:51AM (#29979968)
I have some affection for the single-level store architecture of thr AS/400 (at least, on paper-- I've never coded for the platform). I wonder if persistent memory could be an enabler for single-level store architecture operating systems and applications on the PC platform.
Re:Server Hardware Super-Cycle 2022 by spijdar on Tuesday January 18, 2022 @01:53PM (#29983907)
I don't think hardware is the limiting factor -- OS/400 runs on a pretty standard RISC platform, same POWER chips that run AIX and Linux. Has some special tagged memory extensions, but nothing too radical, and not a hard requirement for a system like it.

The hard part is developing software to use it. I don't think you can really port existing OSes and software to use a single-level store environment. It's a different language than the one we speak. Seems this has been a general problem for persistent memory, to really use it 100% you need new software designed for it.

Re:Server Hardware Super-Cycle 2022 by sidibe on Tuesday January 18, 2022 @09:26AM (#29979580)
Persistent memory has some other advantages that make it good for datacenters. Mainly it is faster than SSD and cheaper than DRAM.