LFBS Home Lehrstuhl für Betriebssysteme RWTH
Disclaimer/
Haftungsausschluss
Webmaster
(admin@lfbs...)
Home > Bachelor- / Masterarbeiten > Aktuelle Studienarbeiten > CellUPC  

CellUPC - Runtime Environment für eine UPC Portierung auf den Cell Prozessor

Der Lehrstuhl für Betriebssysteme (Univ.-Prof. Dr. habil. Th. Bemmerl) vergibt folgende Diplomarbeit aus dem Bereich
Parallelrechner / heterogene Multicore-Architekturen:

CellUPC - Runtime Environment für eine UPC Portierung auf den Cell Prozessor



(Bild stammt von IBM)

Hintergrund

Unified Parallel C (UPC) ist ein Dialekt der Programmiersprache C für parallele Rechner-Architekturen, also für Muticore- ebenso wie für Cluster-Systeme. UPC gehört zur Sprachfamilie der Global-Address-Space-Sprachen und ermöglicht dem Programmierer den Zugriff auf einen virtuellen gemeinsamen Adressraum seiner verteilten Anwendung. Die Anwendung wird in sogenannte UPC-Threads aufgeteilt, die auf den Cores oder den Knoten des Systems ausgeführt werden. UPC ermöglicht in einem Cluster transparenten Zugriff auch auf gemeinsame Daten, die auf einem anderen Knoten abgelegt sind.

UPC wird für verschiedene Plattformen angeboten, angefangen bei Ethernet-vernetzten Workstation-Clustern bis hin zu High-Performance-Architekturen wie Cray X1 oder IBM Blue Gene. Am Lehrstuhl für Betriebssysteme wird eine Version für die Cell Broadband Engine entwickelt.

Die Cell Broadband Engine Architektur wurde ursprünglich von Sony, Toshiba und IBM für den Einsatz in Multimedia-Geräten entwickelt. Der Cell Prozessor ist eine Implementierung dieser Architektur und findet auch Verwendung im Bereich des High Performance Computing. Er besitzt neben einem PowerPC-Rechenkern, dem Power Processor Element (PPE), derzeit bis zu acht Vektoreinheiten, die Synergistic Processor Elemente (SPEs). Diese SPEs haben keinen direkten Zugriff auf den gemeinsamen Hauptspeicher, sondern müssen Daten explizit über DMA-Befehle vom Hauptspeicher in ihren lokalen Speicher (LS) übertragen.

Um UPC auf einem Cell-System einsetzen zu können, werden ein Übersetzer von UPC nach C (UPC-to-C Translator) und eine Laufzeitumgebung benötigt. Die Laufzeitumgebung ist dafür zuständig, die Zugriffe auf gemeinsame Daten abzuwickeln. Der UPC-Translator muss Zugriffe auf gemeinsame Daten in Aufrufe der Laufzeitumgebung abbilden.

Aufgabenstellung

  • Entwurf einer UPC-Laufzeitumgebung für den Cell Prozessor
  • Implementierung der Laufzeitumgebung und Definition der Translator-Schnittstelle

Ziele der Arbeit

Im Rahmen dieser Arbeit soll eine UPC-Laufzeitumgebung für den Cell Prozessor entwickelt werden. Dabei muss die besondere Architektur des Cell Prozessors berücksichtigt werden. Neben der Implementierung der Laufzeitumgebung muss eine Schnittstelle für einen UPC-to-C Translator definiert werden, um die Erweiterung des Systems zu einem vollständigen UPC-Umgebung zu ermöglichen.

Das bieten wir

  • angenehmes Arbeitsumfeld sowie eine gut ausgestattete Rechner-Infrastruktur
  • persönliche und engagierte Betreuung
  • direkten Zugriff auf die Hardware der Zielplattform (Cell-Blade-Systeme von IBM)

Anforderungsprofil

  • abgeschlossenes Vordiplom der Elektro- und Informationstechnik oder (Technischen) Informatik
  • grundlegendes Wissen im Bereich der systemnahen Programmierung
  • Kenntnisse in der Programmiersprache C
  • Fähigkeit zum selbständigen und kreativen Arbeiten

Kontakt

Ruben Niederhagen
Lehrstuhl für Betriebssysteme (LfBS), RWTH Aachen
Modulbau Kopernikusstraße, 52074 Aachen
Tel.: +49 241 80 27699
E-Mail: ruben@lfbs.rwth-aachen.de

Print Version