1 | % ====================================================================== |
---|
2 | % ====================================================================== |
---|
3 | \chapter{Performance results} |
---|
4 | % ====================================================================== |
---|
5 | % ====================================================================== |
---|
6 | |
---|
7 | \section{Machine setup} |
---|
8 | |
---|
9 | \begin{figure} |
---|
10 | \begin{center} |
---|
11 | \begin{tabular}{| l | r | l | r |} |
---|
12 | \hline |
---|
13 | Architecture & x86\_64 & NUMA node(s) & 8 \\ |
---|
14 | \hline |
---|
15 | CPU op-mode(s) & 32-bit, 64-bit & Model name & AMD Opteron\texttrademark Processor 6380 \\ |
---|
16 | \hline |
---|
17 | Byte Order & Little Endian & CPU Freq & 2.5\si{\giga\hertz} \\ |
---|
18 | \hline |
---|
19 | CPU(s) & 64 & L1d cache & \SI{16}{\kibi\byte} \\ |
---|
20 | \hline |
---|
21 | Thread(s) per core & 2 & L1i cache & \SI{64}{\kibi\byte} \\ |
---|
22 | \hline |
---|
23 | Core(s) per socket & 8 & L2 cache & \SI{2048}{\kibi\byte} \\ |
---|
24 | \hline |
---|
25 | Socket(s) & 4 & L3 cache & \SI{6144}{\kibi\byte} \\ |
---|
26 | \hline |
---|
27 | \hline |
---|
28 | Operating system & Ubuntu 16.04.3 LTS & Kernel & Linux 4.4.0-97-generic \\ |
---|
29 | \hline |
---|
30 | Compiler & gcc 6.3.0 & Translator & CFA 1.0.0 \\ |
---|
31 | \hline |
---|
32 | \end{tabular} |
---|
33 | \end{center} |
---|
34 | \caption{Machine setup used for the tests} |
---|
35 | \label{tab:machine} |
---|
36 | \end{figure} |
---|
37 | |
---|
38 | \section{Micro benchmarks} |
---|
39 | |
---|
40 | \begin{figure} |
---|
41 | \begin{center} |
---|
42 | \begin{tabular}{| l | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] |} |
---|
43 | \cline{2-4} |
---|
44 | \multicolumn{1}{c |}{} & \multicolumn{1}{c |}{ Median } &\multicolumn{1}{c |}{ Average } & \multicolumn{1}{c |}{ Standard Deviation} \\ |
---|
45 | \hline |
---|
46 | Kernel Threads & 239 & 242.57 & 5.54 \\ |
---|
47 | \CFA Coroutines & 38 & 38 & 0 \\ |
---|
48 | \CFA Threads & 102 & 102.39 & 1.57 \\ |
---|
49 | \uC Coroutines & 46 & 46.68 & 0.47 \\ |
---|
50 | \uC Threads & 98 & 99.39 & 1.52 \\ |
---|
51 | \hline |
---|
52 | \end{tabular} |
---|
53 | \end{center} |
---|
54 | \caption{Context Switch comparaison. All numbers are in nanoseconds(\si{\nano\second})} |
---|
55 | \label{tab:ctx-switch} |
---|
56 | \end{figure} |
---|
57 | |
---|
58 | \begin{figure} |
---|
59 | \begin{center} |
---|
60 | \begin{tabular}{| l | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] |} |
---|
61 | \cline{2-4} |
---|
62 | \multicolumn{1}{c |}{} & \multicolumn{1}{c |}{ Median } &\multicolumn{1}{c |}{ Average } & \multicolumn{1}{c |}{ Standard Deviation} \\ |
---|
63 | \hline |
---|
64 | C routine & 2 & 2 & 0 \\ |
---|
65 | Pthreads Mutex Lock & 31 & 31.86 & 0.99 \\ |
---|
66 | \uC \code{monitor} member routine & 30 & 30 & 0 \\ |
---|
67 | \CFA \code{mutex} routine, 1 argument & 46 & 46.14 & 0.74 \\ |
---|
68 | \CFA \code{mutex} routine, 2 argument & 82 & 83 & 1.93 \\ |
---|
69 | \CFA \code{mutex} routine, 4 argument & 165 & 161.15 & 54.04 \\ |
---|
70 | \hline |
---|
71 | \end{tabular} |
---|
72 | \end{center} |
---|
73 | \caption{Mutex routine comparaison. All numbers are in nanoseconds(\si{\nano\second})} |
---|
74 | \label{tab:mutex} |
---|
75 | \end{figure} |
---|
76 | |
---|
77 | \begin{figure} |
---|
78 | \begin{center} |
---|
79 | \begin{tabular}{| l | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] |} |
---|
80 | \cline{2-4} |
---|
81 | \multicolumn{1}{c |}{} & \multicolumn{1}{c |}{ Median } &\multicolumn{1}{c |}{ Average } & \multicolumn{1}{c |}{ Standard Deviation} \\ |
---|
82 | \hline |
---|
83 | \uC \code{signal} & 322 & 322.57 & 2.77 \\ |
---|
84 | \CFA \code{signal}, 1 \code{monitor} & 1145 & 1163.64 & 27.52 \\ |
---|
85 | \CFA \code{signal}, 2 \code{monitor} & 1531 & 1550.75 & 32.77 \\ |
---|
86 | \CFA \code{signal}, 4 \code{monitor} & 2288.5 & 2326.86 & 54.73 \\ |
---|
87 | \hline |
---|
88 | \end{tabular} |
---|
89 | \end{center} |
---|
90 | \caption{Internal scheduling comparaison. All numbers are in nanoseconds(\si{\nano\second})} |
---|
91 | \label{tab:int-sched} |
---|
92 | \end{figure} |
---|
93 | |
---|
94 | \begin{figure} |
---|
95 | \begin{center} |
---|
96 | \begin{tabular}{| l | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] |} |
---|
97 | \cline{2-4} |
---|
98 | \multicolumn{1}{c |}{} & \multicolumn{1}{c |}{ Median } &\multicolumn{1}{c |}{ Average } & \multicolumn{1}{c |}{ Standard Deviation} \\ |
---|
99 | \hline |
---|
100 | \uC \code{Accept} & 349 & 339.32 & 3.14 \\ |
---|
101 | \CFA \code{waitfor}, 1 \code{monitor} & 1155.5 & 1142.04 & 25.23 \\ |
---|
102 | \CFA \code{waitfor}, 2 \code{monitor} & 1361 & 1376.75 & 28.81 \\ |
---|
103 | \CFA \code{waitfor}, 4 \code{monitor} & 1941.5 & 1957.07 & 34.7 \\ |
---|
104 | \hline |
---|
105 | \end{tabular} |
---|
106 | \end{center} |
---|
107 | \caption{External scheduling comparaison. All numbers are in nanoseconds(\si{\nano\second})} |
---|
108 | \label{tab:ext-sched} |
---|
109 | \end{figure} |
---|
110 | |
---|
111 | \begin{figure} |
---|
112 | \begin{center} |
---|
113 | \begin{tabular}{| l | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] | S[table-format=5.2,table-number-alignment=right] |} |
---|
114 | \cline{2-4} |
---|
115 | \multicolumn{1}{c |}{} & \multicolumn{1}{c |}{ Median } &\multicolumn{1}{c |}{ Average } & \multicolumn{1}{c |}{ Standard Deviation} \\ |
---|
116 | \hline |
---|
117 | Pthreads & 26974.5 & 26977 & 124.12 \\ |
---|
118 | \CFA Coroutines & 5 & 5 & 0 \\ |
---|
119 | \CFA Threads & 1122.5 & 1109.86 & 36.54 \\ |
---|
120 | \uC Coroutines & 106 & 107.04 & 1.61 \\ |
---|
121 | \uC Threads & 525.5 & 533.04 & 11.14 \\ |
---|
122 | \hline |
---|
123 | \end{tabular} |
---|
124 | \end{center} |
---|
125 | \caption{Creation comparaison. All numbers are in nanoseconds(\si{\nano\second})} |
---|
126 | \label{tab:creation} |
---|
127 | \end{figure} |
---|