Project

General

Profile

Rbd - client side caching enhancements (part I) » History » Version 3

Tushar Gohad, 10/26/2015 11:27 PM

1 1 Tushar Gohad
h1. Rbd - client side caching enhancements (part I)
2
3 2 Tushar Gohad
h3. Rationale
4 1 Tushar Gohad
5 2 Tushar Gohad
RBD cache currently supports DRAM as the only option for caching.   The proposal is to enhance the RBD caching layer to support "pluggable" non-volatile storage backends.  Also proposed is an extension to support RBD cache partitioning (among random and sequential streams, or among competing apps with differing access rates, etc).
6 1 Tushar Gohad
7 2 Tushar Gohad
This enhancement has been discussed at the 2015 Ceph hackathon and also at various meetups later on with the Ceph/RBD core.  With DRAM being the only RBD caching option, content cacheability is limited by the size of DRAM - proposal here is to be able to plug in SSD backends to address the "size" limitation, enable cache tiering and allow integration of 3rd party software caching solutions such as Intel CAS that make use of the caching hierarchy intelligently.
8 1 Tushar Gohad
9 2 Tushar Gohad
With Linux Containers becoming common deployment vehicle, eliminating RBD cache size limitation for per-client caching should help improve access latency with the added density.  We see interest in this uplift from telco service providers for improving access latency for the VDI, media streaming, db workloads. 
10
11
h3. Assumptions/Requirements
12
13
* This blueprint proposes RBD plumbing changes to plug in alternate caching backends
14
* Public RBD interfaces are not to change
15
* Shared RBD cache implementation is proposed as a "Part II" extension to this blueprint
16
17 1 Tushar Gohad
h3. Owners
18
19
* Tushar Gohad (Intel)
20
* Anjaneya Chagam (Intel)
21
22
h3. Interested Parties
23
24 2 Tushar Gohad
* Telco service providers- VDI, media streaming workloads
25 1 Tushar Gohad
26
h3. Current Status
27
 
28 3 Tushar Gohad
RBD cache currently supports DRAM as the only option for caching - there is no plumbing for plugging in alternate caching backends.
29 1 Tushar Gohad
30
h3. Work items
31 2 Tushar Gohad
32
33 1 Tushar Gohad
34
h3. Coding tasks
35
36
# Task 1
37
# Task 2
38
# Task 3
39
40
h3. Build / release tasks
41
42
# Task 1
43
# Task 2
44
# Task 3
45
46
h3. Documentation tasks
47
48
# Task 1
49
# Task 2
50
# Task 3
51
52
h3. Deprecation tasks
53
54
# Task 1
55
# Task 2
56
# Task 3