Versions Compared

Key

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

Image RemovedIn the current VOS implementation, each object consumes 104 bytes (vos_obj_df), which includes object ID, index tree root, incarnation log header, etc. After flattening, most of these information are not necessary anymore: keeping the object ID and BIO address of the flattened buffer are sufficient, these information may consume 48 bytes based on the current estimate. During I/O processing, VOS can check the object index tree and see if the object is stored in flattened or hierarchical format, it has to load the object from DT-blob back to DRAM in the former case.

...

As shown in the diagram above, hierarchical objects and all the tree indexes remain in MD-blob and DRAM, whereas flattened objects only keeps a small header in DRAM and saves all its keys and values in DT-blob. In this model, each object consumes 48 bytes, VOS requires a few extra bytes to index object and allocator also has its own overhead, so the actual bytes per object can be about 100 bytes.