diff options
Diffstat (limited to 'plot_sched')
-rwxr-xr-x | plot_sched | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/plot_sched b/plot_sched deleted file mode 100755 index 1d1614c..0000000 --- a/plot_sched +++ /dev/null | |||
@@ -1,178 +0,0 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | #NICE="blacktext linewidth 4.0 \"Helvetica\" 16 " | ||
4 | |||
5 | # try thinner lines | ||
6 | NICE="blacktext linewidth 1.0 \"Helvetica\" 16 " | ||
7 | |||
8 | if [ "$1" == "--eps" ]; then | ||
9 | EXT="eps" | ||
10 | # TERMINAL="postscript eps color $NICE" | ||
11 | TERMINAL="postscript eps $NICE" | ||
12 | shift | ||
13 | else | ||
14 | EXT="png" | ||
15 | TERMINAL="png picsize 1024 768" | ||
16 | fi | ||
17 | |||
18 | CSV1=$1 | ||
19 | TITLE=$2 | ||
20 | OUT=$3 | ||
21 | |||
22 | if [ ! -f "$CSV1" ]; then | ||
23 | echo "Usage: plot_sched <data.csv> [<title>] [<out.png>]" | ||
24 | exit 1 | ||
25 | fi | ||
26 | |||
27 | HARDSOFT=`basename $CSV1 | sed -e 's/^\([^_]*\).*/\1/'` | ||
28 | KIND=`basename $CSV1 | sed -e 's/^[^_]*_\([^_]*\).*/\1/'` | ||
29 | FDIST=`basename $CSV1 | sed -e 's/^[^_]*_[^_]*_dist=\(.*\).csv/\1/'` | ||
30 | |||
31 | case "$FDIST" in | ||
32 | uni_light) | ||
33 | DIST="uniformly distributed in [0.001, 0.1]" | ||
34 | ;; | ||
35 | uni_medium) | ||
36 | DIST="uniformly distributed in [0.1, 0.4]" | ||
37 | ;; | ||
38 | uni_heavy) | ||
39 | DIST="uniformly distributed in [0.5, 0.9]" | ||
40 | ;; | ||
41 | bimo_light) | ||
42 | DIST="bimodally distributed in [0.001, 0.5] (8/9) and [0.5, 0.9] (1/9)" | ||
43 | ;; | ||
44 | bimo_medium) | ||
45 | DIST="bimodally distributed in [0.001, 0.5] (6/9) and [0.5, 0.9] (3/9)" | ||
46 | ;; | ||
47 | bimo_heavy) | ||
48 | DIST="bimodally distributed in [0.001, 0.5] (4/9) and [0.5, 0.9] (5/9)" | ||
49 | ;; | ||
50 | *) | ||
51 | ;; | ||
52 | esac | ||
53 | |||
54 | echo "Hard/Soft : $HARDSOFT" | ||
55 | echo "Study : $KIND" | ||
56 | echo "Distribution: $DIST" | ||
57 | |||
58 | XLABEL="utilization cap" | ||
59 | XRANGE="set xrange [0.5:32.5]; set xtics 0, 2" | ||
60 | |||
61 | STYLE="lines lw 3" | ||
62 | #STYLE=linespoints | ||
63 | |||
64 | |||
65 | LINESTYLE=" \ | ||
66 | set style line 1 lt rgb 'blue'; \ | ||
67 | set style line 2 lt rgb 'orange-red'; \ | ||
68 | " | ||
69 | |||
70 | case "$KIND" in | ||
71 | sched) | ||
72 | YLABEL="schedulability" | ||
73 | YRANGE="set yrange [-0.1:1.1]" | ||
74 | case "$HARDSOFT" in | ||
75 | soft) | ||
76 | PLOT="plot '$CSV1' using 1:2 title 'P-EDF' with $STYLE, \ | ||
77 | '$CSV1' using 1:3 title 'C-EDF' with $STYLE, \ | ||
78 | '$CSV1' using 1:4 title 'G-EDF' with $STYLE, \ | ||
79 | '$CSV1' using 1:5 title 'PFAIR' with $STYLE, \ | ||
80 | '$CSV1' using 1:6 title 'S-PFAIR' with $STYLE, \ | ||
81 | '$CSV1' using 1:7 title 'G-NP-EDF' with $STYLE | ||
82 | " | ||
83 | if [ "$FDIST" != "uni_light" ]; then | ||
84 | XRANGE="set xrange [21.5:32.5]; set xtics 0, 2" | ||
85 | fi | ||
86 | ;; | ||
87 | hard) | ||
88 | PLOT="plot '$CSV1' using 1:2 title 'P-EDF' with $STYLE, \ | ||
89 | '$CSV1' using 1:3 title 'C-EDF' with $STYLE, \ | ||
90 | '$CSV1' using 1:4 title 'G-EDF' with $STYLE, \ | ||
91 | '$CSV1' using 1:5 title 'PFAIR' with $STYLE, \ | ||
92 | '$CSV1' using 1:6 title 'S-PFAIR' with $STYLE | ||
93 | " | ||
94 | ;; | ||
95 | esac | ||
96 | ;; | ||
97 | tard) | ||
98 | YLABEL="tardiness (in ms)" | ||
99 | YRANGE= | ||
100 | PLOT="plot '$CSV1' using 1:2 title 'C-EDF' with $STYLE, \ | ||
101 | '$CSV1' using 1:3 title 'G-EDF' with $STYLE, \ | ||
102 | '$CSV1' using 1:4 title 'G-NP-EDF' with $STYLE | ||
103 | " | ||
104 | ;; | ||
105 | util) | ||
106 | YLABEL="utilization (incl. overheads)" | ||
107 | YRANGE= | ||
108 | case "$HARDSOFT" in | ||
109 | soft) | ||
110 | PLOT="plot '$CSV1' using 1:2 title 'P-EDF' with $STYLE, \ | ||
111 | '$CSV1' using 1:3 title 'C-EDF' with $STYLE, \ | ||
112 | '$CSV1' using 1:4 title 'G-EDF' with $STYLE, \ | ||
113 | '$CSV1' using 1:5 title 'PFAIR' with $STYLE, \ | ||
114 | '$CSV1' using 1:6 title 'G-NP-EDF' with $STYLE | ||
115 | " | ||
116 | ;; | ||
117 | hard) | ||
118 | PLOT="plot '$CSV1' using 1:2 title 'P-EDF' with $STYLE, \ | ||
119 | '$CSV1' using 1:3 title 'C-EDF' with $STYLE, \ | ||
120 | '$CSV1' using 1:4 title 'G-EDF' with $STYLE, \ | ||
121 | '$CSV1' using 1:5 title 'PFAIR' with $STYLE \ | ||
122 | " | ||
123 | ;; | ||
124 | esac | ||
125 | ;; | ||
126 | gedf) | ||
127 | YLABEL="schedulability" | ||
128 | YRANGE="set yrange [-0.1:1.1]" | ||
129 | PLOT="plot '$CSV1' using 1:2 title 'P-EDF' with $STYLE, \ | ||
130 | '$CSV1' using 1:8 title 'G-EDF (all)' with $STYLE, \ | ||
131 | '$CSV1' using 1:3 title 'G-EDF [GFB03]' with $STYLE, \ | ||
132 | '$CSV1' using 1:4 title 'G-EDF [BAK03]' with $STYLE, \ | ||
133 | '$CSV1' using 1:5 title 'G-EDF [BCL05]' with $STYLE, \ | ||
134 | '$CSV1' using 1:6 title 'G-EDF [BCL08]' with $STYLE, \ | ||
135 | '$CSV1' using 1:7 title 'G-EDF [SKB07]' with $STYLE \ | ||
136 | " | ||
137 | ;; | ||
138 | *) | ||
139 | YLABEL="" | ||
140 | YRANGE="" | ||
141 | ;; | ||
142 | esac | ||
143 | |||
144 | BASE=`basename $CSV1 | sed -e s/.csv//g -e s/dist=//g ` | ||
145 | |||
146 | #echo $BASE | ||
147 | |||
148 | if [ "$OUT" == "" ]; then | ||
149 | OUT="${BASE}.${EXT}" | ||
150 | fi | ||
151 | |||
152 | if [ "$TITLE" == "" ]; then | ||
153 | TITLE="$DIST" | ||
154 | fi | ||
155 | |||
156 | # fixup csv file, gnuplot is picky | ||
157 | sed -i -e 's/,\([^ ]\)/, \1/g' $CSV1 | ||
158 | |||
159 | gnuplot <<EOM | ||
160 | set terminal $TERMINAL | ||
161 | set out '/dev/null' | ||
162 | $YRANGE | ||
163 | $XRANGE | ||
164 | $PLOT | ||
165 | set ylabel '$YLABEL' | ||
166 | set xlabel '$XLABEL' | ||
167 | set title '$TITLE' | ||
168 | set key below | ||
169 | #set data style $STYLE | ||
170 | set out '$OUT' | ||
171 | set palette defined ( 0 "blue", 3 "green", 6 "yellow", 10 "red" ) | ||
172 | replot | ||
173 | set out | ||
174 | EOM | ||
175 | |||
176 | if [ "$EXT" == "eps" ]; then | ||
177 | ps2pdf -dEPSCrop $OUT | ||
178 | fi | ||