memkind

Overview

Memkind is an easy-to-use, general-purpose allocator built on top of jemalloc which emphasizes fragmentation avoidance and scalable concurrency support. Memkind helps to fully utilize various kinds of memory available in the system, including DRAM, NVDIMM, and HBM, mostly by adding one additional argument - destination kind of memory – to standard malloc API calls. It also offers a transparent mode that allows memory tiering without any modification to the existing app, memory kinds based on file-backed memory on specified device or area supplied by the user, and much more.

Documentation

General:

High Bandwidth Memory:

Allocators:

Memtier:

Sources

Memkind is hosted on GitHub. To clone memkind repository, please run the following command:

$ git clone https://github.com/memkind/memkind.git

You could also download latest packed sources using links below:

Needed dependencies and detailed build instructions can be found in the memkind's readme file.

    Binaries

    Blog entries

    Blog posts related to memkind can be found using the dedicated blog tag.

    Annoucements

    All news and announcements (e.g., about recent releases) related to memkind can be found here.

    Contact us

    For more information on this library, contact Rafal Rudnicki, Patryk Kaminski or Piotr Balcer. Your participation, feedback and questions are welcome. You can:

    • Create an issue in our GitHub issues database. This is a good way to report problems or request new features.
    • Join our Google Group to participate in discussions on memkind, including the design of the API and future directions.
    • Join our #pmem Slack channel

    The contents of this web site and the associated GitHub repositories are BSD-licensed open source.