Fachbereich Mathematik und Informatik

nothing
Suchen
Home
Mitarbeiter
Lehre
/pvs/wwustyles/wwupics/bullet_orga.gif
SS13
/pvs/wwustyles/wwupics/bullet_orga.gif
WS12/13
/pvs/wwustyles/wwupics/bullet_orga.gif
SS12
/pvs/wwustyles/wwupics/bullet_orga.gif
WS11/12
/pvs/wwustyles/wwupics/bullet_orga.gif
SS11
/pvs/wwustyles/wwupics/bullet_orga.gif
WS10/11
/pvs/wwustyles/wwupics/bullet_orga.gif
SS10
/pvs/wwustyles/wwupics/bullet_orga.gif
WS09/10
/pvs/wwustyles/wwupics/bullet_orga.gif
SS09
/pvs/wwustyles/wwupics/bullet_orga.gif
WS08/09
Forschung
Abschlussarbeiten
Publikationen
Stellenangebote
Intern
Startseite Mathematik und Informatik
Startseite
Universität Münster

Impressum

!!! Archivierte Webinhalte. Unseren aktuellen Auftritt finden sie unter:


http://www.uni-muenster.de/PVS!!!

Seminar: Heterogene parallele Systeme

(Belegnummer 103839)

Aktuell
02.01.2013
Terminänderung: Die Abschlussvorträge beginnen am 11.01.2013 um 11 Uhr c.t.
Inhalt

Die Verbindung mehrerer Recheneinheiten auf einem Chip (Multicore-Prozessoren) ist zum Standard moderner Prozessoren geworden. Außerdem haben sich Grafikprozessoren (Graphics Processing Units, GPUs) als generische Co-Prozessoren etabliert. Moderne Computer Systeme bestehen zunehmend aus einer Kombination dieser paralleler Prozessoren. Derartige heterogene Systeme erfordern innovative Maßnahmen zu ihrer effizienten Programmierung. Die großen Fortschritte moderner Prozessoren in unterschiedlichen Bereichen führen zu einer gegenseitigen Beeinflussung: GPUs werden zunehmend um Eigenschaften von CPUs erweitert, z.B. Cache-Speicher, während Multicore-CPUs mit GPUs auf einen Chip integriert, oder gar große Gruppen klassischer CPUs wie in einer GPU zusammen geschaltet werden. Die so gesteigerte Komplexität und teilweise Spezialisierung der Prozessoren erschwert jedoch ihre Programmierung. Das Verhalten einer Anwendung auf diesen Prozessoren lässt sich schwerer vorhersagen und eine effiziente Verteilung von Berechnungen und Daten in diesen Prozessoren erfordert komplexe Verfahren. In diesem Seminar werden moderne Architekturen und Verfahren zu ihrer Leistungsbewertung, sowie Verfahren zur optimierten Ausführung von Programmen in heterogenen Systemen vorgestellt.

Zeit und Ort
Vorstellung: Freitag, 06.07.2012, 10 Uhr c.t. in SR 7, Einsteinstr. 62
Vorträge: Freitag, 11.01.2013, ab 11 Uhr c.t. in SR 7, Einsteinstr. 62
Voraussetzungen Vordiplom oder
Bachelor - Informatik
Anmeldung Anmeldung bei der Vorbesprechung oder per Mail an  Philipp Kegel bis zum 08.07.2012. Es stehen 6 Plätze zur Verfügung.
Zuordnung Master Informatik
Master Geoinformatics
Diplom Informatik - Hauptstudium
Diplom Mathematik, Nebenfach Informatik - Hauptstudium
Diplom Geoinformatik - Hauptstudium
Bemerkung -
Veranstalter  Prof. Sergei Gorlatch,
 Philipp Kegel,
 Sebastian Albers

Themen

Intel MIC-Architektur

Die MIC-Architektur (Many Integrated Cores) ist eine neue Prozessorarchitektur von Intel, die zahlreiche x86-Prozessoren auf einem Chip zuschaltet und dadurch mehr als 1 TFLOP Rechenleistung bereitstellt. Die zuvor unter dem Namen Knights Ferry und Knights Corner entwickelten Beschleuniger Karten sollen noch in diesem Jahr unter dem Name Xeon Phi erhältlich sein.

In diesen Seminar soll die MIC-Architektur und ihre Integration und Programmierung in aktuelle Rechnersysteme vorgestellt werden. Dabei sollen auch Informationen vom Hersteller selbst beschafft werden.

Weitere Informationen (Erste Quellenauswahl)

NVIDIA Kepler-Architektur

Die NVIDA Kepler Compute Architecture ist die nächste Entwicklungsstufe der GPUs von NVIDIA. Gegenüber seinem Vorgänger Fermi bietet diese Architektur zahlreiche neue Eigenschaften, wie z.B. eine dynamische Threaderzeugung, und soll so zu einer bis dreifachen Leistungssteigerung gegenüber seinem Vorgänger ermöglichen.

In dieser Seminararbeit sollen die neuen Eigenschaften dieser Architektur und ihre Vorteile gegenüber Fermi vorgestellt werden. Außerdem soll gezeigt werden wie Funktionen der Kepler-Architektur in der Programmierung mit CUDA genutzt werden können.

Weitere Informationen (Erste Quellenauswahl)

FPGAs und ihre Programmierung mit OpenCL

Ein Field Programmable Gate Array (FPGA) ist ein integrierter Schaltkreis, mit dem logische Schaltungen implementiert werden können. Anders als bei der gewöhnlichen Programmierung, beschreibt das Programm eines FPGA dessen Schaltung und damit dessen Funktion. FPGA eignen sich besonders um hochspezialisierte Schaltkreise zu bauen, die eine gewünschte Funktion dann besonders schnell ausführen. Zurzeit wird versucht FPGAs, ebenso wie GPU oder andere Beschleuniger mittels OpenCL zu programmieren, um so den Entwicklungsaufwand zu reduzieren.

