Design und Implementierung eines Kommunikationspaketes für Jackal

BearbeiterIn:Frank Tröger
Titel:Design und Implementierung eines Kommunikationspaketes für Jackal
Typ:Diplomarbeit
Betreuer:Klemm, M.; Veldema, R.; Philippsen, M.
Status:abgeschlossen am 3. Januar 2005
Vorausetzungen:

Jackal ist eine Implementierung eines Software-DSM-Systems (DSM=Distributed Shared Memory). Ein DSM-System simuliert auf dem verteilten Speicher eines Clusters einen gemeinsamen Adressraum. Damit erscheint der Cluster als eine Art von Multi-Prozessorsystem mit einem gemeinsamen Speichersubsystem.

In einem Software-DSM spielt das Kommunikationssystem eine zentrale Rolle, da dies den wichtigsten Faktor für die Leistungsfähigkeit des Gesamtsystems darstellt.

Die aktuelle Jackal-Implementierung verwendet zur Kommunikation verschiedene Ansätze, die alle auf schnelle Kommunikationsmedien, wie sie in nah gekoppelten Clustern verfügbar sind, ausgelegt sind.

Thema:

Ziel der Arbeit ist die Implementierung eines Kommunikationspaketes, welches sowohl für schnelle Intra-Cluster-Kommunikation (bspw. über Myrinet oder InfiniBand) als auch langsame (hohe Latenz und geringe Bandbreite) Inter-Cluster-Verbindungen, wie sie in Computational Grids auftreten, optimiert ist.

Im Rahmen der Arbeit ist eine modulare Schnittstelle zu entwerfen, welche eine Vielzahl von verfügbaren Netzwerktypen und -topologien kapselt. Die Dynamik eines Computational Grids muss Beachtung finden, d.h. das Hinzufügen und Entfernen von Knoten zur Laufzeit muss unterstützt werden.

Anforderungen an die Implementierung des Kommunikationssystems:

  • Geringer Laufzeit-Overhead
  • Kommunikationsprimitive mit Unterstützung für Streaming
  • Unterstützung von 3 Architekturen (IA32, IA64 und AMD64)
  • Kommunikation über Firewall-Grenzen hinweg
  • Fehlertolerant (dynamische Prozessgruppen)
  • Kommunikationseffizienz (Benutzung des schnellsten, verfügbaren - Mediums)
  • Unterstützung für synchrone und asynchrone Kommunikation
  • Modularer Aufbau (Unterstützung für TCP/IP, InfiniBand bzw. Myrinet)
  • Hierarchische Kommunikation

Wichtiger Bestandteil der Arbeit ist die Messung der durch Einführung der Kommunikationsschicht entstehenden zusätzlichen Latenz durch Software-Overhead. Der Overhead, der durch das Kommunikationspaket entsteht soll minimiert werden, so dass die Kommunikation möglichst zeitsparend erfolgen kann. Vergleichsmessungen mit MPICH über TCP/IP und der direkten Kommunikation über Myrinet bzw. InfiniBand soll zeigen, welcher Overhead durch Einführung der zusätzlichen Schnittstelle zu erwarten ist.

Optionale Teile der Arbeit sind:

  • Verzögerung von Nachrichten (Message Aggregation)
  • Datenkompression (Message Compression)
watermark seal