LibradosObjecter trace capture and replay » History » Version 2
Jessica Mack, 06/30/2015 11:45 PM
1 | 1 | Jessica Mack | h1. LibradosObjecter trace capture and replay |
---|---|---|---|
2 | 1 | Jessica Mack | |
3 | 1 | Jessica Mack | h3. Summary |
4 | 1 | Jessica Mack | |
5 | 1 | Jessica Mack | Rados level operation traces will allow us to create more realistic tests and benchmarks. |
6 | 1 | Jessica Mack | |
7 | 1 | Jessica Mack | h3. Owners |
8 | 1 | Jessica Mack | |
9 | 1 | Jessica Mack | * Samuel Just (Red Hat) |
10 | 1 | Jessica Mack | * Name (Affiliation) |
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 | Nothing. |
22 | 1 | Jessica Mack | |
23 | 1 | Jessica Mack | h3. Detailed Description |
24 | 1 | Jessica Mack | |
25 | 1 | Jessica Mack | There are a couple of approaches here for capturing the trace data. First, we could hook in at the Objeter/Librados level and capture the trace of operations generated by a client. This is probably simpler, and has the advantage of retaining the operation ordering from a single client. Second, we could capture the trace on the pg primary. This seems to have the advantage of retaining cross client ordering on individual objects, but probably loses single client ordering across objects. We could probably recover per-client ordering from the client tid values on the operations. |
26 | 1 | Jessica Mack | |
27 | 1 | Jessica Mack | We also need to build a tool capable of replaying the above traces, probably with the ability to filter for particular clients in order to reproduce multi-client workloads. |
28 | 1 | Jessica Mack | |
29 | 1 | Jessica Mack | h3. Work items |
30 | 1 | Jessica Mack | |
31 | 1 | Jessica Mack | h4. Design tasks |
32 | 1 | Jessica Mack | |
33 | 2 | Jessica Mack | # Develop a schema for the trace data |
34 | 2 | Jessica Mack | # Decide on a capture/replay strategy based on how we want to handle multi-client workloads. |
35 | 1 | Jessica Mack | |
36 | 1 | Jessica Mack | h4. Coding tasks |
37 | 1 | Jessica Mack | |
38 | 1 | Jessica Mack | # Task 1 |
39 | 1 | Jessica Mack | # Task 2 |
40 | 1 | Jessica Mack | # Task 3 |
41 | 1 | Jessica Mack | |
42 | 1 | Jessica Mack | h4. Build / release tasks |
43 | 1 | Jessica Mack | |
44 | 1 | Jessica Mack | # Task 1 |
45 | 1 | Jessica Mack | # Task 2 |
46 | 1 | Jessica Mack | # Task 3 |
47 | 1 | Jessica Mack | |
48 | 1 | Jessica Mack | h4. Documentation tasks |
49 | 1 | Jessica Mack | |
50 | 1 | Jessica Mack | # Task 1 |
51 | 1 | Jessica Mack | # Task 2 |
52 | 1 | Jessica Mack | # Task 3 |
53 | 1 | Jessica Mack | |
54 | 1 | Jessica Mack | h4. Deprecation tasks |
55 | 1 | Jessica Mack | |
56 | 1 | Jessica Mack | # Task 1 |
57 | 1 | Jessica Mack | # Task 2 |
58 | 1 | Jessica Mack | # Task 3 |