PMDK vs mmap/memcpy

PMDK進行創建文件時調用函數pmem_map_file,而這個函數底層調用mmap,那麼這個PMDK和操作系統函數調用有何不同呢?

內容

Libpmem的pmem_map_file()支持2M/1G(大頁大小)對齊方式,這樣能夠減少頁故障頻率。另外,pmem_memcpy_nodrain()通過單指令、多數據指令(SIMD)、NT存儲指令(MOVNT)拷貝數據。這樣的話,通過libpmem的API函數比mmap()、memcpy()快。

    Linux4.5及更高版本支持MAP_SYNC和MAP_SHARED_VALIDATE的標籤使用mmap,來檢測映射文件是否在PM上。

原文

https://www.postgresql.org/message-id/E9AD42D63FB4ADFAD59E3A1%40lab.ntt.co.jp

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章