Project

General

Profile

Rbd - Copy-on-read for clones in kernel rbd client » History » Version 2

Jessica Mack, 07/03/2015 09:33 PM

1 1 Jessica Mack
h1. Rbd - Copy-on-read for clones in kernel rbd client
2 1 Jessica Mack
3 1 Jessica Mack
h3. Summary
4 1 Jessica Mack
5 1 Jessica Mack
Add feature copy-on-read in kernel rbd client to improve read performance of clones
6 1 Jessica Mack
7 1 Jessica Mack
h3. Owners
8 1 Jessica Mack
9 1 Jessica Mack
* Min Chen (minchen@ubuntukylin.com)
10 1 Jessica Mack
* Li Wang (liwang@ubuntukylin.com)
11 1 Jessica Mack
* Name
12 1 Jessica Mack
13 1 Jessica Mack
h3. Interested Parties
14 1 Jessica Mack
15 1 Jessica Mack
* Name (Affiliation)
16 1 Jessica Mack
* Name (Affiliation)
17 1 Jessica Mack
* Name
18 1 Jessica Mack
19 1 Jessica Mack
h3. Current Status
20 1 Jessica Mack
21 1 Jessica Mack
The kernel rbd client does not support clones copy-on-read. We have implement it in librbd 
22 2 Jessica Mack
at https://github.com/ceph/ceph/pull/1808
23 1 Jessica Mack
24 1 Jessica Mack
h3. Detailed Description
25 1 Jessica Mack
26 1 Jessica Mack
Network latency will be the bottleneck of reading object not exist in clone , because it will read object 
27 1 Jessica Mack
from parent. We will use the same algorithm of copy-on-read in librbd. Firstly, read data from clone if 
28 1 Jessica Mack
it exists, or else send request to its parent. Secondly, after get the object from parent, in callback function
29 1 Jessica Mack
write it directly into clone asynchronously with cls copyup. In addition, read the entire object from parent.
30 1 Jessica Mack
 
31 1 Jessica Mack
h3. Work items
32 1 Jessica Mack
33 1 Jessica Mack
h4. Coding tasks
34 1 Jessica Mack
35 1 Jessica Mack
# Add an copy-on-read option
36 1 Jessica Mack
# In function rbd_img_obj_request_submit(), sending read request to parent.
37 1 Jessica Mack
38 1 Jessica Mack
h4. Build / release tasks
39 1 Jessica Mack
40 1 Jessica Mack
# Task 1
41 1 Jessica Mack
# Task 2
42 1 Jessica Mack
# Task 3
43 1 Jessica Mack
44 1 Jessica Mack
h4. Documentation tasks
45 1 Jessica Mack
46 1 Jessica Mack
# Task 1
47 1 Jessica Mack
# Task 2
48 1 Jessica Mack
# Task 3
49 1 Jessica Mack
50 1 Jessica Mack
h4. Deprecation tasks
51 1 Jessica Mack
52 1 Jessica Mack
# Task 1
53 1 Jessica Mack
# Task 2
54 1 Jessica Mack
# Task 3