libpmemobj-cpp VS Hotpot

Compare libpmemobj-cpp vs Hotpot and see what are their differences.

libpmemobj-cpp

C++ bindings & containers for libpmemobj (by pmem)

Hotpot

Distributed Shared Persistent Memory. SoCC 2017 (by WukLab)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
libpmemobj-cpp Hotpot
4 1
107 60
- -
4.9 0.0
about 1 year ago almost 4 years ago
C++ C
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

libpmemobj-cpp

Posts with mentions or reviews of libpmemobj-cpp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-07-17.
  • UltraRAM: 'Universal Memory' That Brings RAM-Like Speed to Non-Volatile Storage
    1 project | news.ycombinator.com | 12 Jan 2022
    Another comment already mentions this, but I guess a functional data structure would be easiest to maintain, even though there's stuff like this for PMEM such that any data structure would work essentially: https://pmem.io/

    This[1] Open Source data store I'm maintaining is storing a huge tree of tries eventually on durable storage, but it's essentially a huge persistent index stored in an append-only file. The last layer of "indirect index pages" stores list of pointers to page fragments, which store the actual records (the list however is bound to a predefinded size). A single read-write trx per resource syncs the new page fragments, which mainly only include the updated or new records plus the paths to the root page to a durable device during a postorder traversal of the in-memory log. The last thing is an atomic update, which sets a new offset to point to the new UberPage, the root of the storage. All pages are only word aligned except for RevisionRootPages, which are aligned to a multiple of 256 bytes. All pages are compressed and might in the future optionally be encrypted.

    I guess these byte addressable persistent memory devices are an ideal fit for small sized parallel random reads of potentially tiny page fragments to reconstruct a full page in-memory.

    However, I hope they'll eventually achieve a better price in comparison to DRAM and SSDs than Intel Optane DC PMEM current price range.

    [1] https://github.com/sirixdb/sirix

  • ELI5: what is pmem?
    1 project | /r/explainlikeimfive | 14 Nov 2021
    Yes it is persistent memory programming. https://pmem.io/
  • Languages experimented with distributed heap support?
    2 projects | /r/ProgrammingLanguages | 17 Jul 2021
    Predating Intel's persistent memory a.k.a. NVDIMM, I see a research product "Hotpot" on its practical application as distributed shared memory ( paper and source code ), despite the hardware adoption issue and its apparent research nature (stuck with customized 3.x Linux kernel), I find the core idea not so bound to such a whole new technology stack, covering from low level device driver to application programming toolkit, even depending on sth like 40Gbps RDMA with InfiniBand SAN connection.
  • Can't figure out how to link C++ library installed with apt-get
    1 project | /r/AskProgramming | 23 Dec 2020
    It's more work but it looks like you can get the C++ bindings off their github and use them directly. You may have to experiment with different releases to find one compatible with whatever version of the base library you have installed.

Hotpot

Posts with mentions or reviews of Hotpot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-07-17.
  • Languages experimented with distributed heap support?
    2 projects | /r/ProgrammingLanguages | 17 Jul 2021
    Predating Intel's persistent memory a.k.a. NVDIMM, I see a research product "Hotpot" on its practical application as distributed shared memory ( paper and source code ), despite the hardware adoption issue and its apparent research nature (stuck with customized 3.x Linux kernel), I find the core idea not so bound to such a whole new technology stack, covering from low level device driver to application programming toolkit, even depending on sth like 40Gbps RDMA with InfiniBand SAN connection.

What are some alternatives?

When comparing libpmemobj-cpp and Hotpot you can also consider the following projects:

OpenMLDB - OpenMLDB is an open-source machine learning database that provides a feature platform computing consistent features for training and inference.

rdma-core - RDMA core userspace libraries and daemons

pmdk - Persistent Memory Development Kit

dattobd - kernel module for taking block-level snapshots and incremental backups of Linux block devices

spy - :eyes: Linux kernel mode debugfs keylogger

aniseed - Neovim configuration and plugins in Fennel (Lisp compiled to Lua)

lgproxy - Proxy for Looking Glass over local networks