pmem / CacheLib

Pluggable in-process caching engine to build and scale high performance services
https://www.cachelib.org
Apache License 2.0
5 stars 13 forks source link

Upstreaming plan (5/4/2022) #68

Closed victoria-mcgrath closed 1 year ago

victoria-mcgrath commented 2 years ago

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

Design overview:  https://github.com/facebook/CacheLib/discussions/102

 

Grouping Description Intel PR Meta PR Notes
Independent preparatory changes        
  Shortened critical section   https://github.com/facebook/CacheLib/pull/132 Performance improvement
  Per-pool cache stats  https://github.com/facebook/CacheLib/pull/141 Benchmarking stats improvement
  Add value validation to cachebench   https://github.com/facebook/CacheLib/pull/131 Benchmarking improvement
  Alternative locking approach for item movement https://github.com/pmem/CacheLib/pull/36   Performance improvement
  File-mapped memory support in shared memory manager https://github.com/facebook/CacheLib/pull/146 Enables access to PMEM memory
  Initial set of changes to config API   https://github.com/facebook/CacheLib/pull/138 First mention of memory tiers, only one DRAM tier is allowed
Tiers enabling changes        
  Enable tiers in allocator TBD   The feature is complete on the Intel  fork
  Enable tiers in config API TBD   The feature is complete on the Intel  fork
  Enable multi-tier eviction TBD   The feature is complete on the Intel  fork
Future work        
  Scalable eviction policy TBD   Partition 2Q into independent structures so they use separate locks per region
  Background eviction thread TBD   Performance improvement