Digitale Bildverarbeitung auf Cell-Prozessoren
- Art: Diplomarbeit
- Autor: Philipp Brüll
- Abgabedatum: Juli 2008
- Umfang: 57 Seiten
- Dateigröße: 1,8 MB
- Note: 1,0
- Institution / Hochschule: Technische Universität Berlin Deutschland
- Bibliografie: ca. 18
- ISBN (eBook): 978-3-8366-1707-9
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Brüll, Philipp Juli 2008: Digitale Bildverarbeitung auf Cell-Prozessoren, Hamburg: Diplomica Verlag
- Schlagworte: Bildverarbeitung, Parallel Computing, Cell, Faltung, FFT
38,00 €
PDF-eBook Download: 38,00 €
Diplomarbeit von Philipp Brüll
Einleitung:
Betrachtet man die Entwicklung der Prozessoren in den letzten drei Jahrzehnten, so stellt man fest, dass sich deren Leistung beachtlich gesteigert hat. Die moderne Auslegung des Mooreschen Gesetzes, nach der sich die Anzahl der Transistoren eines Prozessors alle 18 Monate verdoppelt, ist bis heute gültig. Die damit einhergehende Verkleinerung der Transistoren bringt diverse Vorteile mit sich. Verkleinert man einen Transistor, so verringert sich dessen Stromverbrauch, und es kann mit einer geringeren Spannung gearbeitet werden. Des weiteren verringert sich seine Schaltzeit, was eine höhere Betriebsfrequenz des gesamten Schaltnetzes mit sich bringt. Allerdings führt diese Miniaturisierung auch zu einigen Problemen. Durch die hohe Anzahl von Transistoren pro Fläche wird es zunehmend schwieriger, die entstehende Wärme abzuleiten. Außerdem treten bei Schaltnetzen im kleinen Maßstab Leckströme und ungewollte Tunneleffekte auf. Aus diesen Gründen ist ein Ende dieser Steigerung zu erwarten, da die Miniaturisierung der Transistoren über kurz oder lang an diese physikalischen Grenzen stoßen wird. Die Entwicklungspläne der Prozessorenhersteller werden die Einhaltung des Mooreschen Gesetzes noch eine ganze Zeit lang sicherstellen.
Es ist aber natürlich sinnvoll, sich schon wesentlich früher über Alternativen zur Leistungssteigerung Gedanken zu machen. Aus diesem Grund verfolgt man schon seit längerem das Konzept der Parallelisierung. Es soll dazu beitragen, den Bedarf an Rechenleistung auch weiterhin decken zu können. Die Idee ist sowohl nahe liegend als auch simpel. Man teilt das zu lösende Problem in Teilprobleme auf und verteilt diese system-intern oder über ein Netzwerk an mehrere eigenständige Prozessoren, die dann gleichzeitig die Teillösungen berechnen. Die Teillösungen werden dann wieder zu einer Gesamtlösung zusammen gesetzt. Im Idealfall ist die resultierende Rechenleistung gleich der Summe der Rechenleistung der eingesetzten Prozessoren. Dieses Konzept des parallelen Rechnens findet seit langem bei Supercomputern und Rechenzentren Anwendung. Der Massenmarkt der ‘Consumer-PCs’ bot bis vor kurzem allerdings ausschließlich Computer mit Singlecore-Prozessoren.
Seit im Januar 2006 die Hersteller AMD und Intel die ersten Dualcore-Prozessoren auf den Markt brachten, hat sich dies geändert. Damit einhergehend wurden Multicore-Prozessoren in großen Stückzahlen gefertigt, was deren Preis stark sinken ließ. Diese Diplomarbeit steht im Zusammenhang mit dem Projekt 3D Rekonstruktion mittels Trifokalsensor. Bei diesem Projekt werden für die 3D Rekonstruktion drei hochauflösende Kameras als Datenquelle verwendet. Diese erzeugen sehr große Datenmengen, auf denen dann zum Teil recht komplexe Operationen ausgeführt werden. Führt man diese auf herkömmlichen Prozessoren aus, kann das – auf Grund der großen Datenmenge – sehr viel Zeit in Anspruch nehmen.
Nun gibt es bereits verschiedene Ansätze, die Arbeit zu beschleunigen. Als erstes Mittel der Wahl bietet es natürlich an, den Algorithmus, mit dem die Berechnung ausgeführt wird, zu optimieren. Hat man dabei das Maximum erreicht, bleibt als nächstes, die Hardware zu verbessern. Eine Möglichkeit ist hier der Einsatz einer GPU (Graphics Processing Unit). Dabei handelt es sich um einen auf 2D- und 3D-Grafik spezialisierten Prozessor, der auf jeder modernen Grafikkarte zu finden ist. Eigentlich sind diese GPUs für die Darstellung eines 3D-Modells auf einem 2D-Bild (dem Monitor) ausgelegt, allerdings lässt sich auch eine Untermenge von deren bereitgestellten Funktionen für die 3D-Rekonstruktion nutzen. Es gibt bereits einige Projekte im Bereich Computer Vision, die diesen Ansatz verfolgen. Ein Nachteil dabei ist allerdings, dass man zwar gegen über einer herkömmlichen CPU eine deutliche Beschleunigung erreicht, es sich aber bei den meisten Ansätzen weiterhin um Singlecore-Lösungen handelt, die über kurz oder lang an die oben genannten Grenzen stoßen werden.
So entstand die Idee, die Berechnungen des Projektes zu parallelisieren und auf einem Multicore-System berechnen zu lassen. Der Cell-Prozessor ist so ein Multicore-Prozessor, der dazu noch in der PlayStation 3 verbaut und damit kostengünstig verfügbar ist. Er besitzt ein heterogenes Design mit insgesamt neun Kernen. Für den Einsatz im Bereich Computer Vision ist er sehr interessant, da er eine sehr hohe Rechenleistung bietet und acht der neun Kerne sogenannte Vektor-Prozessoren sind. Diese sind speziell für Operationen mit Vektoren und Matrizen ausgelegt. Sie arbeiten nach dem SIMD (Single Instruction Multiple Data)-Prinzip[10] und können damit pro Rechenoperation mehrere Werte (z.B. einen ganzen Vektor) miteinander verrechnen. Die Leistung des Prozessors bei optimaler Ausnutzung wird vom Hersteller mit über 200 GFlop/s (Floating-point operations per second) angegeben. Das ist gerade mal ‘nur’ um den Faktor 2391 langsamer als der derzeit (Stand November 2007) schnellste Computer der Welt BlueGene/L. Wirklich interessant wird dieser Vergleich allerdings erst, wenn man den Preis pro GFlop betrachtet. Legt man den derzeitigen (Stand März 2008) Preis von 400 Euro zu Grunde, so kommt man auf ca. 2 Euro pro GFlop. Verglichen mit dem derzeit zweit schnellsten Supercomputer JUGENE vom Forschungszentrum Jülich, der bei einer peak-Leistung von 222822 GFlop/s[18] mindestens 13 Millionen Euro gekostet hat (also 58 Euro pro GFlop), ist das relativ günstig. Natürlich ist zu bedenken, dass bei einem Zusammenschluss von entsprechend vielen PlayStation 3 zusätzliche Kosten anfallen würden.
Ziel dieser Diplomarbeit ist es, auf Basis der PlayStation 3 ein kostengünstiges System zu entwickeln, mit dem sich die aufwendigen Berechnungen des Computer Vision Projektes relativ schnell durchführen lassen. Im ersten Kapitel dieser Arbeit soll nun die Architektur und Leistung des Cell-Prozessors untersucht werden. Dabei werden Möglichkeiten und Grenzen des Prozessors deutlich, und es können Hinweise für eine optimale Architektur der Software abgeleitet werden. Im zweiten Kapitel werden dann die zu implementierenden Operationen auf ihre Parallelisierbarkeit hin untersucht. Anhand von Faltung und Fourier Transformation wird aufgezeigt, welche Mehraufwendungen für eine parallele Berechnung gemacht werden müssen. Im Kapitel drei werden dann Aufbau und Funktionsweise der Software genauer erklärt sowie bei der Entwicklung aufgetretene Probleme erläutert. Anschließend werden dann im Experiment Messungen zur Laufzeitgeschwindigkeit der Software gemacht. Im letzten Kapitel geht es dann um die experimentellen Ergebnisse. Außerdem werden die daraus gezogenen Schlüsse erläutert. Abschließend folgt eine Zusammenfassung und ein Ausblick, in dem eine mögliche Weiterentwicklung des Systems skizziert wird.
Inhaltsverzeichnis:
| 1. | Einführung | 1 |
| 2. | Cell Prozessor | 4 |
| 2.1 | Architektur | 4 |
| 2.1.1 | Power Processing Element | 6 |
| 2.1.2 | Synergistic Processing Element | 7 |
| 2.1.3 | Element Interconnect Bus, Memory Interface Controller und Bus Interface Controller | 11 |
| 2.2 | Leistung | 13 |
| 3. | Digitale Bildverarbeitung | 14 |
| 3.1 | Faltung | 14 |
| 3.1.1 | Beispiel | 19 |
| 3.2 | Fast Fourier Transformation | 21 |
| 4. | Realisierung der Bildverarbeitungsoperationen | 25 |
| 4.1 | Betriebsumgebung | 25 |
| 4.1.1 | Betriebssystem | 25 |
| 4.1.2 | Verwendete Bibliotheken und Compiler | 26 |
| 4.2 | Architektur | 27 |
| 4.2.1 | Funktionsumfang | 27 |
| 4.2.2 | Verwaltung der SPUs | 29 |
| 4.2.3 | Puffer | 30 |
| 5. | Experimentelle Ergebnisse | 33 |
| 5.1 | Versuchsaufbau | 33 |
| 5.2 | Messergebnisse | 39 |
| 5.3 | Diskussion | 43 |
| 6. | Zusammenfassung | 47 |
| 7. | Ausblick | 49 |
| A | Interface | 51 |
| A.1 | Client | 52 |
| A.2 | Server | 57 |
| B | Literaturverzeichnis | 59 |
Gerne senden wir Ihnen auf Anfrage eine Textprobe per E-Mail zu. Bitte geben Sie hierbei die Bestellnummer 11.707 an und senden uns Ihre E-Mail an info(a)diplom.de.
38,00 €
PDF-eBook Download: 38,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783836617079
Arbeit zitieren:
Brüll, Philipp Juli 2008: Digitale Bildverarbeitung auf Cell-Prozessoren, Hamburg: Diplomica Verlag
Schlagworte:
Bildverarbeitung, Parallel Computing, Cell, Faltung, FFT



