\section{Performance}

\begin{frame}
        \frametitle{Lastsimulation}
        \begin{block}{Festplattenlast}
        xdd
        \end{block}
        \begin{block}{Netzwerklast}
        auf niedriger priorisierte Ethernetports
        via flood ping
        \end{block}
        \begin{block}{CPU Last}
        cpuburnP5
        \end{block}
\end{frame}

\begin{frame}
	\frametitle{Messmethode}
	\begin{tabular}[t]{r|l}
		 One of the problems of taking things apart & \\
		 and seeing how they work & \\
		 \emph{supposing you're trying to find out how a cat works}& \\
		 you take that cat apart to see how it works, & \\
		 what you've got in your hands is a non-working cat. & \\
		 The cat wasn't a sort of clunky mechanism & \\
		 that was susceptible to our available tools of analysis. & \\
		 & \\
		 \textsl{Douglas Adams,} & \\
		 \textsl{Hitchhiker's Guide to the Galaxy} & \\
	\end{tabular}
\end{frame}

\begin{frame}
	\frametitle{Ende zu Ende Latenz}
	\includegraphics[height=6cm]{../img/versuch1.jpg}
\end{frame}

%\begin{frame}
%	\frametitle{Datenflu\ss}
%	\begin{center}
%	\includegraphics[height=7cm]{../img/programmfluss.jpg}
%	\end{center}
%\end{frame}

\begin{frame}
	\frametitle{Schwierigkeiten}
	\begin{block}{Latenzschwankungen}
	\begin{description}
		\item[Ausl\"oser] flood ping auf Receiver
		\item[Ursache] gesharte net-softirqs
		\item[L\"osungen] \dots \\
		\begin{itemize}
			\item IRQ Prozesse anders priorisieren
			\item IRQ 18 w\"ahrend RT Bearbeitung deaktivieren
			\item Abarbeitung aller Aufgaben in ISR des Netzwerkkartentreibers
			\item eigene softirqs f\"ur RT Ethernetdevices
		\end{itemize}
	\end{description}
	\end{block}
\end{frame}

\begin{frame}
        \frametitle{Schwierigkeiten}
        \begin{block}{Latenzschwankungen}
        \begin{description}
		\item[1. L\"osung] Priorisierung der IRQ Prozesse ver\"andert
		\item[dauerhafte L\"osung] linutronix beauftragt
	\end{description}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Ergebnis}
	\begin{center}
		\includegraphics[height=6cm]{../img/v1/v1optOhneLast.jpg}\\
		Ice Vergleichswert: $230 \mu s$
	\end{center}
\end{frame}

\begin{frame}
        \frametitle{Ergebnis}
        \begin{center}
        \includegraphics[height=6cm]{../img/v1/v1opt.jpg}
        \end{center}
\end{frame}

%\begin{frame}
%	\frametitle{TAO Scheduling}
%	\begin{block}{Priority Inversion?}
%		\begin{itemize}
%			\item 2 verschieden priorisierte Objekte
%			\item 2 Threadpools
%			\item komplexe Berechnung (niedrig priorisiert)
%			\item Ports setzen (hoch priorisiert)
%		\end{itemize}
%	\end{block}
%\end{frame}

%\begin{frame}
%        \frametitle{TAO Scheduling}
%        \begin{block}{Ergebnis}
%                \begin{itemize}
%                        \item t.b.d.
%                \end{itemize}
%        \end{block}
%\end{frame}

\begin{frame}
	\frametitle{RT EventService}
	\begin{block}{Supplier}
	\begin{itemize}
	\item sendet Port\"anderungen an RT EventService
	\end{itemize}
	\end{block}
	\pause
	\begin{block}{Consumer}
	\begin{itemize}
	\item registriert sich bei RT EventService
	\item bekommt \"Anderungen mitgeteilt
	\item setzt entsprechend die digitalen Ausg\"ange
	\end{itemize}
	\end{block}
\end{frame}

\begin{frame}
	\frametitle{Ergebnis}
	\begin{center}
	\includegraphics[height=6cm]{../img/v2Last.jpg} \\
	mit Last
	\end{center}
\end{frame}

\begin{frame}
	\frametitle{Abh\"angigkeit Echtzeitverhalten - Datenmenge}
        \begin{center}
        \includegraphics[height=6cm]{../img/v4/plot.jpg}
        \end{center}
\end{frame}

%\begin{frame}
%        \frametitle{Abh\"angigkeit Echtzeitverhalten - Datenmenge}
%	\begin{block}{Bewertung Ergebnis}
%	        \begin{itemize}
%			\item bei wachsenden Datenmengen entfernt sich worst-case stark von immediate-case
%			\item nach M\"oglichkeit mit mehreren verschieden priorisierten kleinen Datenpaketen arbeiten
%		\end{itemize}
%	\end{block}
%\end{frame}

%\begin{frame}
%	\frametitle{erweiterter Versuchsaufbau}
%	\begin{center}
%	\includegraphics[height=6cm]{../img/versuch4.jpg}
%	\end{center}
%\end{frame}

\begin{frame}
        \frametitle{erweiterter Versuchsaufbau}
        \begin{center}
        \includegraphics[height=6cm]{../img/arbeitsplatzpraes.jpg}
        \end{center}
\end{frame}

\begin{frame}
	\frametitle{Mehrere Teilnehmer, Priorisierung, verschiedene Interfacekonfigurationen}
        \begin{block}{getestete Interfacekonfigurationen}
	\begin{description}
		\item[PortAndMessage1] zwei Funktionen \\(setPort, sendMessage), \\ein Interface
		\item[PortAndMessage1] eine Funktion \\(setPortAndMessage), \\ein Interface
		\item[MessageAndPortSeperate] zwei Funktionen, \\zwei Interfaces
		\item[MessageOnly] eine Funktion, \\ein Interface
	\end{description}
	\end{block}
\end{frame}

\begin{frame}
        \frametitle{Schwierigkeiten}
        \begin{block}{QoS Switch}
	   \begin{itemize}
		\item Hirschmann Switch: kein diffServ
		\item Cisco Switch: Konfiguration
           \end{itemize}
	\end{block}
\end{frame}

\begin{frame}
        \frametitle{Ergebnis}
        \begin{center}
        \includegraphics[height=6cm]{../img/v5/plot3d-hirschmann.jpg} \\
	\emph{mit Hirschmann Switch}
        \end{center}
\end{frame}

\begin{frame}
        \frametitle{Ergebnis}
        \begin{center}
        \includegraphics[height=6cm]{../img/v5/plot3d-cisco.jpg} \\
        \emph{mit Cisco Switch}
        \end{center}
\end{frame}

\begin{frame}
	\frametitle{Fazit TAO Real-time Performance}
	\begin{itemize}
		\item stark abh\"angig von Konfiguration und Implementation
		\item abh\"angig von allen Komponenten (OS, Netzwerk, ACE/TAO)
		\item bei korrekter Anwendung 1kByte - $1 ms$ \"uber Ethernet
	\end{itemize}
\end{frame}
