diff options
-rwxr-xr-x | plot_pm2.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/plot_pm2.py b/plot_pm2.py index d53a6da..d7d6536 100755 --- a/plot_pm2.py +++ b/plot_pm2.py | |||
@@ -10,8 +10,26 @@ from plot import decode | |||
10 | from gnuplot import gnuplot, FORMATS | 10 | from gnuplot import gnuplot, FORMATS |
11 | 11 | ||
12 | 12 | ||
13 | |||
14 | |||
13 | MACHINE_TOPOLOGY = { | 15 | MACHINE_TOPOLOGY = { |
14 | 'jupiter-cs' : (4, [('preempt', lambda x, y: x == y), ('mem', lambda x, y: x != y)]) | 16 | 'jupiter-cs' : (4, [('preempt', lambda x, y: x == y), |
17 | ('mem', lambda x, y: x != y)]), | ||
18 | |||
19 | # Socket0 Socket1 Socket2 Socket3 | ||
20 | # ------ ------- ------- ------- | ||
21 | # | 0, 4| | 1, 5| | 2, 6| | 3, 7| | ||
22 | # | 8,12| | 9,13| |10,14| |11,15| | ||
23 | # |16,20| |17,21| |18,22| |19,23| | ||
24 | # ------- ------- ------- ------- | ||
25 | 'ludwig.cs.unc.edu' : (24, [('preempt', lambda x, y: x == y), | ||
26 | ('l2', | ||
27 | lambda x, y: abs(y - x) == 4), | ||
28 | ('l3', | ||
29 | lambda x, y: | ||
30 | abs(y - x) > 4 and \ | ||
31 | abs(y - x) % 4 == 0), | ||
32 | ('mem', lambda x, y: abs(y - x) % 4 != 0)]) | ||
15 | } | 33 | } |
16 | 34 | ||
17 | PMO_PARAM = { | 35 | PMO_PARAM = { |
@@ -22,6 +40,8 @@ PMO_PARAM = { | |||
22 | 40 | ||
23 | PMO_MEM = { | 41 | PMO_MEM = { |
24 | 'mem' : 'a migration through main memory', | 42 | 'mem' : 'a migration through main memory', |
43 | 'l3' : 'a migration through a shared L3 cache', | ||
44 | 'l2' : 'a migration through a shared L2 cache', | ||
25 | 'preempt' : 'a preemption', | 45 | 'preempt' : 'a preemption', |
26 | 'all' : 'either a migration or preemption', | 46 | 'all' : 'either a migration or preemption', |
27 | } | 47 | } |
@@ -108,6 +128,9 @@ class CyclePlotter(defapp.App): | |||
108 | 128 | ||
109 | def plot_preempt_migrate(self, datafile, name, conf): | 129 | def plot_preempt_migrate(self, datafile, name, conf): |
110 | plots = self.setup_pmo_graphs(datafile, conf) | 130 | plots = self.setup_pmo_graphs(datafile, conf) |
131 | if plots is None: | ||
132 | print "Skipping %s..." % datafile | ||
133 | return | ||
111 | for (tmp, xcol, ycol, yminus, tag) in plots: | 134 | for (tmp, xcol, ycol, yminus, tag) in plots: |
112 | xtag = PMO_COL_LABEL[xcol][1] | 135 | xtag = PMO_COL_LABEL[xcol][1] |
113 | ytag = PMO_COL_LABEL[ycol][1] | 136 | ytag = PMO_COL_LABEL[ycol][1] |