2101 \section{Userspace Library} |
2101 \section{Userspace Library} |
2102 \label{sec:userlib} |
2102 \label{sec:userlib} |
2103 |
2103 |
2104 \ldots |
2104 \ldots |
2105 |
2105 |
|
2106 \subsection{Timing} |
|
2107 \label{sec:usertiming} |
|
2108 |
|
2109 An interesting aspect is the timing of the userspace library calls compared to |
|
2110 those of the kernel API. Table~\ref{tab:usertiming} shows the call times and |
|
2111 standard deviancies of typical (and time-critical) API functions measured on |
|
2112 an Intel Pentium 4 M CPU with \unit{2.2}{\giga\hertz} and a standard 2.6.26 |
|
2113 kernel. |
|
2114 |
|
2115 \begin{table}[htbp] |
|
2116 \centering |
|
2117 \caption{Application Interface Timing Comparison} |
|
2118 \label{tab:usertiming} |
|
2119 \vspace{2mm} |
|
2120 \begin{tabular}{l|c|c|c|c} |
|
2121 |
|
2122 & |
|
2123 \multicolumn{2}{|c}{\textbf{Kernelspace}} & |
|
2124 \multicolumn{2}{|c}{\textbf{Userspace}} \\ |
|
2125 |
|
2126 \textbf{Function} & |
|
2127 $\mu(t)$ & |
|
2128 $\sigma(t)$ & |
|
2129 $\mu(t)$ & |
|
2130 $\sigma(t)$ \\ |
|
2131 \hline |
|
2132 |
|
2133 \lstinline+ecrt_master_receive()+ & |
|
2134 \unit{1.1}{\micro\second} & |
|
2135 \unit{0.3}{\micro\second} & |
|
2136 \unit{2.2}{\micro\second} & |
|
2137 \unit{0.5}{\micro\second} \\ |
|
2138 |
|
2139 \lstinline+ecrt_domain_process()+ & |
|
2140 \unit{<0.1}{\micro\second} & |
|
2141 \unit{<0.1}{\micro\second} & |
|
2142 \unit{1.0}{\micro\second} & |
|
2143 \unit{0.2}{\micro\second} \\ |
|
2144 |
|
2145 \lstinline+ecrt_domain_queue()+ & |
|
2146 \unit{<0.1}{\micro\second} & |
|
2147 \unit{<0.1}{\micro\second} & |
|
2148 \unit{1.0}{\micro\second} & |
|
2149 \unit{0.1}{\micro\second} \\ |
|
2150 |
|
2151 \lstinline+ecrt_master_send()+ & |
|
2152 \unit{1.8}{\micro\second} & |
|
2153 \unit{0.2}{\micro\second} & |
|
2154 \unit{2.5}{\micro\second} & |
|
2155 \unit{0.5}{\micro\second} \\ |
|
2156 |
|
2157 \end{tabular} |
|
2158 \end{table} |
|
2159 |
|
2160 The test results show, that for this configuration, the userspace API adds |
|
2161 about \unit{1}{\micro\second} delay for each function. |
|
2162 |
2106 %------------------------------------------------------------------------------ |
2163 %------------------------------------------------------------------------------ |
2107 |
2164 |
2108 \section{System Integration} |
2165 \section{System Integration} |
2109 \label{sec:system} |
2166 \label{sec:system} |
2110 |
2167 |