In dieser Seminararbeit soll zum einen die Funktionsweise und klassische Programmierung von FPGAs vorgestellt werden. Darüber hinaus soll der aktuelle Stand der Programmierung dieser Geräte mit OpenCL untersucht und bewertet werden.

Weitere Informationen (Erste Quellenauswahl)
  • Jaääskeläinen, P.O. (2010): OpenCL-based design methodology for application-specific processors, Embedded Computer Systems (SAMOS), 2010 International Conference on, IEEE
  • Altera - OpenCL

Performance-Modelle für heterogene Systeme

Um ein heterogenes System auszulasten ist eine gute Verteilung von Daten und Berechnungen auf die unterschiedlichen Prozessoren nötig. Wird eine schlechte Verteilung gewählt, so warten einige Prozessoren während andere Prozessoren noch Berechnungen ausführen.
Um dieses Problem zu lösen werden Performance-Modelle entwickelt, welche die Performance der einzelnen Komponenten eines heterogenen Systems bewerten und in Relation zueinander stellen.

Diese Seminararbeit soll Einblicke in Performance-Modelle für heterogene Systeme geben. Insbesondere soll diskutiert werden, wie die theoretischen Performance-Modelle Anwendung in realen heterogenen Systemen finden.

Weitere Informationen (Erste Quellenauswahl)
  • A. Lastovetsky and R. Reddy, Data Partitioning with a Functional Performance Model of Heterogeneous Processors
  • R. Higgins, Modelling the Performance of Processors in Heterogeneous Computing Environments

Autotuning

Performance und Portabilität sind traditionell Gegensätze. Höchste Performance wird durch spezielle Anpassungen des Programms an eine konkrete Hardwarearchitektur erreicht, was die Portabilität des Programms erschwert, oder unmöglich macht.
Autotuning versucht diesem Gegensatz zu begegnen. In Programmen angewandte Optimierungen werden parametrisiert, so dass sie flexibel für verschiedene Hardwarearchitekturen funktionieren. Aufgabe des Autotunings ist es nun den geeigneten Parameter für eine gegebene Hardwarearchitektur zu finden und so das Programm für die spezielle Hardwarearchitektur zu optimieren.

Diese Seminararbeit soll das Konzept des Autotunings vorstellen. Es sollen Vor- und Nachteile des Autotunings diskutiert werden. Möglichst sollen praktische Erfahrungen, z. B. mit dem Autotuning Tool von Intel, gemacht und präsentiert werden.

Weitere Informationen (Erste Quellenauswahl)
  • J. Demmel et. al., Self Adapting Linear Algebra Algorithms and Software
  • A. Collins, C. Fensch, and, H. Leather, Auto-Tuning Parallel Skeletons
  • Intel Software Autotuning Tool

Verteilung von Daten und Brechungen in heterogenen Systemen

Um Daten und Berechnungen in heterogenen Systemen zu verteilen gibt es verschiedene Ansätze. Grundsätzlich kann man zwischen statischer Verteilung, welche eine Entscheidung über eine gute Verteilung vor Ausführung der Brechung trifft, und dynamischer Verteilung, welche die Entscheidung zur Ausführungszeit der Berechnung trifft, unterscheiden.

Diese Seminararbeit soll statische und dynamische Ansätze zur Verteilung von Daten und Brechungen in heterogenen Systemen präsentieren und vergleichen. Vor- und Nachteile der Unterschiedlichen Ansätze sollen präsentiert und diskutiert werden.

Weitere Informationen (Erste Quellenauswahl)
  • D. Grewe and M. O'Boyle, A Static Task Partitioning Approach for Heterogeneous Systems Using OpenCL
  • C. Gregg et. al., Dynamic Heterogeneous Scheduling Decisions Using Historical Runtime Data

Fristen und Termine
Vorstellung des Seminars:06.07.2012, 10 Uhr c.t., Raum SR7
Themenvergabe:bis 09.07.2012
Einarbeitung
(Gliederung, Quellenübersicht):
28.09.2012
Konzeption (Entwurf) der Ausarbeitung:02.11.2012
Fertigstellung der Ausarbeitung,
Konzeption (Entwurf) des Vortrags:
30.11.2012
Fertigstellung des Vortrags:21.12.2012
Vortrag:11.01.2013, 11 Uhr c.t., Raum SR7

Unterlagen

Hinweise zu Vortrag und Ausarbeitung
  • Die Ausarbeitung sollte einen Umfang von etwa 12-15 Seiten haben.
  • Es wird ausdrücklich empfohlen die Ausarbeitung mit LaTeX zu erstellen, da die Qualität der meisten anderen üblichen Textverarbeitungsprogramme sehr zu wünschen übrig lässt. Wem LaTeX zu kompliziert ist, kann eine IDE wie z.B. Kile oder TecNicCenter verwenden.
  • Der Vortrag darf maximal 25 Minuten + 5 Minuten Fragen dauern.

Weitere Informationen
:: Seitenanfang

Seitenanfang

zurückblättern

Diese Seite:  :: Seite drucken   :: Seite empfehlen  :: Seite kommentieren

© 2011 FB 10 Mathematik und Informatik

© 2007 FB 10 Mathematik und Informatik der Universität Münster
Einsteinstrasse 62 · 48149 Münster
Tel.: +49 251 83-3 27 40 · Fax: +49 251 83-3 27 42
E-Mail: pvsteam@math.uni-muenster.de