Prof. Dr. habil. Sergei Gorlatch
Higher-Order Components für Grid Computing
Grid Computing ist ein Forschungszweig der modernen Informatik mit der Zielsetzung Internet-Technologien zu nutzen, um Berechnungen auf mehrere, global vernetzte Computer zu verteilen. Das Internet soll somit von einer reinen Informationsquelle zu einer Plattform erweitert werden, welche es erlaubt Berechnungen auf mehrere (möglicherweise weit voneinander entfernte) Hochleistungsrechner zu verteilen.
Anwendungen, die von einer solchen Plattform profitieren könnten, sind z. B. naturwissenschaftliche Simulationen, die sehr hohe Rechenleistung erfordern und Daten aus mehreren geographisch entfernten Quellen benötigen.
Im Projekt "Higher-Order Components (HOCs)" wurde ein komponentenbasiertes
Programmiermodell konzipiert, um die Entwicklung von Grid Computing Anwendungen
zu erleichtern [2].
Das Auslagern von Berechnungen erfordert Kommunikation zwischen den beteiligten Rechnern. Web Services Technologien und die zugehörigen, standardisierten Datenformate und Protokolle, die speziell auf Maschinen-zu-Maschinen Kommunikation ausgelegt sind,
sind daher im Zusammenhang mit Grid Computing grundlegend wichtig. Web Services und verschiedene Erweiterungen werden von den meisten Programmiersprachen und von vielen Entwicklungsumgebungen unterstützt. Da die Handhabung von verteilten Systemzuständen im Grid Umfeld besondere Anforderungen an Web Services stellt (z. B. bei der Synchronisation von Datenbeständen), kann sich die Programmierung von Anwendungen, trotz der Vielzahl an verfügbaren Werkzeugen, äußerst aufwendig gestalten.
HOCs helfen bei der Integration von Anwenderprogrammen mit grid-tauglichen Laufzeitumgebungen (sog. Grid Middleware), wie sie für Internet-weite verteilte Software benötigt werden. Technisch basieren HOCs auf Web Services [5] und konzeptionell auf sog. algorithmischen Skeletten [1]. Ohne vorgefertigte Komponenten wie HOCs erfordert die Konfiguration von Grid Middleware vom Anwender ein umfangreiches Expertenwissen. HOCs können von technischen Details abstrahieren und ermöglichen die Entwicklung von Anwendungen durch Selektion, Komposition und Parametrisierung von Web Services.
In Experimenten mit Beispielanwendungen, z. B. aus der Bildverarbeitung (Fraktale, Filter) oder Bioinformatik (Proteinsequenzabgleich), konnten gute Performanzeigenschaften (absolut und bzgl. Skalierbarkeit) für HOCs nachgewiesen werden [3, 4, 6]. Die gegenwärtige Forschungsarbeit beschäftigt sich mit einer weiteren Erhöhung des Parallelitätsgrads, durch Berücksichtigung anwendungsspezifischer Datenabhängigkeiten, sowie mit der Anbindung von HOCs an unterschiedliche High-Performance Bibliotheken.
Drittmittelgeber:
Beteiligte Wissenschaftler:
Veröffentlichungen:
|