News for hackers. Stuff that matters.
Re:LMDB: Intel Optane SSD Microbenchmark by hyc_symas on Wednesday November 07, 2018 @11:45PM (#18404380)
I'd really love to know too, but so far we haven't found any explanations. The loader is actually using all asynchronous writes, so there are no fsync() calls during the loading phase at all. The CPU usage is about the same as for the load on flash, so the delay can only be attributable to the actual I/O operations. Perhaps this data set just magically happens to cause a write access pattern that's pathologically bad for Optane SSDs. We re-tested multiple times though and always had the same result - runs fine on flash, slows down on optane.

Even LMDB on the raw block device, which immediately did a physical write upon every logical write, wasn't that slow. It's just bizarre.

Re:LMDB: Intel Optane SSD Microbenchmark by hashmash on Wednesday November 21, 2018 @11:40PM (#18507900)
The LMDB test is a bit contrived. By choosing a key of 16 bytes and a value of 4000 bytes, it's nearly optimal. The underlying block device wants 4KiB aligned writes for best performance, and that's pretty much what this test is doing. RocksDB is best at performing writes into very small records, where it can coalesce them and reduce write amplification. LMDB can't do this. As the size of the records increases, the RocksDB performance advantage disappears, and then it eventually loses out. In my own tests, I've found that the crossover point is about 250 bytes. A better test comparing LMDB to RocksDB would show what this crossover is, in a more controlled fashion than what I have done.
Re:LMDB: Intel Optane SSD Microbenchmark by antirez on Thursday November 08, 2018 @02:51AM (#18404922)
That's definitely a problem because the same yet to understand pattern may happen later with lmdb if there are the conditions (given that they are not understood) and create a random performance issue.
Re:LMDB: Intel Optane SSD Microbenchmark by mehrdadn on Thursday November 08, 2018 @01:49AM (#18404729)
I have zero ideas how any of these work underneath, but out of a wild guess, is there any chance that alignment (or similar) is the issue? e.g. maybe RocksDB tries to align its writes to some boundary in a way that's awful for Optane's technology?
Re:LMDB: Intel Optane SSD Microbenchmark by wtallis on Thursday November 08, 2018 @05:46AM (#18405472)
Alignment sounds like a plausible factor, but in my testing I've found that the penalty for unaligned writes on the Optane P4800X is less than a factor of two.
Re:LMDB: Intel Optane SSD Microbenchmark by hyc_symas on Thursday November 08, 2018 @02:13PM (#18409004)
Hadn't really thought of that. I suppose we could have retried by making a single partition taking up the entire space, and letting fdisk take care of aligning the start of the partition. But I assumed that alignment wouldn't be an issue when using the unpartitioned block device.