UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 Lehr-
veranstaltungen
   Personen/
Einrichtungen
   Räume   Forschungs-
bericht
   Publi-
kationen
   Internat.
Kontakte
   Examens-
arbeiten
   Telefon &
E-Mail
 
 
 Darstellung
 
Druckansicht

 
 
Einrichtungen >> Technische Fakultät (TF) >> Department Informatik (INF) >> Lehrstuhl für Informatik 2 (Programmiersysteme) >>
Cluster Computing

Das Programmieren von Rechnerbündeln befindet sich derzeit noch in einer sehr maschinennahen Phase. Als besonders dringend erscheint die Behandlung der non-uniformen Speicherzugriffshierarchie, die in verteilten Systemen neben Registern, Cache und Hauptspeicher um eine weitere Leistungsebene vertieft ist. Wie im folgenden skizziert, erfordern gute Lösungen Arbeiten auf allen Systemschichten.

Betriebssysteminteraktion: Welche Leistungsengpässe bestehen und wie können diese beseitigt werden? Wie kann der Kommunikationskanal - auch durch das Betriebssystem hindurch - weiter verschlankt werden (sowohl für Methodenaufrufe, die in der Regel gute Latenzzeiten verlangen, als auch für Datenstromübertragungen, bei denen es auf hohe Bandbreite ankommt)?

Übersetzerunterstützung, Laufzeitsystem: Können verteilte Systeme der Tradition von Einprozessorsystemen folgend auch weiterhin mit der Illusion eines transparenten Zugriffs programmiert werden? Kann man durch statische Analyse nebenläufigen objekt-orientierten Codes Informationen über bestehende Lokalitätsbeziehungen extrahieren? Welche Optimierungen sind dann möglich? Profitieren statische Analyse und Laufzeitmechanismen voneinander? Wie können durch Programmanalyse Pre-Fetch- und Post-Store-Kommandos im generierten Code erzeugt werden, durch die Kommunikation und Berechnung überdeckt und dadurch Wartezeiten vermieden werden?

Programmiersprache, Systementwurf: Programmierer haben in der Regel das anwendungsspezifische Hintergrundwissen über bestehende Lokalitätszusammenhänge. Um guten Code zu erzeugen, muss der Übersetzer auch über dieses Wissen verfügen. Im Idealfall sollte der Übersetzer durch statische und dynamische Analyse in der Lage sein, das Wissen aus dem Programm-Code zu extrahieren - dies ist außer in datenparallelen Sprachen bisher leider kaum möglich. Der alternative Ansatz, besteht im Prinzip darin, dass der Programmierer sein Wissen explizit, z.B. mit Hilfe von leicht zu entdeckenden Pragmas, an den Übersetzer weitergibt. Offen ist, wie man diese Wissensweitergabe sinnvoll ausgestaltet. Sinnvoll bedeutet dabei erstens, dass es für den Programmierer bequem bleiben muss, und zweitens, dass das codierte/entdeckte Wissen aussagekräftig genug sein muss, um vom Übersetzer oder dem Laufzeitsystem effizienzsteigernd genutzt werden zu können.

Noch sehr schlecht verstanden ist generell, wie man verteilte Systeme von vorneherein so entwirft, dass Lokalität per Design vorhanden ist.

Im Jahr 2005 wurde an neuen Funktionen für den Lehrstuhl-eigenen Übersetzer entwickelt.

  • Ein verteiltes Sicherungsverfahren erlaubt es, eine im Rechnerbündel verteilt ausgeführte Applikation zu sichern und wiederherzustellen. Damit können Ausfälle eines Teils des Rechnerbündels abgefangen und der Verlust von Rechenzeit minimiert werden.

  • Das Laufzeitsystem des DSM-Übersetzers wurde um eine eigene Kommunikationsbibliothek erweitert. Diese erlaubt die Kommunikation in heterogenen Rechnerbündeln mit unterschiedlichster Kommunikations-Hardware. Neben maximaler Effizienz wurde beim Design der Bibliothek verstärkt darauf geachtet, dass sie auch die Anforderungen eines Computational Grids vollständig unterstützt (u.a. Authentifizierung und Datenverschlüsselung).

Projektleitung:
Prof. Dr. Michael Philippsen

Beteiligte:
PD Dr. Ronald Veldema, Dr.-Ing. Michael Klemm

Laufzeit: 1.4.2002 - 31.12.2005

Kontakt:
Philippsen, Michael
Telefon +49-9131-85-27625, Fax +49-9131-85-28809, E-Mail: michael.philippsen@fau.de
UnivIS ist ein Produkt der Config eG, Buckenhof