-
Notifications
You must be signed in to change notification settings - Fork 13
Description
The goal of this experiment is to so the progress towards single tier DRAM performance parity. We also investigate some initial background data movement parameters.
Background Movement
The branch to use is here: https://github.com/byrnedj/CacheLib/tree/mt-background-movers
The cache configuration parameters to test are the following:
-backgroundEvictorIntervalMilSec: 0, 10
-evictorThreads: 4 , 12
-evictionHotnessThreshold: 40, 200
-lowEvictionAcWatermark: 91, 98
-highEvictionAcWatermark: 88, 95
Since highEvictionAcWatermark must be less than lowEvictionAcWaterMark, then the combinations are the following (all with background evictor milSec = 10 and DRAM:PMEM ratio 1:4):
evictorThreads: 4, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 91, highEvictionAcWatermark: 88
evictorThreads: 4, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 88
evictorThreads: 4, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 95
evictorThreads: 4, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 91, highEvictionAcWatermark: 88
evictorThreads: 4, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 88
evictorThreads: 4, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 95
evictorThreads: 12, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 91, highEvictionAcWatermark: 88
evictorThreads: 12, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 88
evictorThreads: 12, evictionHotnessThreshold: 40, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 95
evictorThreads: 12, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 91, highEvictionAcWatermark: 88
evictorThreads: 12, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 88
evictorThreads: 12, evictionHotnessThreshold: 200, lowEvictionAcWatermark: 98, highEvictionAcWatermark: 95
Then we have two baselines runs:
backgroundEvictorIntervalMilSec:0, with DRAM:PMEM set to 1:4backgroundEvictorIntervalMilSec:0,evictorThreads: 4,evictionHotnessThreshold: 40,lowEvictionAcWatermark: 98,highEvictionAcWatermark: 95 with DRAM:PMEM set to 1:1
For a total of 14 experiments per workload configuration.
The workload configuration parameters are:
-opRatePerSec: 500000, none
-htBucketPower 28 (for both workloads)
-48 threads and 5M ops/thread
-workload: leader_obj, follower_obj
There are 4 different workload configurations, so the total number of background evictor experiments is 56.
Additional baselines
For comparison we need to test the additional baseline systems for each workload configuration:
-https://github.com/igchor/CacheLib-1/tree/issue75_rebased using the DRAM:PMEM 1:1
-https://github.com/igchor/CacheLib-1/tree/issue75_rebased using the DRAM:PMEM 1:4
-https://github.com/igchor/CacheLib-1/tree/issue75_rebased using PMEM only
-https://github.com/igchor/CacheLib-1/tree/issue75_rebased using DRAM only
There are 4 different workload configurations, so the total number of additional baseline system experiments is 16.
In total there are 72 experiments - each should last around 5 minutes so total execution time is estimated to be 6 hours.