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