Designing the System
Let's discuss how a system is designed that provides us with low memory overhead and write amplification.
Kangaroo Overview
Let’s name the system Kangaroo. It’s a new flash-cache design that optimizes both DRAM usage and flash writes to maximize cache performance while minimizing cost.
Kangaroo has two main parts, KLog
and KSet
. KLog
is a log-structured cache, it has an index and then a circular log on flash. It is a small amount of flash, say five to ten percent. Once an object gets evicted from KLog
it’s going to get moved to KSet
and so in KSet
there’s a set-associative cache that’s going to take up the remainder of the flash capacity
and as we’ll see it allows us to have a low memory overhead since this takes up most of the flash.
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy