From: Takashi Menjo <takashi.me...@gmail.com> > > The other question is whether simply placing WAL on DAX (without any > > code changes) is safe. If it's not, then all the "speedups" are > > computed with respect to unsafe configuration and so are useless. And > > BTT should be used instead, which would of course produce very different > results. > > I think it's safe, thanks to the checksum in the header of WAL record (xl_crc > in > struct XLogRecord). In DAX mode, user data (WAL record > here) is written to the PMEM device by a smaller unit (probably a byte or a > cache line) than the traditional 512-byte disk sector. So a torn-write such > that > "some bytes in a sector persist, other bytes not" > can occur when crash. AFAICS, however, the checksum for WAL records can > also support such a torn-write case.
I'm afraid I may be misunderstanding, so let me ask a naive question. I understood "simply placing WAL on DAX (without any code changes)" means placing WAL files on DAX-aware filesystems such as ext4 and xfs, withoug modifying Postgres source code. That is, use the PMEM as a high performance storage device. Is this correct? Second, does it what you represented as "master" in your test results? I'd simply like to know what percentage of performance improvement we can expect by utilizing PMDK and modifying Postgres source code, and how much improvement we consider worthwhile. Regards Takayuki Tsunakawa