Coder Social home page Coder Social logo

pmem / pmem-rocksdb Goto Github PK

View Code? Open in Web Editor NEW
90.0 90.0 36.0 76.67 MB

A version of RocksDB that uses persistent memory

License: GNU General Public License v2.0

CMake 0.42% Makefile 0.77% Python 2.03% Shell 1.21% PHP 0.05% Perl 1.44% PowerShell 0.09% C++ 80.98% C 1.83% Java 11.07% Dockerfile 0.01% JavaScript 0.02% Assembly 0.08% Starlark 0.01%

pmem-rocksdb's People

Contributors

4txj7f avatar abhimadan avatar adamretter avatar agiardullo avatar ajkr avatar al13n321 avatar dalgaaf avatar dhruba avatar emayanke avatar fyrz avatar grooverdan avatar haoboxu avatar igorcanadi avatar islamabdelrahman avatar joelmarcey avatar jsteemann avatar lightmark avatar liukai avatar mdcallag avatar meyering avatar miasantreble avatar praveensinghrao avatar reidhoruff avatar riversand963 avatar rven1 avatar sagar0 avatar sherlocknomad avatar siying avatar yhchiang avatar yuslepukhin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pmem-rocksdb's Issues

mapped region in DCPMMMmapFile never unmap

Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev

In DCPMMMmapFile:
Memory regions mapped by MapNewRegion() are never unmapped.
UnmapCurrentRegion() is not implemented and not called when map new region or close the file.

IOStatus DCPMMMmapFile::UnmapCurrentRegion() {
return IOStatus::OK();
}

Actual behavior

When running pmem-rocksdb with large volumn of data, pmem_map_file() in MapNewRegion() failed because the mapped regions are too much.

base_ = (char*)pmem_map_file(filename_.c_str(), file_offset_+map_size_, PMEM_FILE_EXCL, 0666, &mmap_len, &is_pmem);
if(base_ == nullptr){
base_ = (char*)pmem_map_file(filename_.c_str(), file_offset_+map_size_, PMEM_FILE_CREATE, 0666, &mmap_len, &is_pmem);
if(base_ == nullptr){
return IOStatus::IOError("dcpmm map file error");
}
}

MAP_SYNC destroys performance

Hi!

I am running rocksdb on a ext4 dax system in kernel 5.1.
I am testing it with YCSB workloads, and I enable dcpmm wal.
I noticed that the MAP_SYNC flag destroys scalability due to ext4 journaling overheads, and the overall performance is worse than using default rocksdb.

Has anyone else experience this?
Is this expected?

Best Regards,
Chloe

Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev

Expected behavior

Actual behavior

Steps to reproduce the behavior

the detailed design of pmem-rocksdb

I want to know the detailed design of pmem-rocksdb, but I can't find it on the Internet, How it optimizes rocksdb with nvm
? Is there any relevant documentation? Thank you very much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.