Project

General

Profile

Rbd - client side caching enhancements (part I) » History » Revision 2

Revision 1 (Tushar Gohad, 10/23/2015 06:49 PM) → Revision 2/5 (Tushar Gohad, 10/26/2015 01:58 PM)

h1. Rbd - client side caching enhancements (part I) 

 h3. Rationale Summary 

 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. as an alternate backend or tier.    Also proposed A useful extension is an extension also to support RBD provide cache partitioning (among support for random and sequential streams, or among competing apps with differing access rates, etc). 

 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. 

 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.  

 IO. 


 h3. Assumptions/Requirements 

 * This blueprint proposes RBD plumbing changes to plug in alternate caching backends 
 * Public RBD interfaces are not to change 
 * Shared RBD cache implementation is proposed as a "Part II" extension to this blueprint 

 h3. Owners 

 * Tushar Gohad (Intel) 
 * Anjaneya Chagam (Intel) 
 * Name 

 h3. Interested Parties 

 * Telco service providers- VDI, media streaming workloads Name (Affiliation) 
 * Name (Affiliation) 
 * Name 

 h3. Current Status 
 
 An SSD-based caching prototype is under development. 

 

 


 h3. Detailed Description 
 

 h3. Work items 



 

 h3. Coding tasks 

 # Task 1 
 # Task 2 
 # Task 3 

 h3. Build / release tasks 

 # Task 1 
 # Task 2 
 # Task 3 

 h3. Documentation tasks 

 # Task 1 
 # Task 2 
 # Task 3 

 h3. Deprecation tasks 

 # Task 1 
 # Task 2 
 # Task 3