Reading Time: 2 minutes

Distributed Asynchronous Object Storage (DAOS) is an Open Source software-defined high-performance scalable storage system that has redefined performance for a wide spectrum of AI and HPC workloads.

DAOS is unique by its design and is the result of 12 years of R&D between 2012 and 2024. 

The baseline DAOS interface is a high-performance scalable key-value-array store supported by the libdaos library over which many data models (e.g. POSIX namespaces, HDF5 datasets, python) have been implemented. Data is stored on remote engines running on storage nodes that are aggregated to form a DAOS system that provides a global namespace to access datasets.

DAOS is built on the following principles:

  • No read-modify-write on I/O path (use versioning with byte-granular I/Os)
  • No locking/DLM, instead is using Multi-version concurrency control (MVCC)
  • Non-blocking I/O processing (futures & promises)
  • No client tracking or client recovery
  • No centralized (meta)data server
  • No global object table
  • No kernel code
  • End-to-end in user space
  • No vendor lock-in
  • No data inconsistencies
  • Data persistent on I/O completion
  • Serializable distributed transactions
  • Distributed key-value-array store
  • Built-in multi-tenancy
  • User snapshot
  • Built on Open Source software

Initially was designed using PMEM, but with the dismission of the Optane project, the architecture has evolved to use RAM instead of PMEM (with the new PMEM-less mode):

Behind this project, there is the DAOS Foundation that:

  • Maintain DAOS as an open source project independent of any one organization
  • Foster the developer and user communities around DAOS
  • Guide the direction of the overall DAOS project
  • Promote the use of DAOS

For more informations:

Share