[llvm-branch-commits] [CAS] Add OnDiskGraphDB and OnDiskKeyValueDB (PR #114102)
Steven Wu via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Oct 29 10:37:41 PDT 2024
https://github.com/cachemeifyoucan created https://github.com/llvm/llvm-project/pull/114102
Add OnDiskGraphDB and OnDiskKeyValueDB that can be used to implement
ObjectStore and ActionCache respectively. Those are on-disk persistent
storage that build upon OnDiskTrieHashMap and implements key functions
that are required by LLVMCAS interfaces.
This abstraction layer defines how the objects are hashed and stored on
disk. OnDiskKeyValueDB is a basic OnDiskTrieHashMap while OnDiskGraphDB
also defines:
* How objects of various size are store on disk and are referenced by
the trie nodes.
* How to store the references from one stored object to another object
that is referenced.
In addition to basic APIs for ObjectStore and ActionCache, other
advances database configuration features can be implemented in this
layer without exposing to the users of the LLVMCAS interface. For
example, OnDiskGraphDB has a faulty in function to fetch data from an
upstream OnDiskGraphDB if the data is missing.
More information about the llvm-branch-commits
mailing list