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
Initial version of config API extension to support multiple memory tiers
* New class MemoryTierCacheConfig allows to configure a memory tier.
Setting tier size and location of a file for file-backed memory are
supported in this initial implementation;
* New member, vector of memory tiers, is added to class CacheAllocatorConfig.
* New test suite, chelib/allocator/tests/MemoryTiersTest.cpp,
demonstrates the usage of and tests extended config API.
Integrate Memory Tier config API with CacheAllocator.
Enabled memory tier config API for cachebench.
Assumes NUMA bindings support - this commit was done before
tiering support enabled.
fix memBind call
replaces Add MemoryTierCacheConfig::fromShm()
(commit 1c7c15d)
Move validation code for memory tiers to validate() method and convert
ratios to sizes lazily
Do not compensate for rounding error when calculating tier sizes (pmem#43)
Compensation results in ratios being different than originially specified.
Fixed total cache size in CacheMemoryStats (pmem#38)
Return a sum of sizes of each tier instead of just 1st tier's size.
Issue75 rebased (pmem#88)
* pmem#75: Use actual tier sizes (rounded down to slab size and decreased by header size) when creating new memory pools
* Added getPoolSize method to calculate combined pool size for all tiers; added pool size validation to tests
* Explicitly specified type for totalCacheSize to avoid overflow
* Minor test change
* Reworked tests
* Minor change
* Deleted redundant tests
* Deleted unused constant
* First set of changes to cache configuration API to enable multi-tier caches (facebook#138)
Summary:
These changes introduce per-tier cache configuration required to implement features discussed here: facebook#102. These specific changes enable single DRAM tier configs only which are compatible with the current version of cachelib. Configuration API will be expanded as multi-tier changes in other parts of the library are introduced.
Pull Request resolved: facebook#138
Reviewed By: therealgymmy
Differential Revision: D36189766
Pulled By: jiayuebao
fbshipit-source-id: 947aa0cd800ea6accffc1b7b6b0c9693aa7fc0a5
Co-authored-by: Victoria McGrath <[email protected]>
0 commit comments