Removed all German text and added notice of CC BY 4.0 license.

This commit is contained in:
Dennis Potter 2018-11-12 17:03:45 +01:00
parent af25b4b828
commit 42c7c20395
5 changed files with 69 additions and 126 deletions

View File

@ -1,13 +1,8 @@
% English abstract
\begin{otherlanguage}{english}
\begin{abstract}
\input{abstract/english}
The present work evaluates the feasibility and added value of an InfiniBand based communication in the co-simulation framework VILLASframework and its simulation data gateway VILLASnode. InfiniBand is characterized by its high throughput and low latencies, which makes it particularly suitable for the hard real-time requirements of VILLASnode. It allows applications on different host systems to communicate with each other, without many of the latency bottlenecks that are present in other technologies such as Ethernet.
The present work shows that---with some optimizations---sub-microsecond latencies were achievable in a benchmark that mimics the characteristics of the co-simulation framework. After it presents how InfiniBand was integrated in the framework, thereby only making minor adjustments to the existing communication \acrshort{api}, it shows how the newly implemented interface performs compared to the existing ones.
The results showed that, regarding latency, the InfiniBand interface performed more than one order of magnitude better than VILLASnode's other interfaces that enable server-server communication. Furthermore, much higher transmission rates could be achieved and the latency's predictability substantially improved. Its latencies, which lie between \SI{1.7}{\micro\second} and \SI{4.9}{\micro\second}, were only 1.5--\SI{2.5}{\micro\second} worse than the zero-latency reference, in which VILLASnode uses the \textit{\acrshort{posix} shared memory} \acrshort{api} to communicate. However, since the shared memory interface is only supported when the different VILLASnode instances are located on the same computer, the InfiniBand interface turned out to have the lowest latency of the currently implemented server-server interfaces.
\end{abstract}
\end{otherlanguage}
% German abstract
\begin{otherlanguage}{ngerman}
\begin{abstract}
\input{abstract/german}
\end{abstract}
\end{otherlanguage}

View File

@ -1,5 +0,0 @@
The present work evaluates the feasibility and added value of an InfiniBand based communication in the co-simulation framework VILLASframework and its simulation data gateway VILLASnode. InfiniBand is characterized by its high throughput and low latencies, which makes it particularly suitable for the hard real-time requirements of VILLASnode. It allows applications on different host systems to communicate with each other, without many of the latency bottlenecks that are present in other technologies such as Ethernet.
The present work shows that---with some optimizations---sub-microsecond latencies were achievable in a benchmark that mimics the characteristics of the co-simulation framework. After it presents how InfiniBand was integrated in the framework, thereby only making minor adjustments to the existing communication \acrshort{api}, it shows how the newly implemented interface performs compared to the existing ones.
The results showed that, regarding latency, the InfiniBand interface performed more than one order of magnitude better than VILLASnode's other interfaces that enable server-server communication. Furthermore, much higher transmission rates could be achieved and the latency's predictability substantially improved. Its latencies, which lie between \SI{1.7}{\micro\second} and \SI{4.9}{\micro\second}, were only 1.5--\SI{2.5}{\micro\second} worse than the zero-latency reference, in which VILLASnode uses the \textit{\acrshort{posix} shared memory} \acrshort{api} to communicate. However, since the shared memory interface is only supported when the different VILLASnode instances are located on the same computer, the InfiniBand interface turned out to have the lowest latency of the currently implemented server-server interfaces.

View File

