docs/ps-bericht-ibm

diff das-projekt.tex @ 51:b5cb0aaf2286

some fixes; removed confidential tag
author meillo@marmaro.de
date Thu, 04 Sep 2008 11:14:39 +0200
parents f72c9230d988
children
line diff
     1.1 --- a/das-projekt.tex	Thu Sep 04 10:09:58 2008 +0200
     1.2 +++ b/das-projekt.tex	Thu Sep 04 11:14:39 2008 +0200
     1.3 @@ -18,7 +18,7 @@
     1.4  
     1.5  Ich war nun der vierte Student der am Projekt arbeitete. Einen Monat nach mit kam noch eine weitere Studentin hinzu.
     1.6  
     1.7 -Als der unser spanischer Teampartner im Juni seine Zeit im Projekt beendete, kam ein neuer Student hinzu. Dieser war von MIT in Cambridge. Es lässt sich also sagen, dass unser Projekt stark international geprägt var. Unsere Kommunikation war folglich größtenteils in Englisch.
     1.8 +Als unser spanischer Teampartner, mein Vorgänger, im Juni seine Zeit im Projekt beendete, kam ein neuer Student hinzu. Dieser war von MIT in Cambridge. Es lässt sich also sagen, dass unser Projekt stark international geprägt var. Unsere Kommunikation war folglich größtenteils in Englisch.
     1.9  
    1.10  
    1.11  \section{Zielsetzung}
    1.12 @@ -27,14 +27,14 @@
    1.13  
    1.14  Üblicherweise werden Roboter über Digitale Signalprozessoren (DSPs) gesteuert. Diese erfordern spezielle Fachkenntnisse in der Programmierung und jeder Roboter wird über einen eigenen DSP gesteuert. Mit Hilfe der Cell-Architektur soll eine Alternative geschaffen werden, die es ermöglicht auf einfache Weise Robotersteuerungen zu entwickeln. Als Werkzeuge sollen die Programmiersprache \emph{C} und das Betriebssystem \emph{GNU/Linux} zum Einsatz kommen, da diese vom Cell unterstützt werden und zudem in der Industrie bekannt sind.
    1.15  
    1.16 -Die Echtzeitfähigkeit die bisher für DSPs sprach kann mit dem Cell-Prozessor ebenso erreicht werden. Seine hohe Skalierbarkeit und die geringen Latenzen ermöglichen es dann sogar eine Vielzahl von Robotern, eventuell sogar ganze Fertigungsstraßen, mit nur einem Cell zu steuern.
    1.17 +Die Echtzeitfähigkeit die bisher für DSPs sprach kann mit dem Cell-Prozessor ebenso erreicht werden. Seine hohe Skalierbarkeit und die geringen Latenzen ermöglichen es dann sogar eine Vielzahl von Robotern, eventuell sogar ganze Fertigungsstraßen, mit nur einem Cell-Chip zu steuern.
    1.18  
    1.19  Dass dies realistische Vorstellungen sind, soll nun gezeigt werden, indem ein Showcase mit vier Robotern und einer visuellen Komponente an einem System erstellt wird.
    1.20  
    1.21  
    1.22  \section{Verwendete Technologie}
    1.23  
    1.24 -Unser Entwicklungssystem war ein angepasster IBM \emph{QS21} Cell/B.E. Blade-Server, welcher zwei Cell-Prozessoren mit je einem Gigabyte Arbeitsspeicher beherbergt. An diesem waren vier Lynx6-Roboterarme von Lynxmotion\footnote{Website: http://lynxmotion.com} angeschlossen, und außer dem noch eine \emph{mvBlueFOX} Kamera von \emph{Matrix Vision}\footnote{Website: http://matrix-vision.com}. Als Betriebsystem lief ein auf den Cell portiertes \emph{Fedora\ 7} GNU/Linux.
    1.25 +Unser Entwicklungssystem war ein angepasster IBM \emph{QS21} Cell/B.E. Blade-Server, welcher zwei Cell-Prozessoren mit je einem Gigabyte Arbeitsspeicher beherbergt. An diesem waren vier Lynx6-Roboterarme von Lynxmotion\footnote{Website: http://lynxmotion.com} angeschlossen, und außer dem noch eine \emph{mvBlueFOX} Kamera von \emph{Matrix Vision}\footnote{Website: http://matrix-vision.com}. Als Betriebsystem lief die PowerPC-Version von \emph{Fedora\ 7} GNU/Linux mit einem angepassten Kernel.
    1.26  
    1.27  \begin{figure}[hbt]
    1.28  	\centering
    1.29 @@ -57,7 +57,7 @@
    1.30  	\label{fig:cellbe-chip}
    1.31  \end{figure}
    1.32  
    1.33 -Bei der Cell/B.E. handelt es sich um eine heterogene Multicore-Architektur. Das bedeutet, dass der Prozessor aus mehreren Kernen besteht, die (im Gegensatz zu den x86-Multicores aber) aus verschiedenen Kerntypen bestehen. Der Cell verfügt über einen PowerPC-Kern (PPE/PPU) und acht sogenannten Synergistic Prozessor Elemente (SPE/SPU). Die PPE ist ein vollwertiger 64-bit PowerPC Kern. Er kann in herkömmlicher Weise verwendet werden, so kann darauf zum Beispiel ein Betriebsystem oder eine beliebige Anwendung laufen. Die SPEs dagegen sind für große Rechenleistung optimiert, Datentransfer-Operationen sind eher langsam.
    1.34 +Bei der Cell/B.E. handelt es sich um eine heterogene Multicore-Architektur. Das bedeutet, dass der Prozessor aus mehreren Kernen besteht, die (im Gegensatz zu den x86-Multicores aber) aus verschiedenen Kerntypen bestehen. Der Cell verfügt über einen PowerPC-Kern (PPE/PPU) und acht sogenannten Synergistic Prozessor Elemente (SPE/SPU). Die PPE ist ein vollwertiger 64-bit PowerPC Kern. Er kann in herkömmlicher Weise verwendet werden, so kann darauf zum Beispiel ein Betriebsystem oder eine beliebige Anwendung laufen. Die SPEs dagegen sind für große Rechenleistung optimiert, Datentransfer-Operationen sind bei ihnen eher langsam.
    1.35  
    1.36  \begin{figure}[hbt]
    1.37  	\centering
    1.38 @@ -90,7 +90,7 @@
    1.39  
    1.40  Der Cell ist ein sehr leistungsstarker Prozessor mit einer Maximalleistung von 230 GigaFLOPS\footnote{FLoating point Operations Per Second --- übliches Maß zum Vergleich von Prozessorleistung}.
    1.41  
    1.42 -Er wird momentan vor allem in Sonys \emph{Playstation 3} und IBM Blade-Servern verbaut. Aber auch in Supercomputern, wie dem \emph{IBM Roadrunner}, der am 9. Juni diesen Jahres als erster Rechner ein PetaFLOPS erreicht hat, wird er eingesetzt. Zudem plant die IBM ihn künftig in ihre Mainframes zu integrieren.
    1.43 +Er wird momentan vor allem in Sonys \emph{Playstation 3} und IBM Blade-Servern verbaut. Aber auch in Supercomputern, wie dem \emph{IBM Roadrunner}, der am 9. Juni diesen Jahres als erster Rechner mehr als ein PetaFLOPS erreicht hat, wird er eingesetzt. Zudem plant die IBM ihn künftig in ihre Mainframes zu integrieren.
    1.44  
    1.45  
    1.46  
    1.47 @@ -135,11 +135,11 @@
    1.48  
    1.49  Als ich meine Arbeit antrat waren folgende Dinge bereits vorhanden.
    1.50  \begin{itemize}
    1.51 -	\item Framework das die ganze low-level Kommunikation zwischen den SPEs regelt
    1.52 +	\item Framework das die low-level Kommunikation zwischen den SPEs regelt
    1.53  	\item Scheduler der die einzelnen Programmmodule verwaltet und die Echtzeiteinhaltung kontrolliert
    1.54  	\item Inverse Kinematik für den Roboterarm
    1.55  	\item Programme mit statischen Bewegungsanweisungen für den Roboter
    1.56 -	\item Einfache dynamische Bewegungen anhand von Gesichtserkennung mit OpenCV
    1.57 +	\item Einfache dynamische Bewegungen an Hand von Gesichtserkennung mit OpenCV
    1.58  \end{itemize}
    1.59  
    1.60  Die alten Arbeiten meiner Vorgänger waren abgeschlossen und mein Teampartner, der schon ein halbes Jahr bei IBM war und während dieser Zeit das Framework ausgearbeitet hatte, feilte daran nur noch herum. Somit fand mit mir eine Art Neubeginn statt.