19402113
Praxisseminar
SoSe 15: Projektmanagement im Softwarebereich (Verteiltes Rechnen und Parallelprogrammierung)
Tim Conrad
Kommentar
Inhalt In diesem Praktikum mit Begleitseminar werden die Techniken des verteilten Rechnens im GRID und der Parallelprogrammierung eingeführt und in Projekten angewandt. In vielen Bereichen der Bioinformatik (und auch anderen angewandten Lebenswissenschaften) stoßen herkömmliche Algorithmen an Ihre Grenzen, wenn die zu verarbeitende Datenmenge eine gewisse Größe erreicht. Dies ist sehr oft der Fall, wenn die Daten moderner biologischer Experimente analysiert werden sollen, deren Größe sich über die letzten Jahre vervielfacht haben. Ein oft benutzter Ausweg ist das Aufteilen der Datensätze in mehrere kleine Pakete, die dann auf verschiedenen Rechnern getrennt berechnet werden - solche Rechnernetze werden oft als Cluster oder Grid bezeichnet. Die Ergebnisse fügt man dann in einem abschließenden Schritt wieder zu einem Gesamtergebnis zusammen. Lässt sich das Ursprungsproblem nicht in unabhängige Teilprobleme aufteilen, kommen meistens Multiprozessorsysteme zum Einsatz, bei denen Techniken der Parallelprogrammierung zum Einsatz kommen. Anhand vorhandener (open-source) Softwareframeworks und vorhandener Hardware (PC-Cluster mit 30x8 Kernen + weitere ca. 50 grid Knoten, Sonys Playstation 3 mit Cell/BE Prozessor, Grafikkarte mit 128 Kernen) sollen Algorithmen aus der Bioinformatik ausgesucht und für das Zielsystem (Grid oder Multiprozessorsystem) programmiert werden. Das Praktikum ist so gestaltet, dass es bis Ende Mai abgeschlossen werden kann, damit die Teilnehmer noch ausreichend Zeit für die Anfertigung ihrer Bachelorarbeit haben. Das Begleitseminar findet als Blockkurs statt und muss von allen Teilnehmern des Praktikums belegt werden. Diese Veranstaltung richtet sich an Bachelor oder Master Studierende der Bioinformatik. Die Projekte können als Bachelor- oder Masterarbeiten weitergeführt werden. Zielgruppe Bachelor und Master Studierende ab dem 5. Semester Voraussetzungen Gute Kenntnisse in Java oder C/C++ Schließen