@ -1,5 +0,0 @@
Die vorliegende Arbeit thematisiert die Realisierbarkeit und den Mehrwert einer auf InfiniBand basierten Kommunikation in dem Co-Simulationsframework VILLASframework und insbesondere seiner Simulationsdatenschnittstelle VILLASnode. Charakteristisch für die Datenübertragungstechnik InfiniBand sind hohe Durchsatzraten und niedrige Latenzzeiten, welche es besonders geeignet machen für die harten Echtzeitanforderungen von VILLASnode. Die Technik ermöglicht es Anwendungssoftware, auf verschiedenen Hostrechnern miteinander zu kommunizieren, ohne dabei die Engpässe anderer Datenübertragungstechniken, wie zum Beispiel Ethernet, zu spüren.
Ein Mess- und Bewertungsverfahren, welches das Verhalten des \linebreak Co-Simulationsframeworks nachahmt und im Rahmen dieser Arbeit entwickelt wurde, zeigt, dass nach Optimierung, Latenzen im Submikrosekundenbereich möglich waren. Nachdem die Arbeit sich damit auseinandergesetzt hat wie InfiniBand, mit minimalen Änderungen der Programmiersschnittstelle, in das Framework integriert wurde, stellt es die implementierte Technik den existierenden Techniken gegenüber.
Wie sich herausstellt, sind die Latenzzeiten der InfiniBand Übertragungstechnik in VILLASnode um mehr als eine Grö\ss enordnung niedriger als die Latenzzeiten der existierenden Techniken, die Kommunikation zwischen verschiedenen Hostrechnern ermöglichen. Au\ss erdem ermöglicht InfiniBand eine höhere Prognostizierbarkeit der Latenzen und können erheblich höhere Übertragungsraten bewältigt werden. Darüber hinaus sind die Latenzzeiten, die zwischen \SI{1.7}{\micro\second} und \SI{4.9}{\micro\second} liegen, lediglich 1.5--\SI{2.5}{\micro\second} grö\ss er als die der Null-Latenz-Referenz, die jedoch die \textit{\acrshort{posix} shared memory} Programmierschnittstelle zur Datenübertragung nutzt. Da diese Schnittstelle nur genutzt werden kann als Kommunikation zwischen VILLASnode Instanzen auf dem gleichen Rechner, kann gefolgert werden, dass die InfiniBandschnittstelle die niedrigste Latenz der gegenwärtigen Rechner-Rechner Schnittstellen aufweist.

View File

