Project

General

Profile

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