/
Object Forms

Object Forms

There will be three different object forms in DAOS:

  • Hierarchical object

  • Hierarchical object in memory bucket

  • Flattened object

This diagram shows the DAOS object forms, all elements in the blue rectangle are stored in DT-blob, they only consume memory during I/O processing, they can be evicted from DRAM if the system is under memory pressure. All the elements outside the rectangle are stored in MD-blob, it means that they stay in DRAM permanently when the pool is opened.

When an object is created, it is always hierarchical, but it can either be in MD-blob or in DT-blob (memory bucket), it can be flattened by flattening service late if it is a WORM object. If a hierarchical object is put in MD-blob, then it will be pinned in DRAM, otherwise it is loaded into DRAM on demand.

Object forms

If it still cannot fit into DRAM, as described in previous section, DAOS can flatten the object index tree and move object structures into DT-blob and only keep internal index in MD-blob and DRAM. However, flattening object index tree requires extra works like defragmentation after punching objects, so this is an optional feature.

Move objects to DT-blob

 

Related content

Flattened object index tree
Flattened object index tree
More like this
WORM (Write-Once-Read-Many) Object
WORM (Write-Once-Read-Many) Object
More like this
Tree optimizations
Tree optimizations
More like this
Phase 2
More like this
Write amplification of flattened object
Write amplification of flattened object
More like this
VOS Changes
VOS Changes
Read with this