You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 22, 2023. It is now read-only.
Increasing concurrency (there is no need for heavy-weight synchronization between appends to different regions)
Logical division of entires
Grouping objects of different sizes together (can improve performance for concurrent append - appending similarly sized entires will result in bigger overlap for memcpy)
Description
Persistent allocator
Store alloc/free actions on PMEM (which allow rebuilding the state), do compaction regularly
Synchronization between iterators and region_free needed
Use delayed free / garbage collection?
Region discovery TBD (optional)
Named regions?
Root region?
API Changes
No changes - region allocate and free is already supported.
Implementation details
Most of the code is ready to handle multiple regions. There are a few global variables which should be made per-region (move to region_runtime), e.g. region_lock from region_runtimes_map
First steps
trivial persistent allocator based on free list
no synchronization for iterators and region_free
no region discovery (only iterators)
The text was updated successfully, but these errors were encountered:
assign timestamp for each allocation (can be easily done if each allocation/free is logged as an entry in dedicated region). This will allow using region allocations with appends in a single transaction
allow iterating over regions in order of allocation (based on timestamps)
FEAT: Multiple regions support
Rationale
Description
API Changes
No changes - region allocate and free is already supported.
Implementation details
Most of the code is ready to handle multiple regions. There are a few global variables which should be made per-region (move to region_runtime), e.g.
region_lock
fromregion_runtimes_map
First steps
The text was updated successfully, but these errors were encountered: