Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This feature aims at adding the support for non-persistent SCM (e.g. RAM) by maintaining a copy of the DAOS metadata up-to-date on SSD. Once completed, DAOS will be able to operate in two modes:

  • persistent SCM: apache/barlow/crow pass, battery-backed DRAM or future SSD products supporting CXL.mem. This is the mode that DAOS supports today over PMDK. No changes will be done to this path.

    Image RemovedImage Added
  • volatile SCM: DRAM or non-persistent CXL.mem memory. This mode requires an extra step on write operations to keep a copy of the metadata in sync on CXL.io/NVMe SSDs.

...

Changes to support the volatile mode will be implemented in two phase:

  • Phase 1: maintain up-to-date copy of metadata tree on SSDs

    • The SSD copy will be maintained up-to-date via a write ahead log (WAL) and regular background checkpointing.

    • All reads served from ram/tmpfs and metadata will be limited by the DRAM capacity

    • Extra work will be done to reduce metadata footprint

      Image RemovedImage Added
  • Phase 2: metadata tiering

    • Metadata in dram/pmem is a subset of metadata on SSD

    • Potential cache-miss to SSD on read

      Image RemovedImage Added