> On Thu, Nov 29, 2018 at 6:48 PM Dmitry Dolgov <9erthali...@gmail.com> wrote: > > > On Tue, Oct 2, 2018 at 4:53 AM Michael Paquier <mich...@paquier.xyz> wrote: > > > > On Mon, Aug 06, 2018 at 06:00:54PM +0900, Yoshimi Ichiyanagi wrote: > > > The libpmem's pmem_map_file() supported 2M/1G(the size of huge page) > > > alignment, since it could reduce the number of page faults. > > > In addition, libpmem's pmem_memcpy_nodrain() is the function > > > to copy data using single instruction, multiple data(SIMD) instructions > > > and NT store instructions(MOVNT). > > > As a result, using these APIs is faster than using old mmap()/memcpy(). > > > > > > Please see the PGCon2018 presentation[1] for the details. > > > > > > [1] > > > https://www.pgcon.org/2018/schedule/attachments/507_PGCon2018_Introducing_PMDK_into_PostgreSQL.pdf > > > > So you say that this represents a 3% gain based on the presentation? > > That may be interesting to dig into it. Could you provide fresher > > performance numbers? I am moving this patch to the next CF 2018-10 for > > now, waiting for input from the author. > > Unfortunately, the patch has some conflicts now, so probably not only fresher > performance numbers are necessary, but also a rebased version.
I believe the idea behind this patch is quite important (thanks to CMU DG for inspiring lectures), so I decided to put some efforts and rebase it to prevent from rotting. At the same time I have a vague impression that the patch itself suggests quite narrow way of using of PMDK. > On 01/03/18 12:40, Heikki Linnakangas wrote: > > On 16/01/18 15:00, Yoshimi Ichiyanagi wrote: > >> These patches enable to use Persistent Memory Development Kit(PMDK)[1] > >> for reading/writing WAL logs on persistent memory(PMEM). > >> PMEM is next generation storage and it has a number of nice features: > >> fast, byte-addressable and non-volatile. > > > > Interesting. How does this compare with using good old mmap()? E.g. byte-addressability is not used here at all, and it's probably one of the most cool properties, when we write not a block/page, but a small amount of data and flush it using PMDK.
0001-Add-configure-option-for-PMDK-v2.patch
Description: Binary data
0003-Walreceiver-WAL-IO-using-PMDK-v2.patch
Description: Binary data
0002-Read-write-WAL-files-using-PMDK-v2.patch
Description: Binary data