1、1|2023 SNIA.All Rights Reserved.Virtual ConferenceSeptember 28-29,20212|2023 SNIA.All Rights Reserved.FDP EcosystemLibrariesCacheLibRocksDBSupporting Projects FIONVMe CLIQEMUxNVMeIO Passthru3|2023 SNIA.All Rights Reserved.LibrariesCachelib-RocksDB4|2023 SNIA.All Rights Reserved.Libraries|CachelibWha
2、t is Cachelib?Motivation for FDP On boarding FDP Status?5|2023 SNIA.All Rights Reserved.Libraries|Cachelib|What is Cachelib?Local cache leveraging DRAM and SSD(Navy)Navy=engine for small and large itemsLarge Items (BlockCache 1KB.16MB)Sequential write(Good for SSDs)IO pattern WAF=1Small Items (BigHa
3、sh 1KB)Random write(Bad for SSDs)IO pattern High WAF LBA range for each engine type6|2023 SNIA.All Rights Reserved.Libraries|Cachelib|Motivation for FDPProbelm:Large item mix with small itemBlocks have no particular orderSmall items update/invalidate fasterInvalid blocks peppered all overGC works ha
4、rder to create valid RusWAF increasesExpectationSegregate small and large itemsFacilitates GCBrings WAF down7|2023 SNIA.All Rights Reserved.Libraries|Cachelib|On Boarding FDPUses io_uring_cmdSpeaks to NVMe driver through char device(Ex:/dev/ng01)One Placement identifier(PID)per engine typeAdd FDP PI
5、D to write functionsAdd io_uring_cmd infrastructureNew FDP Device type8|2023 SNIA.All Rights Reserved.0123WAF10 Min IntervalsWAF,FDP-vs-No-FDP,80%UtilizationWAF No-FDPWAF FDPLibraries|Cachelib|Status WAF for 80%and 70%utilization WAF=1 when FDP enabledEven for high utilization(80%)Throughput maintai
6、ned PR:https:/ FutureFurther segregation of Large ItemsGeneralize FDP library?11.11.21.31.4WAF10 Min IntervalsWAF,No-FDP vs FDP on 70%UtilizationWAF No-FDPWAF FDP9|2023 SNIA.All Rights Reserved.Libraries/RocksDBWhat is RocksDB?Motivation for FDP On boarding FDP Status?10|2023 SNIA.All Rights Reserve