diff options
-rw-r--r-- | litmus01.pdf | bin | 681011 -> 0 bytes | |||
-rw-r--r-- | litmus02.pdf | bin | 899823 -> 0 bytes | |||
m--------- | mac | 6 | ||||
-rw-r--r-- | reader/__init__.py | 4 | ||||
-rw-r--r-- | reader/gedf_test.py | 163 | ||||
-rw-r--r-- | reader/naive_trace_reader.py | 165 | ||||
-rwxr-xr-x | reader/runtests.py | 47 | ||||
-rwxr-xr-x | reader/sample_script.py | 41 | ||||
-rw-r--r-- | reader/sample_script.py~ | 41 | ||||
-rw-r--r-- | reader/sanitizer.py | 53 | ||||
-rw-r--r-- | reader/stats.py | 39 | ||||
-rw-r--r-- | reader/stdout_printer.py | 69 | ||||
-rwxr-xr-x | reader/test.py | 15 | ||||
-rwxr-xr-x | sample_script.py | 49 | ||||
-rw-r--r-- | traces/g1.pdf | bin | 12747 -> 0 bytes | |||
-rw-r--r-- | traces/g2.pdf | bin | 21284 -> 0 bytes | |||
-rw-r--r-- | traces/g3.pdf | bin | 18260 -> 0 bytes | |||
-rw-r--r-- | traces/g4.pdf | bin | 50607 -> 0 bytes | |||
-rw-r--r-- | traces/g5.pdf | bin | 141031 -> 0 bytes | |||
-rw-r--r-- | traces/g6.pdf | bin | 142968 -> 0 bytes | |||
-rw-r--r-- | traces/heavy.ts | 9 | ||||
-rw-r--r-- | traces/heavy2.ts | 7 | ||||
-rw-r--r-- | traces/light.ts | 9 | ||||
-rw-r--r-- | traces/medium.ts | 7 | ||||
-rw-r--r-- | traces/mixed.ts | 15 | ||||
-rw-r--r-- | traces/st-g1-0.bin | bin | 42528 -> 0 bytes | |||
-rw-r--r-- | traces/st-g1-1.bin | bin | 42768 -> 0 bytes | |||
-rw-r--r-- | traces/st-g1-2.bin | bin | 47592 -> 0 bytes | |||
-rw-r--r-- | traces/st-g1-3.bin | bin | 50496 -> 0 bytes | |||
-rw-r--r-- | traces/st-g3-0.bin | bin | 2640 -> 0 bytes | |||
-rw-r--r-- | traces/st-g3-1.bin | bin | 1872 -> 0 bytes | |||
-rw-r--r-- | traces/st-g3-2.bin | bin | 2088 -> 0 bytes | |||
-rw-r--r-- | traces/st-g3-3.bin | bin | 2832 -> 0 bytes | |||
-rw-r--r-- | traces/st-g4-0.bin | bin | 11208 -> 0 bytes | |||
-rw-r--r-- | traces/st-g4-1.bin | bin | 10848 -> 0 bytes | |||
-rw-r--r-- | traces/st-g4-2.bin | bin | 10392 -> 0 bytes | |||
-rw-r--r-- | traces/st-g4-3.bin | bin | 10536 -> 0 bytes | |||
-rw-r--r-- | traces/st-g5-0.bin | bin | 44904 -> 0 bytes | |||
-rw-r--r-- | traces/st-g5-1.bin | bin | 47520 -> 0 bytes | |||
-rw-r--r-- | traces/st-g5-2.bin | bin | 51552 -> 0 bytes | |||
-rw-r--r-- | traces/st-g5-3.bin | bin | 56064 -> 0 bytes | |||
-rw-r--r-- | traces/st-g6-0.bin | bin | 46656 -> 0 bytes | |||
-rw-r--r-- | traces/st-g6-1.bin | bin | 53064 -> 0 bytes | |||
-rw-r--r-- | traces/st-g6-2.bin | bin | 52368 -> 0 bytes | |||
-rw-r--r-- | traces/st-g6-3.bin | bin | 54960 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy-0.bin | bin | 33648 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy-1.bin | bin | 34224 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy-2.bin | bin | 35472 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy-3.bin | bin | 34008 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy2-0.bin | bin | 28608 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy2-1.bin | bin | 32352 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy2-2.bin | bin | 27864 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy2-3.bin | bin | 29424 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy3-0.bin | bin | 28896 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy3-1.bin | bin | 30936 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy3-2.bin | bin | 28704 -> 0 bytes | |||
-rw-r--r-- | traces/st-heavy3-3.bin | bin | 30144 -> 0 bytes | |||
-rw-r--r-- | traces/st-mac-0.bin | bin | 9288 -> 0 bytes | |||
-rw-r--r-- | traces/st-mac-1.bin | bin | 10152 -> 0 bytes | |||
-rw-r--r-- | traces/st-mac-test-0.bin | bin | 58944 -> 0 bytes | |||
-rw-r--r-- | traces/st-mac2-0.bin | bin | 10536 -> 0 bytes | |||
-rw-r--r-- | traces/st-s1-0.bin | bin | 47424 -> 0 bytes | |||
-rw-r--r-- | traces/st-s1-1.bin | bin | 61488 -> 0 bytes | |||
-rw-r--r-- | traces/st-s1-2.bin | bin | 57336 -> 0 bytes | |||
-rw-r--r-- | traces/st-s1-3.bin | bin | 48984 -> 0 bytes | |||
-rw-r--r-- | traces/st-s2-0.bin | bin | 82320 -> 0 bytes | |||
-rw-r--r-- | traces/st-s2-1.bin | bin | 135288 -> 0 bytes | |||
-rw-r--r-- | traces/st-s2-2.bin | bin | 93264 -> 0 bytes | |||
-rw-r--r-- | traces/st-s2-3.bin | bin | 58560 -> 0 bytes | |||
-rw-r--r-- | traces/st-x10-0.bin | bin | 44448 -> 0 bytes | |||
-rw-r--r-- | traces/st-x10-1.bin | bin | 7536 -> 0 bytes | |||
-rw-r--r-- | traces/st-x10-2.bin | bin | 30216 -> 0 bytes | |||
-rw-r--r-- | traces/st-x10-3.bin | bin | 7440 -> 0 bytes | |||
-rw-r--r-- | traces/st-x11-0.bin | bin | 33408 -> 0 bytes | |||
-rw-r--r-- | traces/st-x11-1.bin | bin | 34656 -> 0 bytes | |||
-rw-r--r-- | traces/st-x11-2.bin | bin | 33216 -> 0 bytes | |||
-rw-r--r-- | traces/st-x11-3.bin | bin | 33240 -> 0 bytes | |||
-rw-r--r-- | traces/st-x12-0.bin | bin | 80352 -> 0 bytes | |||
-rw-r--r-- | traces/st-x12-1.bin | bin | 174744 -> 0 bytes | |||
-rw-r--r-- | traces/st-x12-2.bin | bin | 90552 -> 0 bytes | |||
-rw-r--r-- | traces/st-x12-3.bin | bin | 104088 -> 0 bytes | |||
-rw-r--r-- | traces/st-x13-0.bin | bin | 72456 -> 0 bytes | |||
-rw-r--r-- | traces/st-x13-1.bin | bin | 315360 -> 0 bytes | |||
-rw-r--r-- | traces/st-x13-2.bin | bin | 318888 -> 0 bytes | |||
-rw-r--r-- | traces/st-x13-3.bin | bin | 258192 -> 0 bytes | |||
-rw-r--r-- | traces/st-x14-0.bin | bin | 73272 -> 0 bytes | |||
-rw-r--r-- | traces/st-x14-1.bin | bin | 336192 -> 0 bytes | |||
-rw-r--r-- | traces/st-x14-2.bin | bin | 309768 -> 0 bytes | |||
-rw-r--r-- | traces/st-x14-3.bin | bin | 268992 -> 0 bytes | |||
-rw-r--r-- | traces/st-x15-0.bin | bin | 86592 -> 0 bytes | |||
-rw-r--r-- | traces/st-x15-1.bin | bin | 371160 -> 0 bytes | |||
-rw-r--r-- | traces/st-x15-2.bin | bin | 365496 -> 0 bytes | |||
-rw-r--r-- | traces/st-x15-3.bin | bin | 301728 -> 0 bytes | |||
-rw-r--r-- | traces/st-x16-0.bin | bin | 44016 -> 0 bytes | |||
-rw-r--r-- | traces/st-x16-1.bin | bin | 77568 -> 0 bytes | |||
-rw-r--r-- | traces/st-x16-2.bin | bin | 76296 -> 0 bytes | |||
-rw-r--r-- | traces/st-x16-3.bin | bin | 65040 -> 0 bytes | |||
-rw-r--r-- | traces/st-x17-0.bin | bin | 203472 -> 0 bytes | |||
-rw-r--r-- | traces/st-x17-1.bin | bin | 484368 -> 0 bytes | |||
-rw-r--r-- | traces/st-x17-2.bin | bin | 331704 -> 0 bytes | |||
-rw-r--r-- | traces/st-x17-3.bin | bin | 280800 -> 0 bytes | |||
-rw-r--r-- | traces/st-x18-0.bin | bin | 49632 -> 0 bytes | |||
-rw-r--r-- | traces/st-x18-1.bin | bin | 61488 -> 0 bytes | |||
-rw-r--r-- | traces/st-x18-2.bin | bin | 60264 -> 0 bytes | |||
-rw-r--r-- | traces/st-x18-3.bin | bin | 54048 -> 0 bytes | |||
-rw-r--r-- | traces/st-x19-0.bin | bin | 81888 -> 0 bytes | |||
-rw-r--r-- | traces/st-x19-1.bin | bin | 185208 -> 0 bytes | |||
-rw-r--r-- | traces/st-x19-2.bin | bin | 135936 -> 0 bytes | |||
-rw-r--r-- | traces/st-x19-3.bin | bin | 102552 -> 0 bytes | |||
-rw-r--r-- | traces/st-x2-0.bin | bin | 24480 -> 0 bytes | |||
-rw-r--r-- | traces/st-x2-1.bin | bin | 25176 -> 0 bytes | |||
-rw-r--r-- | traces/st-x2-2.bin | bin | 1632 -> 0 bytes | |||
-rw-r--r-- | traces/st-x2-3.bin | bin | 1056 -> 0 bytes | |||
-rw-r--r-- | traces/st-x3-0.bin | bin | 34752 -> 0 bytes | |||
-rw-r--r-- | traces/st-x3-1.bin | bin | 36936 -> 0 bytes | |||
-rw-r--r-- | traces/st-x3-2.bin | bin | 36576 -> 0 bytes | |||
-rw-r--r-- | traces/st-x3-3.bin | bin | 33888 -> 0 bytes | |||
-rw-r--r-- | traces/st-x4-0.bin | bin | 20640 -> 0 bytes | |||
-rw-r--r-- | traces/st-x4-1.bin | bin | 22632 -> 0 bytes | |||
-rw-r--r-- | traces/st-x4-2.bin | bin | 1800 -> 0 bytes | |||
-rw-r--r-- | traces/st-x4-3.bin | bin | 936 -> 0 bytes | |||
-rw-r--r-- | traces/st-x5-0.bin | bin | 16824 -> 0 bytes | |||
-rw-r--r-- | traces/st-x5-1.bin | bin | 31824 -> 0 bytes | |||
-rw-r--r-- | traces/st-x5-2.bin | bin | 2544 -> 0 bytes | |||
-rw-r--r-- | traces/st-x5-3.bin | bin | 30048 -> 0 bytes | |||
-rw-r--r-- | traces/st-x6-0.bin | bin | 22632 -> 0 bytes | |||
-rw-r--r-- | traces/st-x6-1.bin | bin | 22728 -> 0 bytes | |||
-rw-r--r-- | traces/st-x6-2.bin | bin | 1848 -> 0 bytes | |||
-rw-r--r-- | traces/st-x6-3.bin | bin | 720 -> 0 bytes | |||
-rw-r--r-- | traces/st-x7-0.bin | bin | 22032 -> 0 bytes | |||
-rw-r--r-- | traces/st-x7-1.bin | bin | 22848 -> 0 bytes | |||
-rw-r--r-- | traces/st-x7-2.bin | bin | 960 -> 0 bytes | |||
-rw-r--r-- | traces/st-x7-3.bin | bin | 936 -> 0 bytes | |||
-rw-r--r-- | traces/st-x9-0.bin | bin | 33096 -> 0 bytes | |||
-rw-r--r-- | traces/st-x9-1.bin | bin | 33384 -> 0 bytes | |||
-rw-r--r-- | traces/st-x9-2.bin | bin | 33072 -> 0 bytes | |||
-rw-r--r-- | traces/st-x9-3.bin | bin | 33000 -> 0 bytes | |||
-rw-r--r-- | traces/st-xxx-0.bin | bin | 22392 -> 0 bytes | |||
-rw-r--r-- | traces/st-xxx-1.bin | bin | 24120 -> 0 bytes | |||
-rw-r--r-- | traces/st-xxx-2.bin | bin | 23784 -> 0 bytes | |||
-rw-r--r-- | traces/st-xxx-3.bin | bin | 1008 -> 0 bytes | |||
-rw-r--r-- | traces/st0.fg | bin | 319488 -> 0 bytes | |||
-rw-r--r-- | traces/st1.fg | bin | 286720 -> 0 bytes | |||
-rw-r--r-- | traces/stg20.bin | bin | 1416 -> 0 bytes | |||
-rw-r--r-- | traces/stg21.bin | bin | 672 -> 0 bytes | |||
-rw-r--r-- | traces/stg22.bin | bin | 744 -> 0 bytes | |||
-rw-r--r-- | traces/stg23.bin | bin | 888 -> 0 bytes | |||
-rw-r--r-- | traces/test.pdf | bin | 3893 -> 0 bytes | |||
-rw-r--r-- | traces/x11.pdf | bin | 53568 -> 0 bytes | |||
-rw-r--r-- | traces/x12.pdf | bin | 13280 -> 0 bytes | |||
-rw-r--r-- | traces/x13.pdf | bin | 113497 -> 0 bytes | |||
-rw-r--r-- | traces/x14.pdf | bin | 113369 -> 0 bytes | |||
-rw-r--r-- | traces/x15.pdf | bin | 138880 -> 0 bytes | |||
-rw-r--r-- | traces/x16.pdf | bin | 80694 -> 0 bytes | |||
-rw-r--r-- | traces/x17.pdf | bin | 374581 -> 0 bytes | |||
-rw-r--r-- | traces/x18.pdf | bin | 80777 -> 0 bytes | |||
-rw-r--r-- | traces/x19.pdf | bin | 176625 -> 0 bytes | |||
-rwxr-xr-x | visualizer.py | 26 | ||||
-rw-r--r-- | viz/__init__.py | 1 | ||||
-rw-r--r-- | viz/convert.py (renamed from convert.py) | 4 | ||||
-rw-r--r-- | viz/trace_reader.py (renamed from reader/trace_reader.py) | 0 |
161 files changed, 42 insertions, 728 deletions
diff --git a/litmus01.pdf b/litmus01.pdf deleted file mode 100644 index 4fba2fa..0000000 --- a/litmus01.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/litmus02.pdf b/litmus02.pdf deleted file mode 100644 index bcfdcab..0000000 --- a/litmus02.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/mac b/mac deleted file mode 160000 | |||
Subproject cd6e43f37856f7fe6b60e0e2ae45f864a4bd6d6 | |||
diff --git a/reader/__init__.py b/reader/__init__.py deleted file mode 100644 index afbfe44..0000000 --- a/reader/__init__.py +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | import trace_reader | ||
2 | import gedf_test | ||
3 | import sanitizer | ||
4 | import stats | ||
diff --git a/reader/gedf_test.py b/reader/gedf_test.py deleted file mode 100644 index e31fb19..0000000 --- a/reader/gedf_test.py +++ /dev/null | |||
@@ -1,163 +0,0 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # G-EDF Test | ||
6 | |||
7 | ############################################################################### | ||
8 | # Imports | ||
9 | ############################################################################### | ||
10 | |||
11 | import copy | ||
12 | |||
13 | |||
14 | ############################################################################## | ||
15 | # Public Functions | ||
16 | ############################################################################## | ||
17 | |||
18 | def gedf_test(stream): | ||
19 | |||
20 | # Two lists to model the system: tasks occupying a CPU and tasks eligible | ||
21 | # to do so. Also, m = the number of CPUs. | ||
22 | eligible = [] | ||
23 | on_cpu = [] | ||
24 | m = None | ||
25 | |||
26 | # Time of the last record we saw. Only run the G-EDF test when the time | ||
27 | # is updated. | ||
28 | last_time = None | ||
29 | |||
30 | for record in stream: | ||
31 | if record.record_type != "event": | ||
32 | if record.record_type == "meta" and record.type_name == "num_cpus": | ||
33 | m = record.num_cpus | ||
34 | continue | ||
35 | |||
36 | # Check for inversion starts and ends and yield them. | ||
37 | # Only to the check when time has moved forward. | ||
38 | # (It is common to have records with simultaneous timestamps.) | ||
39 | if last_time is not None and last_time != record.when: | ||
40 | errors = _gedf_check(eligible,on_cpu,record.when,m) | ||
41 | for error in errors: | ||
42 | yield error | ||
43 | |||
44 | # Add a newly-released Job to the eligible queue | ||
45 | if record.type_name == 'release': | ||
46 | eligible.append(Job(record)) | ||
47 | |||
48 | # Move a Job from the eligible queue to on_cpu | ||
49 | elif record.type_name == 'switch_to': | ||
50 | pos = _find_job(record,eligible) | ||
51 | job = eligible[pos] | ||
52 | del eligible[pos] | ||
53 | on_cpu.append(job) | ||
54 | |||
55 | # Mark a Job as completed. | ||
56 | # The only time a Job completes when it is not on a | ||
57 | # CPU is when it is the last job of the task. | ||
58 | elif record.type_name == 'completion': | ||
59 | pos = _find_job(record,on_cpu) | ||
60 | if pos is not None: | ||
61 | on_cpu[pos].is_complete = True | ||
62 | else: | ||
63 | pos = _find_job(record,eligible) | ||
64 | del eligible[pos] | ||
65 | |||
66 | # A job is switched away from a CPU. If it has | ||
67 | # been marked as complete, remove it from the model. | ||
68 | elif record.type_name == 'switch_away': | ||
69 | pos = _find_job(record,on_cpu) | ||
70 | job = on_cpu[pos] | ||
71 | del on_cpu[pos] | ||
72 | if job.is_complete == False: | ||
73 | eligible.append(job) | ||
74 | |||
75 | last_time = record.when | ||
76 | yield record | ||
77 | |||
78 | ############################################################################### | ||
79 | # Private Functions | ||
80 | ############################################################################### | ||
81 | |||
82 | # Internal representation of a Job | ||
83 | class Job(object): | ||
84 | def __init__(self, record): | ||
85 | self.pid = record.pid | ||
86 | self.job = record.job | ||
87 | self.deadline = record.deadline | ||
88 | self.is_complete = False | ||
89 | self.inversion_start = None | ||
90 | self.inversion_end = None | ||
91 | def __str__(self): | ||
92 | return "(%d.%d:%d)" % (self.pid,self.job,self.deadline) | ||
93 | |||
94 | # G-EDF errors: the start or end of an inversion | ||
95 | class Error(object): | ||
96 | def __init__(self, job, eligible, on_cpu): | ||
97 | self.job = copy.copy(job) | ||
98 | self.eligible = copy.copy(eligible) | ||
99 | self.on_cpu = copy.copy(on_cpu) | ||
100 | self.record_type = 'error' | ||
101 | if job.inversion_end is None: | ||
102 | self.type_name = 'inversion_start' | ||
103 | else: | ||
104 | self.type_name = 'inversion_end' | ||
105 | |||
106 | # Returns the position of a Job in a list, or None | ||
107 | def _find_job(record,list): | ||
108 | for i in range(0,len(list)): | ||
109 | if list[i].pid == record.pid and list[i].job == record.job: | ||
110 | return i | ||
111 | return None | ||
112 | |||
113 | # Return records for any inversion_starts and inversion_ends | ||
114 | def _gedf_check(eligible,on_cpu,when,m): | ||
115 | |||
116 | # List of error records to be returned | ||
117 | errors = [] | ||
118 | |||
119 | # List of all jobs that are not complete | ||
120 | all = [] | ||
121 | for x in on_cpu: | ||
122 | if x.is_complete is not True: | ||
123 | all.append(x) | ||
124 | all += eligible | ||
125 | |||
126 | # Sort by on_cpu and then by deadline. sort() is guaranteed to be stable. | ||
127 | # Thus, this gives us jobs ordered by deadline with preference to those | ||
128 | # actually running. | ||
129 | all.sort(key=lambda x: 0 if (x in on_cpu) else 1) | ||
130 | all.sort(key=lambda x: x.deadline) | ||
131 | |||
132 | # Check those that actually should be running | ||
133 | for x in range(0,min(m,len(all))): | ||
134 | job = all[x] | ||
135 | |||
136 | # It's not running and an inversion_start has not been recorded | ||
137 | if job not in on_cpu and job.inversion_start is None: | ||
138 | job.inversion_start = when | ||
139 | errors.append(Error(job, eligible, on_cpu)) | ||
140 | |||
141 | # It is running and an inversion_start exists (i.e. it it still | ||
142 | # marked as being inverted) | ||
143 | elif job in on_cpu and job.inversion_start is not None: | ||
144 | job.inversion_end = when | ||
145 | errors.append(Error(job, eligible, on_cpu)) | ||
146 | job.inversion_start = None | ||
147 | job.inversion_end = None | ||
148 | |||
149 | # Check those that actually should not be running | ||
150 | for x in range(m,len(all)): | ||
151 | job = all[x] | ||
152 | |||
153 | # It actually is running. We don't care. | ||
154 | |||
155 | # It isn't running, but an inversion_start exists (i.e. it is still | ||
156 | # marked as being inverted) | ||
157 | if job not in on_cpu and job.inversion_start is not None: | ||
158 | job.inversion_end = when | ||
159 | errors.append(Error(job, eligible, on_cpu)) | ||
160 | job.inversion_start = None | ||
161 | job.inversion_end = None | ||
162 | |||
163 | return errors | ||
diff --git a/reader/naive_trace_reader.py b/reader/naive_trace_reader.py deleted file mode 100644 index 0f117b8..0000000 --- a/reader/naive_trace_reader.py +++ /dev/null | |||
@@ -1,165 +0,0 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # trace_reader(files) returns an iterator which produces records | ||
6 | # OUT OF ORDER from the files given. (the param is a list of files.) | ||
7 | # | ||
8 | # The non-naive trace_reader has a lot of complex logic which attempts to | ||
9 | # produce records in order (even though they are being pulled from multiple | ||
10 | # files which themselves are only approximately ordered). This trace_reader | ||
11 | # attempts to be as simple as possible and is used in the unit tests to | ||
12 | # make sure the total number of records read by the normal trace_reader is | ||
13 | # the same as the number of records read by this one. | ||
14 | |||
15 | ############################################################################### | ||
16 | # Imports | ||
17 | ############################################################################### | ||
18 | |||
19 | import struct | ||
20 | |||
21 | |||
22 | ############################################################################### | ||
23 | # Public functions | ||
24 | ############################################################################### | ||
25 | |||
26 | # Generator function returning an iterable over records in a trace file. | ||
27 | def trace_reader(files): | ||
28 | for file in files: | ||
29 | f = open(file,'rb') | ||
30 | while True: | ||
31 | data = f.read(RECORD_HEAD_SIZE) | ||
32 | try: | ||
33 | type_num = struct.unpack_from('b',data)[0] | ||
34 | except struct.error: | ||
35 | break #We read to the end of the file | ||
36 | type = _get_type(type_num) | ||
37 | try: | ||
38 | values = struct.unpack_from(StHeader.format + | ||
39 | type.format,data) | ||
40 | record_dict = dict(zip(type.keys,values)) | ||
41 | except struct.error: | ||
42 | f.close() | ||
43 | print "Invalid record detected, stopping." | ||
44 | exit() | ||
45 | |||
46 | # Convert the record_dict into an object | ||
47 | record = _dict2obj(record_dict) | ||
48 | |||
49 | # Give it a type name (easier to work with than type number) | ||
50 | record.type_name = _get_type_name(type_num) | ||
51 | |||
52 | # All records should have a 'record type' field. | ||
53 | # e.g. these are 'event's as opposed to 'error's | ||
54 | record.record_type = "event" | ||
55 | |||
56 | # If there is no timestamp, set the time to 0 | ||
57 | if 'when' not in record.__dict__.keys(): | ||
58 | record.when = 0 | ||
59 | |||
60 | yield record | ||
61 | |||
62 | ############################################################################### | ||
63 | # Private functions | ||
64 | ############################################################################### | ||
65 | |||
66 | # Convert a dict into an object | ||
67 | def _dict2obj(d): | ||
68 | class Obj: pass | ||
69 | o = Obj() | ||
70 | for key in d.keys(): | ||
71 | o.__dict__[key] = d[key] | ||
72 | return o | ||
73 | |||
74 | ############################################################################### | ||
75 | # Trace record data types and accessor functions | ||
76 | ############################################################################### | ||
77 | |||
78 | # Each class below represents a type of event record. The format attribute | ||
79 | # specifies how to decode the binary record and the keys attribute | ||
80 | # specifies how to name the pieces of information decoded. Note that all | ||
81 | # event records have a common initial 24 bytes, represented by the StHeader | ||
82 | # class. | ||
83 | |||
84 | RECORD_HEAD_SIZE = 24 | ||
85 | |||
86 | class StHeader(object): | ||
87 | format = '<bbhi' | ||
88 | formatStr = struct.Struct(format) | ||
89 | keys = ['type','cpu','pid','job'] | ||
90 | message = 'The header.' | ||
91 | |||
92 | class StNameData(object): | ||
93 | format = '16s' | ||
94 | formatStr = struct.Struct(StHeader.format + format) | ||
95 | keys = StHeader.keys + ['name'] | ||
96 | message = 'The name of the executable of this process.' | ||
97 | |||
98 | class StParamData(object): | ||
99 | format = 'IIIc' | ||
100 | formatStr = struct.Struct(StHeader.format + format) | ||
101 | keys = StHeader.keys + ['wcet','period','phase','partition'] | ||
102 | message = 'Regular parameters.' | ||
103 | |||
104 | class StReleaseData(object): | ||
105 | format = 'QQ' | ||
106 | formatStr = struct.Struct(StHeader.format + format) | ||
107 | keys = StHeader.keys + ['when','deadline'] | ||
108 | message = 'A job was/is going to be released.' | ||
109 | |||
110 | #Not yet used by Sched Trace | ||
111 | class StAssignedData(object): | ||
112 | format = 'Qc' | ||
113 | formatStr = struct.Struct(StHeader.format + format) | ||
114 | keys = StHeader.keys + ['when','target'] | ||
115 | message = 'A job was assigned to a CPU.' | ||
116 | |||
117 | class StSwitchToData(object): | ||
118 | format = 'QI' | ||
119 | formatStr = struct.Struct(StHeader.format + format) | ||
120 | keys = StHeader.keys + ['when','exec_time'] | ||
121 | message = 'A process was switched to on a given CPU.' | ||
122 | |||
123 | class StSwitchAwayData(object): | ||
124 | format = 'QI' | ||
125 | formatStr = struct.Struct(StHeader.format + format) | ||
126 | keys = StHeader.keys + ['when','exec_time'] | ||
127 | message = 'A process was switched away on a given CPU.' | ||
128 | |||
129 | class StCompletionData(object): | ||
130 | format = 'Q3xcc' | ||
131 | formatStr = struct.Struct(StHeader.format + format) | ||
132 | keys = StHeader.keys + ['when','forced?','flags'] | ||
133 | message = 'A job completed.' | ||
134 | |||
135 | class StBlockData(object): | ||
136 | format = 'Q' | ||
137 | formatStr = struct.Struct(StHeader.format + format) | ||
138 | keys = StHeader.keys + ['when'] | ||
139 | message = 'A task blocks.' | ||
140 | |||
141 | class StResumeData(object): | ||
142 | format = 'Q' | ||
143 | formatStr = struct.Struct(StHeader.format + format) | ||
144 | keys = StHeader.keys + ['when'] | ||
145 | message = 'A task resumes.' | ||
146 | |||
147 | class StSysReleaseData(object): | ||
148 | format = 'QQ' | ||
149 | formatStr = struct.Struct(StHeader.format + format) | ||
150 | keys = StHeader.keys + ['when','release'] | ||
151 | message = 'All tasks have checked in, task system released by user' | ||
152 | |||
153 | # Return the binary data type, given the type_num | ||
154 | def _get_type(type_num): | ||
155 | types = [None,StNameData,StParamData,StReleaseData,StAssignedData, | ||
156 | StSwitchToData,StSwitchAwayData,StCompletionData,StBlockData, | ||
157 | StResumeData,StSysReleaseData] | ||
158 | return types[type_num] | ||
159 | |||
160 | # Return the type name, given the type_num (this is simply a convenience to | ||
161 | # programmers of other modules) | ||
162 | def _get_type_name(type_num): | ||
163 | type_names = [None,"name","params","release","assign","switch_to", | ||
164 | "switch_away","completion","block","resume","sys_release"] | ||
165 | return type_names[type_num] | ||
diff --git a/reader/runtests.py b/reader/runtests.py deleted file mode 100755 index 88dddf4..0000000 --- a/reader/runtests.py +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | #!/usr/bin/python | ||
2 | |||
3 | ############################################################################### | ||
4 | # Description | ||
5 | ############################################################################### | ||
6 | |||
7 | # Unit Tests | ||
8 | |||
9 | |||
10 | ############################################################################### | ||
11 | # Imports | ||
12 | ############################################################################### | ||
13 | |||
14 | import trace_reader | ||
15 | import naive_trace_reader | ||
16 | import os | ||
17 | |||
18 | ############################################################################### | ||
19 | # Trace files | ||
20 | ############################################################################### | ||
21 | |||
22 | files = [ | ||
23 | './sample_traces/st-g6-0.bin', | ||
24 | './sample_traces/st-g6-1.bin', | ||
25 | './sample_traces/st-g6-2.bin', | ||
26 | './sample_traces/st-g6-3.bin', | ||
27 | ] | ||
28 | |||
29 | ############################################################################### | ||
30 | # Tests | ||
31 | ############################################################################### | ||
32 | |||
33 | # Does our fancy trace reader get the same number of files as our naive one? | ||
34 | # (See naive_trace_reader.py for further explanation) | ||
35 | def test1(): | ||
36 | stream = trace_reader.trace_reader(files) | ||
37 | num_records = len(list(stream)) | ||
38 | stream = naive_trace_reader.trace_reader(files) | ||
39 | naive_num_records = len(list(stream)) | ||
40 | |||
41 | # We need a +1 here because the fancy reader produces a 'meta' record | ||
42 | # indicating the number of CPUs | ||
43 | if num_records != naive_num_records + 1: | ||
44 | return "[FAIL]" | ||
45 | return "[SUCCESS]" | ||
46 | |||
47 | print "Test 1: %s" % (test1()) | ||
diff --git a/reader/sample_script.py b/reader/sample_script.py deleted file mode 100755 index f7e9297..0000000 --- a/reader/sample_script.py +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | #!/usr/bin/python | ||
2 | |||
3 | # This is a sample script for using the tool. I would recommend copying | ||
4 | # this and modifying it to suit your needs for a particular test. Make | ||
5 | # sure you redirect the output to a file (e.g. ./sample_script.py > output). | ||
6 | |||
7 | # Import the modules we need. You should not need to know about | ||
8 | # their internals. | ||
9 | import trace_reader | ||
10 | import sanitizer | ||
11 | import gedf_test | ||
12 | import stats | ||
13 | import stdout_printer | ||
14 | |||
15 | # Specify your trace files | ||
16 | g6 = [ | ||
17 | '../sample_traces/st-g6-0.bin', | ||
18 | '../sample_traces/st-g6-1.bin', | ||
19 | '../sample_traces/st-g6-2.bin', | ||
20 | '../sample_traces/st-g6-3.bin', | ||
21 | ] | ||
22 | |||
23 | # Here is an example of a custom filter function. | ||
24 | # It will remove from the error stream all inversion_end records indicating | ||
25 | # an inversion of less than 4000000 time units. Thus, you can grep through | ||
26 | # the output looking 'Inversion end' and find only errors for particularly | ||
27 | # long inversions. This is commented out in the pipeline (below) since you | ||
28 | # probably don't want it in general. | ||
29 | def my_filter(record): | ||
30 | if record.record_type == 'error' and record.type_name == 'inversion_end': | ||
31 | if record.job.inversion_end - record.job.inversion_start < 4000000: | ||
32 | return False | ||
33 | return True | ||
34 | |||
35 | # Pipeline | ||
36 | stream = trace_reader.trace_reader(g6) # Read events from traces | ||
37 | stream = sanitizer.sanitizer(stream) # Remove garbage events | ||
38 | stream = gedf_test.gedf_test(stream) # Produce G-EDF error records | ||
39 | stream = stats.stats(stream) # Produce a statistics record | ||
40 | #stream = filter(my_filter, stream) # Filter some records before printing | ||
41 | stdout_printer.stdout_printer(stream) # Print records to stdout | ||
diff --git a/reader/sample_script.py~ b/reader/sample_script.py~ deleted file mode 100644 index c3b7843..0000000 --- a/reader/sample_script.py~ +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | #!/usr/bin/python | ||
2 | |||
3 | # This is a sample script for using the tool. I would recommend copying | ||
4 | # this and modifying it to suit your needs for a particular test. Make | ||
5 | # sure you redirect the output to a file (e.g. ./sample_script.py > output). | ||
6 | |||
7 | # Import the modules we need. You should not need to know about | ||
8 | # their internals. | ||
9 | import trace_reader | ||
10 | import sanitizer | ||
11 | import gedf_test | ||
12 | import stats | ||
13 | import stdout_printer | ||
14 | |||
15 | # Specify your trace files | ||
16 | g6 = [ | ||
17 | './sample_traces/st-g6-0.bin', | ||
18 | './sample_traces/st-g6-1.bin', | ||
19 | './sample_traces/st-g6-2.bin', | ||
20 | './sample_traces/st-g6-3.bin', | ||
21 | ] | ||
22 | |||
23 | # Here is an example of a custom filter function. | ||
24 | # It will remove from the error stream all inversion_end records indicating | ||
25 | # an inversion of less than 4000000 time units. Thus, you can grep through | ||
26 | # the output looking 'Inversion end' and find only errors for particularly | ||
27 | # long inversions. This is commented out in the pipeline (below) since you | ||
28 | # probably don't want it in general. | ||
29 | def my_filter(record): | ||
30 | if record.record_type == 'error' and record.type_name == 'inversion_end': | ||
31 | if record.job.inversion_end - record.job.inversion_start < 4000000: | ||
32 | return False | ||
33 | return True | ||
34 | |||
35 | # Pipeline | ||
36 | stream = trace_reader.trace_reader(g6) # Read events from traces | ||
37 | stream = sanitizer.sanitizer(stream) # Remove garbage events | ||
38 | stream = gedf_test.gedf_test(stream) # Produce G-EDF error records | ||
39 | stream = stats.stats(stream) # Produce a statistics record | ||
40 | #stream = filter(my_filter, stream) # Filter some records before printing | ||
41 | stdout_printer.stdout_printer(stream) # Print records to stdout | ||
diff --git a/reader/sanitizer.py b/reader/sanitizer.py deleted file mode 100644 index 79315cc..0000000 --- a/reader/sanitizer.py +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # Sanitize input. (There are a number of goofy issues with the sched_trace | ||
6 | # output.) | ||
7 | |||
8 | ############################################################################### | ||
9 | # Public functions | ||
10 | ############################################################################### | ||
11 | |||
12 | def sanitizer(stream): | ||
13 | |||
14 | job_2s_released = [] # list of tasks which have released their job 2s | ||
15 | jobs_switched_to = [] | ||
16 | |||
17 | for record in stream: | ||
18 | |||
19 | # Ignore records which are not events (e.g. the num_cpus record) | ||
20 | if record.record_type != 'event': | ||
21 | yield record | ||
22 | continue | ||
23 | |||
24 | # All records with job < 2 are garbage | ||
25 | if record.job < 2: | ||
26 | continue | ||
27 | |||
28 | # Some records with job == 2 are garbage | ||
29 | if record.job==2: | ||
30 | |||
31 | # There is a duplicate release of every job 2 | ||
32 | # This will throw away the second one | ||
33 | if record.type_name == 'release': | ||
34 | if record.pid in job_2s_released: | ||
35 | continue | ||
36 | else: | ||
37 | job_2s_released.append(record.pid) | ||
38 | |||
39 | # Job 2 has a resume that is garbage | ||
40 | if record.type_name == 'resume': | ||
41 | continue | ||
42 | |||
43 | # By default, the switch_away for a job (after it has completed) | ||
44 | # is maked as being for job+1, which has never been switched to. | ||
45 | # We can correct this if we note which jobs really | ||
46 | # have been switched to. | ||
47 | if record.type_name == 'switch_to': | ||
48 | jobs_switched_to.append((record.pid,record.job)) | ||
49 | if record.type_name == 'switch_away': | ||
50 | if (record.pid,record.job) not in jobs_switched_to: | ||
51 | record.job -= 1 | ||
52 | |||
53 | yield record | ||
diff --git a/reader/stats.py b/reader/stats.py deleted file mode 100644 index 34a842f..0000000 --- a/reader/stats.py +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | # Compute and produce statistics | ||
5 | |||
6 | |||
7 | ############################################################################### | ||
8 | # Public Functions | ||
9 | ############################################################################### | ||
10 | |||
11 | def stats(stream): | ||
12 | min_inversion = -1 | ||
13 | max_inversion = -1 | ||
14 | sum_inversions = 0 | ||
15 | num_inversions = 0 | ||
16 | for record in stream: | ||
17 | if record.type_name == 'inversion_end': | ||
18 | length = record.job.inversion_end - record.job.inversion_start | ||
19 | if length > 0: | ||
20 | num_inversions += 1 | ||
21 | if length > max_inversion: | ||
22 | max_inversion = length | ||
23 | if length < min_inversion or min_inversion == -1: | ||
24 | min_inversion = length | ||
25 | sum_inversions += length | ||
26 | yield record | ||
27 | if num_inversions > 0: | ||
28 | avg_inversion = int(sum_inversions / num_inversions) | ||
29 | else: | ||
30 | avg_inversion = 0 | ||
31 | class Obj(object): pass | ||
32 | rec = Obj() | ||
33 | rec.record_type = "meta" | ||
34 | rec.type_name = "stats" | ||
35 | rec.num_inversions = num_inversions | ||
36 | rec.min_inversion = min_inversion | ||
37 | rec.max_inversion = max_inversion | ||
38 | rec.avg_inversion = avg_inversion | ||
39 | yield rec | ||
diff --git a/reader/stdout_printer.py b/reader/stdout_printer.py deleted file mode 100644 index f8d9a84..0000000 --- a/reader/stdout_printer.py +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | ############################################################################### | ||
2 | # Description | ||
3 | ############################################################################### | ||
4 | |||
5 | # Prints records to standard out | ||
6 | |||
7 | ############################################################################### | ||
8 | # Public functions | ||
9 | ############################################################################### | ||
10 | |||
11 | def stdout_printer(stream): | ||
12 | for record in stream: | ||
13 | if record.record_type == "event": | ||
14 | _print_event(record) | ||
15 | elif record.record_type == "meta" and record.type_name == "stats": | ||
16 | _print_stats(record) | ||
17 | elif record.record_type == "error" and record.type_name == 'inversion_start': | ||
18 | _print_inversion_start(record) | ||
19 | elif record.record_type == "error" and record.type_name == 'inversion_end': | ||
20 | _print_inversion_end(record) | ||
21 | else: | ||
22 | continue | ||
23 | print "" | ||
24 | |||
25 | ############################################################################### | ||
26 | # Private functions | ||
27 | ############################################################################### | ||
28 | |||
29 | def _print_event(record): | ||
30 | print "Job: %d.%d" % (record.pid,record.job) | ||
31 | print "Type: %s" % (record.type_name) | ||
32 | print "Time: %d" % (record.when) | ||
33 | |||
34 | def _print_inversion_start(record): | ||
35 | print "Type: %s" % ("Inversion start") | ||
36 | print "Time: %d" % (record.job.inversion_start) | ||
37 | print "Job: %d.%d" % (record.job.pid,record.job.job) | ||
38 | print "Deadline: %d" % (record.job.deadline) | ||
39 | print "Eligible: ", | ||
40 | for job in record.eligible: | ||
41 | print str(job) + " ", | ||
42 | |||
43 | print "On CPU: ", | ||
44 | for job in record.on_cpu: | ||
45 | print str(job) + " ", | ||
46 | print #newline | ||
47 | |||
48 | def _print_inversion_end(record): | ||
49 | print "Type: %s" % ("Inversion end") | ||
50 | print "Time: %d" % (record.job.inversion_end) | ||
51 | print "Duration: %d" % ( | ||
52 | record.job.inversion_end - record.job.inversion_start) | ||
53 | print "Job: %d.%d" % (record.job.pid,record.job.job) | ||
54 | print "Deadline: %d" % (record.job.deadline) | ||
55 | print "Eligible: ", | ||
56 | for job in record.eligible: | ||
57 | print str(job) + " ", | ||
58 | |||
59 | print "On CPU: ", | ||
60 | for job in record.on_cpu: | ||
61 | print str(job) + " ", | ||
62 | print #newline | ||
63 | |||
64 | def _print_stats(record): | ||
65 | print "Inversion statistics" | ||
66 | print "Num inversions: %d" % (record.num_inversions) | ||
67 | print "Min inversion: %d" % (record.min_inversion) | ||
68 | print "Max inversion: %d" % (record.max_inversion) | ||
69 | print "Avg inversion: %d" % (record.avg_inversion) | ||
diff --git a/reader/test.py b/reader/test.py deleted file mode 100755 index b260314..0000000 --- a/reader/test.py +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | #!/usr/bin/python | ||
2 | |||
3 | import cairo | ||
4 | |||
5 | if __name__ == '__main__': | ||
6 | surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 500, 500) | ||
7 | ctx = cairo.Context(surface) | ||
8 | ctx.move_to(10, 10) | ||
9 | ctx.line_to(-100, 10) | ||
10 | ctx.set_line_width(2) | ||
11 | |||
12 | ctx.move_to(10, 10) | ||
13 | ctx.line_to(20, 10) | ||
14 | ctx.stroke() | ||
15 | surface.write_to_png('test.png') | ||
diff --git a/sample_script.py b/sample_script.py index c3b7843..435cde0 100755 --- a/sample_script.py +++ b/sample_script.py | |||
@@ -1,9 +1,16 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | 2 | ||
3 | ################################################################################ | ||
4 | # Description | ||
5 | ################################################################################ | ||
3 | # This is a sample script for using the tool. I would recommend copying | 6 | # This is a sample script for using the tool. I would recommend copying |
4 | # this and modifying it to suit your needs for a particular test. Make | 7 | # this and modifying it to suit your needs for a particular test. Make |
5 | # sure you redirect the output to a file (e.g. ./sample_script.py > output). | 8 | # sure you redirect the output to a file (e.g. ./sample_script.py > output). |
6 | 9 | ||
10 | ################################################################################ | ||
11 | # Setup | ||
12 | ################################################################################ | ||
13 | |||
7 | # Import the modules we need. You should not need to know about | 14 | # Import the modules we need. You should not need to know about |
8 | # their internals. | 15 | # their internals. |
9 | import trace_reader | 16 | import trace_reader |
@@ -11,6 +18,7 @@ import sanitizer | |||
11 | import gedf_test | 18 | import gedf_test |
12 | import stats | 19 | import stats |
13 | import stdout_printer | 20 | import stdout_printer |
21 | import visualizer | ||
14 | 22 | ||
15 | # Specify your trace files | 23 | # Specify your trace files |
16 | g6 = [ | 24 | g6 = [ |
@@ -20,22 +28,37 @@ g6 = [ | |||
20 | './sample_traces/st-g6-3.bin', | 28 | './sample_traces/st-g6-3.bin', |
21 | ] | 29 | ] |
22 | 30 | ||
23 | # Here is an example of a custom filter function. | 31 | ################################################################################ |
24 | # It will remove from the error stream all inversion_end records indicating | 32 | # Pipeline |
25 | # an inversion of less than 4000000 time units. Thus, you can grep through | 33 | ################################################################################ |
26 | # the output looking 'Inversion end' and find only errors for particularly | 34 | |
27 | # long inversions. This is commented out in the pipeline (below) since you | 35 | # Read events from traces |
28 | # probably don't want it in general. | 36 | stream = trace_reader.trace_reader(g6) |
37 | |||
38 | # Filter out garbage events | ||
39 | stream = sanitizer.sanitizer(stream) | ||
40 | |||
41 | # Produce G-EDF error records | ||
42 | stream = gedf_test.gedf_test(stream) | ||
43 | |||
44 | # Produce a statistics record | ||
45 | stream = stats.stats(stream) | ||
46 | |||
47 | # Filter some records out | ||
48 | # NOTE: Currently, this will break the Visualizer if enabled | ||
29 | def my_filter(record): | 49 | def my_filter(record): |
30 | if record.record_type == 'error' and record.type_name == 'inversion_end': | 50 | if record.record_type == 'error' and record.type_name == 'inversion_end': |
31 | if record.job.inversion_end - record.job.inversion_start < 4000000: | 51 | if record.job.inversion_end - record.job.inversion_start < 4000000: |
32 | return False | 52 | return False |
33 | return True | 53 | return True |
54 | #stream = filter(my_filter, stream) | ||
34 | 55 | ||
35 | # Pipeline | 56 | # Split the stream in two, so we can use both output mechanisms |
36 | stream = trace_reader.trace_reader(g6) # Read events from traces | 57 | import itertools |
37 | stream = sanitizer.sanitizer(stream) # Remove garbage events | 58 | stream1, stream2 = itertools.tee(stream,2) |
38 | stream = gedf_test.gedf_test(stream) # Produce G-EDF error records | 59 | |
39 | stream = stats.stats(stream) # Produce a statistics record | 60 | # Print the records to stdout |
40 | #stream = filter(my_filter, stream) # Filter some records before printing | 61 | stdout_printer.stdout_printer(stream1) |
41 | stdout_printer.stdout_printer(stream) # Print records to stdout | 62 | |
63 | # Visualize the records | ||
64 | visualizer.visualizer(stream2) | ||
diff --git a/traces/g1.pdf b/traces/g1.pdf deleted file mode 100644 index c9ee920..0000000 --- a/traces/g1.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/g2.pdf b/traces/g2.pdf deleted file mode 100644 index a807c9f..0000000 --- a/traces/g2.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/g3.pdf b/traces/g3.pdf deleted file mode 100644 index 3bb4e78..0000000 --- a/traces/g3.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/g4.pdf b/traces/g4.pdf deleted file mode 100644 index 867f413..0000000 --- a/traces/g4.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/g5.pdf b/traces/g5.pdf deleted file mode 100644 index c12ebde..0000000 --- a/traces/g5.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/g6.pdf b/traces/g6.pdf deleted file mode 100644 index 3c8d667..0000000 --- a/traces/g6.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/heavy.ts b/traces/heavy.ts deleted file mode 100644 index 8df12a0..0000000 --- a/traces/heavy.ts +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #EXE=200 | ||
2 | #PER=300 | ||
3 | EXE=17 | ||
4 | PER=30 | ||
5 | |||
6 | for i in `seq 1 6` | ||
7 | do | ||
8 | rt_launch -w $EXE $PER run | ||
9 | done | ||
diff --git a/traces/heavy2.ts b/traces/heavy2.ts deleted file mode 100644 index 23d5e0f..0000000 --- a/traces/heavy2.ts +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | EXE=18 | ||
2 | PER=30 | ||
3 | |||
4 | for i in `seq 1 6` | ||
5 | do | ||
6 | rtspin -w $EXE $PER 3 & | ||
7 | done | ||
diff --git a/traces/light.ts b/traces/light.ts deleted file mode 100644 index db961b2..0000000 --- a/traces/light.ts +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #EXE=200 | ||
2 | #PER=300 | ||
3 | EXE=2 | ||
4 | PER=11 | ||
5 | |||
6 | for i in `seq 1 18` | ||
7 | do | ||
8 | rt_launch -w $EXE $PER run | ||
9 | done | ||
diff --git a/traces/medium.ts b/traces/medium.ts deleted file mode 100644 index a800180..0000000 --- a/traces/medium.ts +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | EXE=2 | ||
2 | PER=12 | ||
3 | |||
4 | for i in `seq 1 6` | ||
5 | do | ||
6 | rt_launch -w $EXE $PER run | ||
7 | done | ||
diff --git a/traces/mixed.ts b/traces/mixed.ts deleted file mode 100644 index 1258d1a..0000000 --- a/traces/mixed.ts +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | #EXE=200 | ||
2 | #PER=300 | ||
3 | EXE=2 | ||
4 | PER=11 | ||
5 | |||
6 | for i in `seq 10 20` | ||
7 | do | ||
8 | rtspin -w $EXE $i 2 & | ||
9 | done | ||
10 | |||
11 | EXE=17 | ||
12 | for i in 31 32 33 | ||
13 | do | ||
14 | rtspin -w $EXE $i 2 & | ||
15 | done | ||
diff --git a/traces/st-g1-0.bin b/traces/st-g1-0.bin deleted file mode 100644 index a88bd3e..0000000 --- a/traces/st-g1-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g1-1.bin b/traces/st-g1-1.bin deleted file mode 100644 index 8439bb8..0000000 --- a/traces/st-g1-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g1-2.bin b/traces/st-g1-2.bin deleted file mode 100644 index 371bf49..0000000 --- a/traces/st-g1-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g1-3.bin b/traces/st-g1-3.bin deleted file mode 100644 index fa59c60..0000000 --- a/traces/st-g1-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g3-0.bin b/traces/st-g3-0.bin deleted file mode 100644 index 37fdbb3..0000000 --- a/traces/st-g3-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g3-1.bin b/traces/st-g3-1.bin deleted file mode 100644 index 583e1ec..0000000 --- a/traces/st-g3-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g3-2.bin b/traces/st-g3-2.bin deleted file mode 100644 index d93c7ee..0000000 --- a/traces/st-g3-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g3-3.bin b/traces/st-g3-3.bin deleted file mode 100644 index 21e0de7..0000000 --- a/traces/st-g3-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g4-0.bin b/traces/st-g4-0.bin deleted file mode 100644 index c52ed7b..0000000 --- a/traces/st-g4-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g4-1.bin b/traces/st-g4-1.bin deleted file mode 100644 index 77fea28..0000000 --- a/traces/st-g4-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g4-2.bin b/traces/st-g4-2.bin deleted file mode 100644 index 4d5d3cd..0000000 --- a/traces/st-g4-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g4-3.bin b/traces/st-g4-3.bin deleted file mode 100644 index 1cd7ee4..0000000 --- a/traces/st-g4-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g5-0.bin b/traces/st-g5-0.bin deleted file mode 100644 index c576250..0000000 --- a/traces/st-g5-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g5-1.bin b/traces/st-g5-1.bin deleted file mode 100644 index 90c4960..0000000 --- a/traces/st-g5-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g5-2.bin b/traces/st-g5-2.bin deleted file mode 100644 index a06aa10..0000000 --- a/traces/st-g5-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g5-3.bin b/traces/st-g5-3.bin deleted file mode 100644 index 561b776..0000000 --- a/traces/st-g5-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g6-0.bin b/traces/st-g6-0.bin deleted file mode 100644 index cebc7fd..0000000 --- a/traces/st-g6-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g6-1.bin b/traces/st-g6-1.bin deleted file mode 100644 index a51cce9..0000000 --- a/traces/st-g6-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g6-2.bin b/traces/st-g6-2.bin deleted file mode 100644 index 5d76010..0000000 --- a/traces/st-g6-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-g6-3.bin b/traces/st-g6-3.bin deleted file mode 100644 index 471fc8d..0000000 --- a/traces/st-g6-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy-0.bin b/traces/st-heavy-0.bin deleted file mode 100644 index 7a86776..0000000 --- a/traces/st-heavy-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy-1.bin b/traces/st-heavy-1.bin deleted file mode 100644 index 9b8d976..0000000 --- a/traces/st-heavy-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy-2.bin b/traces/st-heavy-2.bin deleted file mode 100644 index eb59023..0000000 --- a/traces/st-heavy-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy-3.bin b/traces/st-heavy-3.bin deleted file mode 100644 index 06f73b5..0000000 --- a/traces/st-heavy-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy2-0.bin b/traces/st-heavy2-0.bin deleted file mode 100644 index 4931d70..0000000 --- a/traces/st-heavy2-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy2-1.bin b/traces/st-heavy2-1.bin deleted file mode 100644 index fbe14a0..0000000 --- a/traces/st-heavy2-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy2-2.bin b/traces/st-heavy2-2.bin deleted file mode 100644 index d8edc0a..0000000 --- a/traces/st-heavy2-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy2-3.bin b/traces/st-heavy2-3.bin deleted file mode 100644 index c173014..0000000 --- a/traces/st-heavy2-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy3-0.bin b/traces/st-heavy3-0.bin deleted file mode 100644 index 4af21ed..0000000 --- a/traces/st-heavy3-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy3-1.bin b/traces/st-heavy3-1.bin deleted file mode 100644 index b62ffac..0000000 --- a/traces/st-heavy3-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy3-2.bin b/traces/st-heavy3-2.bin deleted file mode 100644 index 39a12e6..0000000 --- a/traces/st-heavy3-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-heavy3-3.bin b/traces/st-heavy3-3.bin deleted file mode 100644 index ae4a6a4..0000000 --- a/traces/st-heavy3-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-mac-0.bin b/traces/st-mac-0.bin deleted file mode 100644 index 7bac67d..0000000 --- a/traces/st-mac-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-mac-1.bin b/traces/st-mac-1.bin deleted file mode 100644 index a8a2f7e..0000000 --- a/traces/st-mac-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-mac-test-0.bin b/traces/st-mac-test-0.bin deleted file mode 100644 index 06e8403..0000000 --- a/traces/st-mac-test-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-mac2-0.bin b/traces/st-mac2-0.bin deleted file mode 100644 index 5afe202..0000000 --- a/traces/st-mac2-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s1-0.bin b/traces/st-s1-0.bin deleted file mode 100644 index 5ad50f9..0000000 --- a/traces/st-s1-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s1-1.bin b/traces/st-s1-1.bin deleted file mode 100644 index 7554c44..0000000 --- a/traces/st-s1-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s1-2.bin b/traces/st-s1-2.bin deleted file mode 100644 index 047248c..0000000 --- a/traces/st-s1-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s1-3.bin b/traces/st-s1-3.bin deleted file mode 100644 index 039e1a9..0000000 --- a/traces/st-s1-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s2-0.bin b/traces/st-s2-0.bin deleted file mode 100644 index 639c561..0000000 --- a/traces/st-s2-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s2-1.bin b/traces/st-s2-1.bin deleted file mode 100644 index 36f0254..0000000 --- a/traces/st-s2-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s2-2.bin b/traces/st-s2-2.bin deleted file mode 100644 index 777c1f4..0000000 --- a/traces/st-s2-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-s2-3.bin b/traces/st-s2-3.bin deleted file mode 100644 index 917cb86..0000000 --- a/traces/st-s2-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x10-0.bin b/traces/st-x10-0.bin deleted file mode 100644 index a372e75..0000000 --- a/traces/st-x10-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x10-1.bin b/traces/st-x10-1.bin deleted file mode 100644 index bcf8d01..0000000 --- a/traces/st-x10-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x10-2.bin b/traces/st-x10-2.bin deleted file mode 100644 index 3149ca8..0000000 --- a/traces/st-x10-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x10-3.bin b/traces/st-x10-3.bin deleted file mode 100644 index cf899fd..0000000 --- a/traces/st-x10-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x11-0.bin b/traces/st-x11-0.bin deleted file mode 100644 index 8404d49..0000000 --- a/traces/st-x11-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x11-1.bin b/traces/st-x11-1.bin deleted file mode 100644 index 67e9063..0000000 --- a/traces/st-x11-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x11-2.bin b/traces/st-x11-2.bin deleted file mode 100644 index a16c740..0000000 --- a/traces/st-x11-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x11-3.bin b/traces/st-x11-3.bin deleted file mode 100644 index cbc4c54..0000000 --- a/traces/st-x11-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x12-0.bin b/traces/st-x12-0.bin deleted file mode 100644 index 66a9995..0000000 --- a/traces/st-x12-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x12-1.bin b/traces/st-x12-1.bin deleted file mode 100644 index 515f953..0000000 --- a/traces/st-x12-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x12-2.bin b/traces/st-x12-2.bin deleted file mode 100644 index c21fce8..0000000 --- a/traces/st-x12-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x12-3.bin b/traces/st-x12-3.bin deleted file mode 100644 index bc7be12..0000000 --- a/traces/st-x12-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x13-0.bin b/traces/st-x13-0.bin deleted file mode 100644 index 023e917..0000000 --- a/traces/st-x13-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x13-1.bin b/traces/st-x13-1.bin deleted file mode 100644 index 6072f16..0000000 --- a/traces/st-x13-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x13-2.bin b/traces/st-x13-2.bin deleted file mode 100644 index c59a852..0000000 --- a/traces/st-x13-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x13-3.bin b/traces/st-x13-3.bin deleted file mode 100644 index 295de3a..0000000 --- a/traces/st-x13-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x14-0.bin b/traces/st-x14-0.bin deleted file mode 100644 index 19808b3..0000000 --- a/traces/st-x14-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x14-1.bin b/traces/st-x14-1.bin deleted file mode 100644 index 34b3e63..0000000 --- a/traces/st-x14-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x14-2.bin b/traces/st-x14-2.bin deleted file mode 100644 index 055851c..0000000 --- a/traces/st-x14-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x14-3.bin b/traces/st-x14-3.bin deleted file mode 100644 index 9ade092..0000000 --- a/traces/st-x14-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x15-0.bin b/traces/st-x15-0.bin deleted file mode 100644 index ce0b025..0000000 --- a/traces/st-x15-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x15-1.bin b/traces/st-x15-1.bin deleted file mode 100644 index 1b2c23e..0000000 --- a/traces/st-x15-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x15-2.bin b/traces/st-x15-2.bin deleted file mode 100644 index 9da74e5..0000000 --- a/traces/st-x15-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x15-3.bin b/traces/st-x15-3.bin deleted file mode 100644 index 9645cd9..0000000 --- a/traces/st-x15-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x16-0.bin b/traces/st-x16-0.bin deleted file mode 100644 index 175e14a..0000000 --- a/traces/st-x16-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x16-1.bin b/traces/st-x16-1.bin deleted file mode 100644 index 73a1ae5..0000000 --- a/traces/st-x16-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x16-2.bin b/traces/st-x16-2.bin deleted file mode 100644 index 8fcb27e..0000000 --- a/traces/st-x16-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x16-3.bin b/traces/st-x16-3.bin deleted file mode 100644 index 6f1d246..0000000 --- a/traces/st-x16-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x17-0.bin b/traces/st-x17-0.bin deleted file mode 100644 index c03c249..0000000 --- a/traces/st-x17-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x17-1.bin b/traces/st-x17-1.bin deleted file mode 100644 index c0ea44d..0000000 --- a/traces/st-x17-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x17-2.bin b/traces/st-x17-2.bin deleted file mode 100644 index 2da0356..0000000 --- a/traces/st-x17-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x17-3.bin b/traces/st-x17-3.bin deleted file mode 100644 index 207d1a7..0000000 --- a/traces/st-x17-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x18-0.bin b/traces/st-x18-0.bin deleted file mode 100644 index 2ed81f1..0000000 --- a/traces/st-x18-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x18-1.bin b/traces/st-x18-1.bin deleted file mode 100644 index dd791c1..0000000 --- a/traces/st-x18-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x18-2.bin b/traces/st-x18-2.bin deleted file mode 100644 index f90d9ab..0000000 --- a/traces/st-x18-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x18-3.bin b/traces/st-x18-3.bin deleted file mode 100644 index 944156a..0000000 --- a/traces/st-x18-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x19-0.bin b/traces/st-x19-0.bin deleted file mode 100644 index 1aeea29..0000000 --- a/traces/st-x19-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x19-1.bin b/traces/st-x19-1.bin deleted file mode 100644 index 9e2129a..0000000 --- a/traces/st-x19-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x19-2.bin b/traces/st-x19-2.bin deleted file mode 100644 index e9cd71b..0000000 --- a/traces/st-x19-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x19-3.bin b/traces/st-x19-3.bin deleted file mode 100644 index 530523d..0000000 --- a/traces/st-x19-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x2-0.bin b/traces/st-x2-0.bin deleted file mode 100644 index e24dcab..0000000 --- a/traces/st-x2-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x2-1.bin b/traces/st-x2-1.bin deleted file mode 100644 index 4a66180..0000000 --- a/traces/st-x2-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x2-2.bin b/traces/st-x2-2.bin deleted file mode 100644 index 76cde24..0000000 --- a/traces/st-x2-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x2-3.bin b/traces/st-x2-3.bin deleted file mode 100644 index faa0b90..0000000 --- a/traces/st-x2-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x3-0.bin b/traces/st-x3-0.bin deleted file mode 100644 index 60107c7..0000000 --- a/traces/st-x3-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x3-1.bin b/traces/st-x3-1.bin deleted file mode 100644 index 7a5fe39..0000000 --- a/traces/st-x3-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x3-2.bin b/traces/st-x3-2.bin deleted file mode 100644 index 1d40df6..0000000 --- a/traces/st-x3-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x3-3.bin b/traces/st-x3-3.bin deleted file mode 100644 index afba2e1..0000000 --- a/traces/st-x3-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x4-0.bin b/traces/st-x4-0.bin deleted file mode 100644 index 260bec7..0000000 --- a/traces/st-x4-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x4-1.bin b/traces/st-x4-1.bin deleted file mode 100644 index 17669ae..0000000 --- a/traces/st-x4-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x4-2.bin b/traces/st-x4-2.bin deleted file mode 100644 index a02713f..0000000 --- a/traces/st-x4-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x4-3.bin b/traces/st-x4-3.bin deleted file mode 100644 index db5e880..0000000 --- a/traces/st-x4-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x5-0.bin b/traces/st-x5-0.bin deleted file mode 100644 index 6fb2ac3..0000000 --- a/traces/st-x5-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x5-1.bin b/traces/st-x5-1.bin deleted file mode 100644 index 6466f25..0000000 --- a/traces/st-x5-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x5-2.bin b/traces/st-x5-2.bin deleted file mode 100644 index 93915e9..0000000 --- a/traces/st-x5-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x5-3.bin b/traces/st-x5-3.bin deleted file mode 100644 index 69fb611..0000000 --- a/traces/st-x5-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x6-0.bin b/traces/st-x6-0.bin deleted file mode 100644 index ed18dae..0000000 --- a/traces/st-x6-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x6-1.bin b/traces/st-x6-1.bin deleted file mode 100644 index 4689df1..0000000 --- a/traces/st-x6-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x6-2.bin b/traces/st-x6-2.bin deleted file mode 100644 index 0977d93..0000000 --- a/traces/st-x6-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x6-3.bin b/traces/st-x6-3.bin deleted file mode 100644 index 3b2cdc9..0000000 --- a/traces/st-x6-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x7-0.bin b/traces/st-x7-0.bin deleted file mode 100644 index 2d11122..0000000 --- a/traces/st-x7-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x7-1.bin b/traces/st-x7-1.bin deleted file mode 100644 index 4e13060..0000000 --- a/traces/st-x7-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x7-2.bin b/traces/st-x7-2.bin deleted file mode 100644 index 07768b8..0000000 --- a/traces/st-x7-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x7-3.bin b/traces/st-x7-3.bin deleted file mode 100644 index b3e71da..0000000 --- a/traces/st-x7-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x9-0.bin b/traces/st-x9-0.bin deleted file mode 100644 index be09f48..0000000 --- a/traces/st-x9-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x9-1.bin b/traces/st-x9-1.bin deleted file mode 100644 index 19b14e8..0000000 --- a/traces/st-x9-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x9-2.bin b/traces/st-x9-2.bin deleted file mode 100644 index dcbb59c..0000000 --- a/traces/st-x9-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-x9-3.bin b/traces/st-x9-3.bin deleted file mode 100644 index 1aea9a2..0000000 --- a/traces/st-x9-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-xxx-0.bin b/traces/st-xxx-0.bin deleted file mode 100644 index 1b661a5..0000000 --- a/traces/st-xxx-0.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-xxx-1.bin b/traces/st-xxx-1.bin deleted file mode 100644 index d82d027..0000000 --- a/traces/st-xxx-1.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-xxx-2.bin b/traces/st-xxx-2.bin deleted file mode 100644 index d3586e9..0000000 --- a/traces/st-xxx-2.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st-xxx-3.bin b/traces/st-xxx-3.bin deleted file mode 100644 index 5d9168c..0000000 --- a/traces/st-xxx-3.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st0.fg b/traces/st0.fg deleted file mode 100644 index 4008086..0000000 --- a/traces/st0.fg +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/st1.fg b/traces/st1.fg deleted file mode 100644 index 5d5c5ae..0000000 --- a/traces/st1.fg +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/stg20.bin b/traces/stg20.bin deleted file mode 100644 index a12ca3e..0000000 --- a/traces/stg20.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/stg21.bin b/traces/stg21.bin deleted file mode 100644 index b0ab240..0000000 --- a/traces/stg21.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/stg22.bin b/traces/stg22.bin deleted file mode 100644 index 1d1a0a5..0000000 --- a/traces/stg22.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/stg23.bin b/traces/stg23.bin deleted file mode 100644 index fed856f..0000000 --- a/traces/stg23.bin +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/test.pdf b/traces/test.pdf deleted file mode 100644 index e0c2850..0000000 --- a/traces/test.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x11.pdf b/traces/x11.pdf deleted file mode 100644 index 6c909a9..0000000 --- a/traces/x11.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x12.pdf b/traces/x12.pdf deleted file mode 100644 index 0d16db3..0000000 --- a/traces/x12.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x13.pdf b/traces/x13.pdf deleted file mode 100644 index fb527ce..0000000 --- a/traces/x13.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x14.pdf b/traces/x14.pdf deleted file mode 100644 index f22df22..0000000 --- a/traces/x14.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x15.pdf b/traces/x15.pdf deleted file mode 100644 index a2da624..0000000 --- a/traces/x15.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x16.pdf b/traces/x16.pdf deleted file mode 100644 index bc19a32..0000000 --- a/traces/x16.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x17.pdf b/traces/x17.pdf deleted file mode 100644 index b74b90f..0000000 --- a/traces/x17.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x18.pdf b/traces/x18.pdf deleted file mode 100644 index 6d8feb0..0000000 --- a/traces/x18.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/traces/x19.pdf b/traces/x19.pdf deleted file mode 100644 index 60c0af0..0000000 --- a/traces/x19.pdf +++ /dev/null | |||
Binary files differ | |||
diff --git a/visualizer.py b/visualizer.py index 80c2af9..c15bf51 100755 --- a/visualizer.py +++ b/visualizer.py | |||
@@ -1,31 +1,11 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | |||
3 | """Runs the visualizer.""" | ||
4 | |||
5 | import convert | ||
6 | import reader | ||
7 | import viz | ||
8 | |||
9 | import gtk | 2 | import gtk |
3 | import viz | ||
10 | 4 | ||
11 | path = 'sample_traces/' | 5 | def visualizer(stream): |
12 | 6 | sched = viz.convert.convert_trace_to_schedule(stream) | |
13 | trace_list = [ | ||
14 | path + 'st-g6-0.bin', | ||
15 | path + 'st-g6-1.bin', | ||
16 | path + 'st-g6-2.bin', | ||
17 | path + 'st-g6-3.bin' | ||
18 | ] | ||
19 | |||
20 | if __name__ == '__main__': | ||
21 | stream = reader.trace_reader.trace_reader(trace_list) | ||
22 | stream = reader.sanitizer.sanitizer(stream) | ||
23 | stream = reader.gedf_test.gedf_test(stream) | ||
24 | sched = convert.convert_trace_to_schedule(stream) | ||
25 | sched.scan(10000000) | 7 | sched.scan(10000000) |
26 | renderer = viz.renderer.Renderer(sched) | 8 | renderer = viz.renderer.Renderer(sched) |
27 | renderer.prepare_task_graph(attrs=viz.format.GraphFormat(time_per_maj=10000000)) | 9 | renderer.prepare_task_graph(attrs=viz.format.GraphFormat(time_per_maj=10000000)) |
28 | |||
29 | viz.viewer.MainWindow(renderer) | 10 | viz.viewer.MainWindow(renderer) |
30 | gtk.main() | 11 | gtk.main() |
31 | |||
diff --git a/viz/__init__.py b/viz/__init__.py index ef409f6..5f8d000 100644 --- a/viz/__init__.py +++ b/viz/__init__.py | |||
@@ -3,6 +3,7 @@ import renderer | |||
3 | import format | 3 | import format |
4 | import gobject | 4 | import gobject |
5 | import gtk | 5 | import gtk |
6 | import convert | ||
6 | 7 | ||
7 | gobject.signal_new('set-scroll-adjustments', viewer.GraphArea, gobject.SIGNAL_RUN_FIRST, | 8 | gobject.signal_new('set-scroll-adjustments', viewer.GraphArea, gobject.SIGNAL_RUN_FIRST, |
8 | None, (gtk.Adjustment, gtk.Adjustment)) | 9 | None, (gtk.Adjustment, gtk.Adjustment)) |
diff --git a/convert.py b/viz/convert.py index 1db4ad0..deb50c8 100644 --- a/convert.py +++ b/viz/convert.py | |||
@@ -1,6 +1,6 @@ | |||
1 | #!/usr/bin/env python | 1 | #!/usr/bin/env python |
2 | from viz.schedule import * | 2 | from schedule import * |
3 | from reader.trace_reader import * | 3 | from trace_reader import * |
4 | 4 | ||
5 | """Class that interprets the raw trace data, outputting it | 5 | """Class that interprets the raw trace data, outputting it |
6 | to a Python schedule object. | 6 | to a Python schedule object. |
diff --git a/reader/trace_reader.py b/viz/trace_reader.py index a4ff964..a4ff964 100644 --- a/reader/trace_reader.py +++ b/viz/trace_reader.py | |||