Projektgruppe: High Performance Network Simulation
Veranstaltung:
- Verantwortlich: Prof. Dr. Peter Martini, Patrick Peschlow
- Zeiten: siehe Beschreibung
- Veranstaltungsnummer: 612000063
Weitere Informationen:
- Studienabschnitt: Bachelor Informatik
- Voraussetzungen: Systemnahe Programmierung; Java-Kenntnisse
- Fachbereich: BA-INF 051
- Aufwand: 2.0 S + 4.0 P / 10.0 CP
Motivation:
In den letzten Jahren erobern Multiprozessor- und Multikernsysteme zunehmend den Markt. Entsprechend steigen auch die Anforderungen an Software (und an die Programmierer). Es ist abzusehen, dass sich diejenigen Anwendungen durchsetzen werden, die von der parallelen Rechenpower profitieren können, d.h., intern z.B. durch Multithreading Berechnungen auf mehreren Kernen ausführen und dadurch schneller sind. Um dies zu erreichen, müssen jedoch kritische Herausforderungen wie Synchronisation, Partitionierung und Lastausgleich geschickt gelöst werden.
In der Projektgruppe werden wir uns dem parallelen Rechnen in einer besonders anspruchsvollen Domäne widmen, nämlich der parallelen Netzwerksimulation mobiler Funknetze. Hier ist es nicht möglich, das Programm einfach in verschiedene unabhängige Komponenten aufzuteilen und diese ohne Interaktion parallel zu berechnen. Ganz im Gegenteil: Durch den Funkverkehr können sich die Netzteilnehmer prinzipiell beliebig beeinflussen, so dass eine fortwährende Kommunkation und Synchronisation zwischen den parallelen Berechnungen nötig ist. Ebenfalls ist nicht gesagt, dass alle Rechenkerne immer gleich viel zu tun haben, so dass sie sich ggf. gegenseitig ausbremsen können. Es kann durchaus passieren, dass - je nach simuliertem Netzwerk - eine Simulation auf vier oder acht Rechenkernen plötzlich sogar langsamer ist als eime sequentielle Simulation auf nur einem Rechenkern.
Konkret werden wir uns mit verschiedenen Verfahren zur Synchronisation parallel arbeitender Threads beschäftigen und diese in einem Java-basierten Netzwerksimulator implementieren. Die Skalierbarkeit der Verfahren werden wir auf einem 16-Kern-Server (der eigens für diese Projektgruppe beschafft wurde) testen, miteinander vergleichen und am Ende den "Sieger" küren.
Geplanter Ablauf:
bis Ende April 2009 | Anmeldung per E-Mail an peschlow AT cs.uni-bonn.de |
Anfang Mai 2009 | erstes Treffen und Verteilung der Seminar-Themen |
Mitte Juni 2009 | Abgabe der Seminarausarbeitung |
Anfang August 2009 | Blockseminar (1 Tag) |
August/September 2009 | Blockpraktikum (4 Wochen Vollzeit) |
Mitte Oktober 2009 | Abschluss-Workshop |