Project

General

Profile

Rbd - shared read cache

Summary

RBD caching is currently in-memory and per-image. If many images are created from the same base image, memory is wasted trying to cache the parent image for each one. A shared cache would improve cache efficiency, since more of the common parent images could be cached, and there would be no duplicate caching of the same image in many processes. The cache could also be persistent, so there's no need to repopulate it if the host restarts. To simplify the implementation and avoid introducing potential data-losing bugs, this cache could be only a read-only cache, initially just for parent snapshots, which by definition cannot be written to. This avoids any coordination for cache invalidation as well.

Owners

  • Name (Affiliation)
  • Name (Affiliation)
  • Name

Interested Parties

  • Josh Durgin (Inktank)
  • Haomai Wang (UnitedStack)
  • Anip Patel (Arizona State University(student))

Current Status

Currently caching is provided by the ObjectCacher class, which does writeback or writethrough caching. This cache would supplement that with a shared read cache, which may or may not be persistent.

Detailed Description

TBD

Work items

Coding tasks

  1. Task 1
  2. Task 2
  3. Task 3

Build / release tasks

  1. Task 1
  2. Task 2
  3. Task 3

Documentation tasks

  1. Task 1
  2. Task 2
  3. Task 3

Deprecation tasks

  1. Task 1
  2. Task 2
  3. Task 3