Project

General

Profile

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

Tushar Gohad, 11/03/2015 05:46 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 5 Tushar Gohad
* Stephen Blinick (Intel)
21 1 Tushar Gohad
* Anjaneya Chagam (Intel)
22
23
h3. Interested Parties
24
25 2 Tushar Gohad
* Telco service providers- VDI, media streaming workloads
26 1 Tushar Gohad
27
h3. Current Status
28
 
29 3 Tushar Gohad
RBD cache currently supports DRAM as the only option for caching - there is no plumbing for plugging in alternate caching backends.
30 1 Tushar Gohad
31
h3. Work items
32 2 Tushar Gohad
33 4 Tushar Gohad
Rework existing RBD caching infrastructure to support pluggable caching modules.
34
Add a simple SSD-based and Intel CAS-based backend as sample caching modules.
35 1 Tushar Gohad
36
h3. Coding tasks
37
38
# Task 1
39
# Task 2
40
# Task 3
41
42
h3. Build / release tasks
43
44
# Task 1
45
# Task 2
46
# Task 3
47
48
h3. Documentation tasks
49
50
# Task 1
51
# Task 2
52
# Task 3
53
54
h3. Deprecation tasks
55
56
# Task 1
57
# Task 2
58
# Task 3