@ -34,6 +34,7 @@
\RequirePackage{pgfplots} % use for printing diagrams
\RequirePackage{listings}
\RequirePackage{relsize}
\RequirePackage{enumitem}
%For German hyphenation in statement and admonition
\hyphenation{Vor-schrif-ten}
@ -50,17 +51,7 @@
\newcommand{\printsupervisors}{}
\newcommand{\printsecondreferees}{}
% ----- Abstract (german and english)
\addto\captionsgerman{%
\RenewDocumentCommand \abstractname {} {Kurzfassung}
\def\@keywordName{Stichw\"orter}
\def\@keywords{\@keywordsDE}
}
\addto\captionsngerman{%
\RenewDocumentCommand \abstractname {} {Kurzfassung}
\def\@keywordName{Stichw\"orter}
\def\@keywords{\@keywordsDE}
}
% ----- Abstract (english)
\addto\captionsenglish{%
\def\@keywordName{Keywords}
\def\@keywords{\@keywordsEN}
@ -86,24 +77,8 @@
\NewDocumentCommand \keywordsDE { m } {\def\@keywordsDE{#1}}
\NewDocumentCommand \keywordsEN { m } {\def\@keywordsEN{#1}}
\NewDocumentCommand \thesisType { m } {%
\ifstrequal{#1}{master}{%
\iflanguage{ngerman}{%
\def\@thesisType{Masterarbeit}
}{%
\def\@thesisType{Master Thesis}
}
\def\@thesisTypeDeclaration{Masterarbeit}
}{%
}
\ifstrequal{#1}{bachelor}{%
\iflanguage{ngerman}{%
\def\@thesisType{Bachelorarbeit}
}{%
\def\@thesisType{Bachelor Thesis}
}
\def\@thesisTypeDeclaration{Bachelorarbeit}
}{%
}
\def\@thesisType{Master Thesis}
}
\newtoggle{printSignatures}
\togglefalse{printSignatures}
@ -188,83 +163,81 @@
}
}
% ----- Statement of authorship
\NewDocumentCommand \statementOfAuthorship { } {%
\NewDocumentCommand \copyrightpage { } {%
\thispagestyle{empty}
%\vspace*{\stretch{2}}
\vspace*{9.0cm}
{\footnotesize
\@statement
\vspace{0.5cm}
\@datesignature \\
%\vspace{\stretch{1}}
\vspace{1cm}
\@admonition
\vspace{0.5cm}
\@datesignature
%\vspace{\stretch{1}}
}
\vspace*{-1.5cm}
}
\def\@statement{%
\subsection*{Eidesstattliche Versicherung}
Ich, \@author{} (Matrikelnummer \@matrNr{}), versichere hiermit an Eides Statt, dass ich die vorliegende \@thesisTypeDeclaration{} mit dem Titel
\begin{center}
\textit
\@titleDE
\end{center}
selbstständig und ohne unzulässige fremde Hilfe erbracht habe. Ich habe keine anderen als die angegebenen Quellen und Hilfsmittel benutzt. Für den Fall, dass die Arbeit zusätzlich auf einem Datenträger eingereicht wird, erkläre ich, dass die schriftliche und die elektronische Form vollständig übereinstimmen. Die Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
\noindent
The present's work \LaTeX{} source code, its images, all used datasets, and all scripts that were used to create graphs are publicly available on \url{https://git.dennispotter.eu/Dennis/masters-thesis}. The aforementioned Git repository also provides a compiled version of the present work.
\vspace*{0.5cm}
\begin{description}[leftmargin=2cm]
\item [\textbf{Author}] Dennis Potter \href{mailto:dennis@:dennispotter.eu}{\texttt{<dennis@dennispotter.eu>}}
\item [\textbf{Supervisors}] Lukas Razik \href{mailto:lrazik@eonerc.rwth-aachen.de}{\texttt{<lrazik@eonerc.rwth-aachen.de>}}\\
Steffen Vogel \href{mailto:svogel2@eonerc.rwth-aachen.de}{\texttt{<svogel2@eonerc.rwth-aachen.de>}}
\end{description}
\vspace*{0.5cm}
\noindent
Submitted to RWTH Aachen University on November 9, 2018.
\vspace*{0.5cm}
\subsection*{Copyright}
The present work is published under the
\begin{center}
\vspace*{-1mm}
\begin{minipage}{0.24\textwidth}
\end{minipage}
\begin{minipage}{0.025\textwidth}
\vspace{-0.75mm}
\includegraphics[width=4mm, keepaspectratio]{template/images/cc_logo.pdf}
\end{minipage}
\begin{minipage}{0.030\textwidth}
\vspace{-0.75mm}
\includegraphics[width=4mm, keepaspectratio]{template/images/cc_attribution.pdf}
\end{minipage}
\begin{minipage}{0.73\textwidth}
\textbf{Creative Commons Attribution 4.0 International (CC BY 4.0)}.
\end{minipage}\hfill
\end{center}
\vspace*{-1mm}
Below, a human-readable summary of (and not a substitute for) the license:
\begin{center}{\vspace*{1mm}\normalsize\textbf{You are free to:}}\end{center}\vspace*{-4mm}
\begin{description}
\item [\textbf{Share}] copy and redistribute the material in any medium or format;
\item [\textbf{Adapt}] remix, transform, and build upon the material for any purpose, even commercially.
\end{itemize}
\begin{center}\vspace*{1mm}{\normalsize\textbf{Under the following terms:}}\end{center}\vspace*{-4mm}
\begin{description}
\item [\textbf{Attribution}] You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
\item [\textbf{No additional restrictions}] You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
\end{description}
\vspace{.5cm}
}
\def\@admonition{%
\subsection*{Belehrung}
\subsubsection*{\smaller \S 156 StGB: Falsche Versicherung an Eides Statt}
{\smaller%
Wer vor einer zur Abnahme einer Versicherung an Eides Statt zuständigen Behörde eine solche Versicherung falsch abgibt oder unter Berufung auf eine solche Versicherung falsch aussagt, wird mit einer Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft.
}
\subsubsection*{\smaller \S 161 StGB: Fahrlässiger Falscheid; fahrlässige falsche Versicherung an Eides Statt}
{\smaller%
\begin{itemize}
\item[(1)] Wenn eine der in den \S\S{} 154 bis 156 bezeichneten Handlungen aus Fahrlässigkeit begangen worden ist, so tritt Freiheitsstrafe bis zu einem Jahr oder Geldstrafe ein.
\item[(2)] Straflosigkeit tritt ein, wenn der Täter die falsche Angabe rechtzeitig berichtigt. Die Vorschriften des \S 158 Abs. 2 und 3 gelten entsprechend.
\end{itemize}
Die vorstehende Belehrung habe ich zur Kenntnis genommen:
}
\vspace{.5cm}
}
% ----- Language dependent variables
\iflanguage{ngerman}{%
\def\@tpName{Titelseite}
\def\@tocName{Inhaltsverzeichnis}
\def\@mainTitle{\@titleDE}
\def\@subTitle{\@titleEN}
\def\@matrNrName{Matrikelnummer}
\def\@supervisorName{Betreuer}
\def\@secondRefereeName{Zweitgutachter}
\def\@firstExaminer{Erstprüfer}
\def\@secondExaminer{Zweitprüfer}
\def\@aachenDateName{Aachen, den \@submissionDate}
\def\@datesignature{\makebox[6cm]{\hrulefill} \hfill \makebox[7cm]{\hrulefill} \makebox[6cm]{Ort, Datum} \hfill \makebox[7cm]{Unterschrift}}
\def\@rwthAcsName{%
Diese Arbeit wurde vorgelegt an der\\
Rheinisch-Westf\"alischen Technischen Hochschule Aachen\\
Fakult\"at f\"ur Elektrotechnik und Informationstechnik\\
Lehrstuhl f\"ur Automation of Complex Power Systems\\
Univ.-Prof. Antonello Monti, Ph.\,D.
}
}{%
\renewcommand\lstlistlistingname{List of Listings}
%
\def\@tpName{Title Page}
\def\@tocName{Table of Contents}
\def\@mainTitle{\@titleEN}
\def\@subTitle{\@titleDE}
\def\@matrNrName{Matriculation Number}
\def\@supervisorName{Supervisors}
\def\@secondRefereeName{Second Referee}
@ -279,7 +252,6 @@
Institute for Automation of Complex Power Systems\\
Univ.-Prof. Antonello Monti, Ph.\,D.
}
}
\input{template/titlepage}
@ -294,7 +266,7 @@
\pdfbookmark[0]{Title Page}{title}
\maketitle
\cleardoublepage
\statementOfAuthorship
\copyrightpage
\cleardoublepage
\phantomsection\pdfbookmark{\abstractname}{abstract}
\input{abstract}

View File

@ -1,27 +1,13 @@
\title{Implementation and Analysis of an\\ InfiniBand based Communication in a Real-Time Co-Simulation Framework}
\titleDE{Implementierung und Analyse einer auf\\ InfiniBand basierten Kommunikation in einem Echtzeit Co-Simulationsframework}
\thesisType{master} % 'bachelor' or 'master'
\author{Dennis Potter}
\matrNr{315248}
\submissionDate{\today}
\keywordsDE{InfiniBand, Co-Simulation, RDMA, Echtzeit, VILLASframework, VILLASnode, OFED, OpenFabrics, HPC}
\keywordsEN{InfiniBand, co-simulation, RDMA, real-time, VILLASframework, VILLASnode, OFED, OpenFabrics, HPC}
\printSignatures % print signatures
%\printSignatures % print signatures
% on title page for
% the registration
\addsupervisor{Lukas Razik} % Supervisor
\addsupervisor{Steffen Vogel} % Second supervisor
% In case of a second referee
%\addsecondreferee{Dr.\,rer.\,nat. Unknown} % Second referee
% In case of more than one intitute (e.g., external thesis)
%\addinstitute{acs}{Institute for Automation of Complex Power Systems}{(')}
%\addinstitute{osl}{Open Systems Laboratory, Indiana University}{(*)}
%\addsupervisor[acs]{Univ.-Prof. Dr. Antonello Monti}
%\addsupervisor[osl]{Dipl.-Ing. Mark Musterassi} % Betreuer
%\addsecondreferee{Dr.\,rer.\,nat. Unknown} % Zweitgutachter