Anhang Bestandsaufnahme
Transcrição
Anhang Bestandsaufnahme
D-Grid – AK2 Middleware und Services Anhang Bestandsaufnahme Datum 04.05.2004 Seite 1 Inhaltsverzeichnis Inhaltsverzeichnis ................................................................................................................ 2 1 Überblick..................................................................................................................... 3 2 Bestehende Middleware-Komponenten ........................................................................... 4 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 3 Projekte..................................................................................................................... 51 3.1 3.2 3.3 3.4 3.5 3.6 4 GRASP ............................................................................................................... 51 GeneSyS............................................................................................................. 53 GRIP .................................................................................................................. 55 DAMIEN ............................................................................................................. 56 GridLab GAT ...................................................................................................... 58 EGEE ................................................................................................................. 60 Zertifizierung und Sicherheit ......................................................................................... 62 4.1 4.2 4.3 4.4 5 Globus ................................................................................................................. 4 UNICORE........................................................................................................... 10 UNICORE Resource Broker .................................................................................. 12 Fraunhofer Resource Grid .................................................................................... 13 Storage Resource Broker ...................................................................................... 15 Platform LSF ........................................................................................................ 18 Community Scheduler Framework (CSF) ................................................................ 21 Sun Java System Portal Server ............................................................................... 23 Sun Grid Engine .................................................................................................. 26 GridSphere ......................................................................................................... 28 EDG Resource Broker .......................................................................................... 31 Relational Grid Monitoring Architecture (R-GMA) ................................................... 33 Condor............................................................................................................... 35 AVAKI................................................................................................................. 38 NSF Middleware Initiative ..................................................................................... 40 Ganglia Toolkit ................................................................................................... 42 Distributed Simulation and Virtual Reality Environment (DSVR)................................. 46 Grid-Enabled MPI (Grid-MPI)................................................................................ 48 PACX-MPI ........................................................................................................... 50 Zertifizierungsdienst DFN...................................................................................... 62 Zertifizierungsdienst GridKA.................................................................................. 63 Zertifizierungsservice im FZ Jülich.......................................................................... 64 EDG Autorisierungsmechanismus.......................................................................... 66 Kollaborations Dienste ................................................................................................ 68 5.1 5.2 5.3 5.4 H.323-basierte Videokonferenz-Systeme und Infrastruktur und DFNVC ..................... 68 VRVS .................................................................................................................. 70 Access Grid ........................................................................................................ 71 Virtual Network Computing (VNC)......................................................................... 72 Seite 2 1 Überblick Die vorliegende Bestandsaufnahme spiegelt die aktuellen Arbeiten im AK2 des D-Grid wieder. Hierzu fanden mehrere Treffen der beteiligten Partner statt, in denen die Vorgehensweise abgestimmt und eine Aufteilung der Themengebiete vorgenommen wurde. Die in den einzelnen Abschnitten vorgenommenen Bewertungen spiegeln die Meinungen der jeweiligen Partner wieder und stellen noch keine abschließende Bewertung im Arbeitskreis dar. Aufgrund der kurz- bis mittelfristigen Umsetzung einer ersten Version des D-Grids stehen für die Auswahl der verfügbaren Software-Komponenten insbesondere bestehende und allgemein akzeptierte Lösungen für den Produktionsbetrieb im Vordergrund. Es wurden daher die verfügbare Komponenten und existierende Lösungen identifiziert, die im folgenden auf ihre Verfügbarkeit, Verbreitung, Funktionsumfang, Schnittstellen, Vor- und Nachteile betrachtet werden sollten. Seite 3 2 Bestehende Middleware-Komponenten 2.1 Globus Name der Komponente (des Systems, des Projektes): Globus Funktion der Komponente (des Systems): Eigenständiges System zum Betrieb eines Grids. Produzent der Komponente (des Systems): In der aktuellen Form entwickelt von der Globus Alliance (www.globus.org). In der Globus Alliance sind verschiedene wissenschaftliche Einrichtungen wie das Argonne National Laboratory, das Information Sciences Institute der Universitaet Sued Kalifornien, die Universitaet Chicago, die Universitaet Edinburgh, und das Center for Parallel Computers in Schweden zusammengeschlossen. Darueber wird das Projekt aus der Industrie von IBM, Microsoft und Cisco Systems unterstuetzt. Die Komponente (das System) wird zurzeit eingesetzt von: Globus wird als eigenständiges System wie auch als technische Grundlage spezialisierter GridSysteme in einer Vielzahl von Projekten eingesetzt. So dient Globus als Grundlage des European Data Grid und wird in mehreren Projekten aktiv weiterentwickelt, wie z. B. durch OGSA-DAI (http://www.ogsadai.org.uk), welches einen einfachen Datenzugriff ueber ein Globus Grid zum Ziel hat. Wird auch vom Fraunhofer Resource Grid verwendet. Einbettung der Komponente (des Systems, des Projektes): Globus ist sowohl als eigenständiges System wie auch als Grundlage spezieller Grid-Systeme stark verbreitet. Es wird inzwischen als quasi-Standard fuer Grid-Systeme angesehen, weswegen weitere Projekte zur Entwicklung von Grid-Systemen häufig eine Interoperabilitaet mit Globus zum Ziel haben (z. B. Condor-G). Das Projekt GRIP entwickelte eine Middleware, die die Interoperabilitaet der Grid-Systeme Globus und UNICORE ermöglicht. Zum eigenständigen Einsatz von Globus sind keine weiteren Grid-Komponenten erforderlich. Bedeutung der Komponente (des Systems) im D-Grid Globus sollte im D-Grid eingesetzt werden, da es sich um den quasi-Standard fuer GridSysteme handelt. Viele der in dieser Bestandsaufnahme beschriebenen Systeme basieren auf Globus und erfordern somit dessen Einsatz. Globus stellt vier grundlegende Grid-Funktionalitaeten als Dienste bereit: 1. Ausfuehren von Anwendungen über GRAM: Globus Resource Allocation Manager Protokoll des Globus-Toolkit, das den Zugriff auf verteilte Grid-Resourcen ermöglicht. Er ermöglicht das Ausführen, Überwachen und Beenden eines Jobs auf einer bestimmten Ressource. Dazu nimmt er Anfragen entgegen, reserviert die nötigen Ressourcen und startet den Job. Die Anfragen werden mittels der Beschreibungssprache RSL formuliert. Während der Abarbeitung informiert er den Client über den Status des Auftrages und aktualisiert den MDS. Der Zugriff auf den GRAM erfolgt über eine einheitliche Schnittstelle. Diese wird als gatekeeper bezeichnet. Realisiert wird der gatekeeper als Serverdienst, der über einen bestimmten Port angesprochen werden kann. Dieser Dienst muss in der Lage sein die lokalen Ressourcenmanagementmechanismen zu nutzen. Dadurch wird die Seite 4 Verbindung zu der ressourcenspezifischen Software hergestellt. Ein Coallocator ist nötig, wenn ein Job über mehrere Ressourcen verteilt bearbeitet werden soll. Er ist dafür zuständig die Kommunikation mit den verschiedenen GRAMs zu koordinieren. Als Beispielimplementierung liefert das Globus Toolkit den Coallocator Dynamically Updated Request Online Coallocator DUROC mit. Für das GRAM-Protokoll gibt es verschiedene Implementierungen, z.B. für Java im Rahmen des Java-CoG. Probleme: Arbeitet schlecht mit Firewalls zusammen, da Monitoring in der Regel über einen HTTPSCallback erfolgt. Eine mögliche Lösung ist die Einrichtung eines Virtual Private Network VPN, welches einen einheitlichen IP-Adressraum gewährleistet. Relativ lange Zeitdauer, bis ein Job wirklich abgeschickt ist (ca. 1-5 Sekunden). Kann bei vielen kleinen Jobs zu Engpässen führen. Jeder Nutzer, der GRAM verwenden möchte, muss im lokalen gridmap-file mit seinem Zertifikat eingetragen sein. 2. Zugriff auf und Transfer von Dateien ueber GridFTP: Grid File Transfer Protocol GridFtp ist ein reliable data transfer protocol fuer den Zugriff auf entfernte Dateien. Es basiert auf dem Standard-FTP-Protokoll (RFC 959) und wurde um folgende Features erweitert: Datensicherheit: unterstützt werden GSI- und Kerberos-Authentisierung partial file transfer synchroner und asynchroner file-to-memory Datenuebertragung third-party file transfer (direkte Server-to-Server Dateiuebertragung) paralleler/striped Datentransfer ueber mehrere data channels Restart-Funktionalitaet manuelle und automatische Aushandlung von TCP-Buffergroessen Globus implementiert das GridFTP-Protokoll als API: unterteilt in globus_ftp_client und globus_ftp_control libraries Tools: GridFTP-Server, FTP client tools (interaktive/batch mode, third-party transfer) 3. Informationssystem MDS: Monitoring and Discovery Service Die Informationsdienste des Globus Toolkits werden unter dem Namen Monitoring and Discovery Service (MDS) zusammengefasst. Der MDS besteht aus zwei Arten von Diensten, dem Grid Resource Information Service GRIS und dem Grid Index Information Service GIIS. Der MDS dient der Speicherung von Daten über die Art und den Zustand von Ressourcen in so genannten Verzeichnissen. Dabei handelt es sich um statisch und dynamische Informationen. Zur Abfrage und Speicherung von Informationen wird das Lightweight Directory Access Protocol LDAP verwendet. Dieses Schema kann natürlich erweitert werden und an die jeweiligen Bedürfnisse angepasst werden. Für den Datenaustausch mit den GRIS und GIIS sind zwei Protokolle vorgesehen. Das Grid Information Protocol (GRIP) dient dem Abfragen der Daten von GRIS und GIIS. Das Grid Registration Protocol GRRP dagegen ist dafür gedacht, um Informationen in die Verzeichnisdienste zu "pushen". Ab GT3 hat sich der MDS grundlegend erweitert. Durch die Einführung von OGSI, ist es möglich geworden Dienste (Grid Services) auf einheitlichem Art und Weise abzufragen. Mit Hilfe von sogenannten Service Data Elements (ähnlich wie CORBA Property Service) kann man beliebig Informationen an einen Dienst binden, abfragen oder aktualisieren. Jeder Dienst speichert seine Informationen selbst. MDS2 Clients können ohne Modifikation nicht direkt mit GT3 Index Service oder GT3 Service Data Elements kommunizieren. Das liegt daran, dass GT3 Index Service ausschließlich auf XML baut, hingegen MDS2 GIIS LDIF nutzt. Seite 5 4. Sicherheitsinfrastruktur GSI: Grid Security Infrastructure Das Globus Toolkit nutzt die Grid Security Infrastructure (GSI) um eine sichere Kommunikation über das Netzwerk zu gewährleisten. Die wichtigste Komponenten der GSI ist der Secure Conversation Service, diesem stehen verschiedene Sicherheitsmechanismen zur Verfügung: TSL/SSL: für sichere Authoriserung und Nachrichteverschlüsselung. SOAP Security nutzt die offiziellen W3C Standards für WS-Security, XML Encryption und XML-Signature X.509 Identitäts Zertifikat: Authentifizierung der Nutzer X.509 Proxy Zertifikat: Kommunikation und Authentifizierung Zwei der wichtigsten Sicherheitsanforderungen, die mit GSI realisiert wurden, sind Single Sign on und Delegation. Mit Hilfe dieser Mechanismen muss sich der Nutzer nur einmal authentifizieren und kann dann entsprechend seiner Berechtigung alle Ressourcen und Dienste nutzen. Durch das gegenüber von GT2 verbesserte Sicherheitsmodell vereinfacht sich die Integration von GT3 in geschützte Umgebungen. II. Globus Versionen Globus 2.x: GT2 Globus 3.x: GT3 Globus 4.x: GT4 III. Benutzung durch Grid-Anwender Bislang stellt Globus drei unterschiedliche Programmierschnittstellen zur Nutzung durch Grid-Anwender bereit: Ein natives C-API: Diese Schnittstelle stellt Bibliotheken und APIs, die es ermöglichen Basis-Dienste von Globus (low level middleware) in C/C++ Programmen zu nutzen, bereit. Diese Basis-Dienste existieren in dieser Form seit der Version 2 des Globus Toolkit und umfassen u.a. Job Submission (GRAM), Data Transfer (GridFTP), Service Access (MDS) und Security (GSI). Die CoGs (Commodity Grid Kits): Ein CoG besteht aus programmiersprachenspezifischen Bibliotheken und APIs, die es ermöglichen BasisDienste von Globus in Programmen, die nicht in C/C++ geschrieben sind, zu nutzen. Der Funktionsumfang eines CoGs entspricht im Wesentlichen dem des C-APIs. CoGs existieren für verschiedene Programmiersprachen wie Java, Perl, Python, für die Middleware CORBA und zur Integration in Matlab. WSRF (Web Service Resource Framework) bzw. OGSI/OGSA: Die Globus Alliance entwickelt in Zusammenarbeit mit der Industrie (z. B. IBM und HP) derzeit das WSRF, als eine Erweiterung von OGSA. Dieses Konzept erweitert die Spezifikation von Web Services des W3C hinsichtlich zustandsbehafteter und transienter Ressourcen. Durch dieses Konzept ist mit den SOAP-Client-APIs (JAX-RPC etc.) implizit eine Programmierschnittstelle hierfür gegeben. Aufgaben und Funktionsweise der einzelnen Technologien werden im Folgenden kurz zusammengefasst. C-API, CoGs Um integrierte Grid Computing Environments (GCE) in Form eigener, problemspezifischer Clientanwendungen zu entwickeln, stehen in Globus mit dem C-API bzw. den Commodity Grid Kits (CoGs, http://www-unix.globus.org/cog/) Seite 6 Programmierschnittstellen zur direkten Nutzung von GRAM, GridFTP, MDS und GSI zur Verfügung, die die benoetigte Funktionalitaet zur Jobausfuehrung vergleichbar der Kommandozeilenprogramme bereitstellen. Mithilfe des C-API oder eines CoGs können Client-Anwendungen entwickelt werden, die direkt ohne Benutzung von Kommandozeilentools Dienste konfigurieren und Funktionalität von Globus nutzen können. Die CoGs benutzen spezielle Konstrukte der jeweiligen Sprache, um dem Entwickler eine möglichst nahtlose Integration von Anwendungslogik und GlobusInteraktion in der Clientanwendung zu ermöglichen. Das C-API und die CoGs bieten somit die Möglichkeit des Zugriffs auf ein JobSubmission-System. Für die einzelnen Jobs selbst steht keine globusspezifische Funktionalitaet bereit, Job-Synchronisation und -Kommunikation in verteilten Anwendungen sind Aufgaben des Entwicklers. Globus bietet für das Anwendungsszenario solcher weit verteilten Anwendungen die nachfolgend beschriebenen Grid Services, deren HTTP-basierte Kommunikation zudem mögliche Probleme mit Firewalls und Gateways einer auf anderen Kommunikationsprotokollen basierenden Lösung vermeidet. WSRF, OGSI/OGSA des W3C Dieser Teil der Bestandsaufnahme stellt den derzeitigen Status der Spezifikation von WSRF und OGSI dar. WSRF ist eine Umstrukturierung und Erweiterung von OGSI. Die derzeit verfuegbare GT3 Implementierung umfasst bislang nur die für OGSI spezifizierten Features. Im folgenden wird aufgezeigt welche Features OGSI beinhaltet, worin die Erweiterungen von WSRF gegenüber OGSI bestehen und welche Defizite die derzeitige Spezifikation aufweist. OGSI nutzt die Features von WebServices : Web Services sind plattform- und sprachunabhaengig, beispielsweise kann ein CProgramm unter Windows einen Web Service, der in Java programmiert wurde und auf einem Linux Rechner läuft, ansprechen. Der Nachrichtenaustausch ist mittels HTTP möglich. Daher bieten sich Web Services als Verteilungstechnologie, insbesondere fuer Internet-weite Applikationen an (HTTP Nachrichten können problemlos über Internet-Proxy- und Firewall-Grenzen hinweg übertragen werden im Ggs. zu CORBA, RMI etc.) Typische Grid Anwendungen sind z.B. komplexe mathematische Berechnungen, die i.A. nicht durch Ausführung einer einzelnen Operation durchgeführt werden können, sondern durch eine Abfolge vieler Operationen, die evtl. abhängig voneinander sind. Web Services sind zur Implementierung solcher Dienste nicht unmittelbar geeignet, da sie zustandslos und intransient sind. Zustandslos bedeutet, dass ein Web Service keine Informationen über die Dauer eines Aufrufs hinweg bereithalten kann. Verschiedene Web Services Container ermoeglichen es inzwischen, Informationen zwischenzuspeichern, so dass ein Web Service beim Ausfuehren einer Operation auf Informationen aus vorhergehenden Aufrufen zurueckgreifen kann. Dabei können sich durch die Intransienz von Web Services Probleme ergeben. Intransienz bedeutet, dass alle Clients mit demselben Web Service kommunizieren, dessen Fortbestand alle Clients überdauert. Folglich kann es beim Zugriff auf dauerhaft gespeicherte Informationen durch mehrere Clients zu Konflikten kommen. OGSI erweitert reine Web Services daher um das Konzept der Factories. Eine Factory ist dabei ein Web Service, der auf Anforderung von Clients Service-Instanzen anlegt und zur Verfügung stellt. Service-Instanzen sind zustandsbehaftet und transient und werden in OGSA als Grid Services bezeichnet. WSRF umfasst neben den OGSI Basisklassen und Schnittstellendefinitionen für Factories und Service-Instanzen weitere Features, die bei der Implementierung von Grid Services benutzt werden: Seite 7 Lifetime Management: Durch standardisierte Callback Methoden kann in bestimmte Vorgaenge bei der Verwaltung von Grid Services (z.B. Bereitstellung durch die Factory, Deaktivierung etc.) eingegriffen werden. Nuetzlich ist das z.B. für Logging, Runtime-Loadbalancing, Resource Management. Service Data: WSDL beschreibt nur technische Details, wie z.B. Operationen, Signaturen etc. Fuer einen Grid Service, können zusätzlich Charakteristika wie Leistungsfähigkeit etc. (Resource Properties) gespeichert werden. Asynchrone Benachrichtigungen: WSRF spezifiziert sog. Notifications. Dabei handelt es sich um einen Messaging-Mechanismus nach einem Publish/Subscribe-Prinzip über den Grid Services und Clients asynchron Nachrichten austauschen können. Delegationsmodell: Komplexe Grid Services können oftmals nicht als Erweiterungen der in OGSI vordefinierten Basisklasse implementiert werden, da bereits Vererbungsbeziehungen zu anderen Klassen bestehen. Daher ist es auch möglich Services durch Implementierung sogennannter Operation Provider Schnittstellen zu implementieren. Die Konfiguration eines solchen Delegationsmodells ist etwas aufwendiger als für Standard-Grid Services, dafür jedoch flexibler und bei objektorientierten Technologien, die keine Mehrfachvererbung zulassen (Java) evtl. unumgänglich. Stateful Resource Addressing: Um zustandsbehaftete Service Instanzen in einem Container zu identifizieren, enthalten die Reference Properties (Bestandteil der XMLDeskriptoren eines WSRF Services) eine zusätzliche Kennung. Dieses Prinzip wurde aus den kuerzlich vom w3c veroeffentlichten WS-Addressing Spezifikationen uebernommen. Welche Schwachstellen hat die Komponente (das System) zurzeit: Das Grid Information System basiert zur Zeit auf LDAP, welches sich zum Teil als ungeeignet für den Grid-Betrieb erwiesen hat. Da die verschiedenen Bausteine des Globus Toolkits relativ unabhängig voneinander verwendet werden können, kann das Grid Information System auch durch andere Dienste (z. B. Ganglia) realisiert werden. Folgende Probleme sind aufgefallen: Generische Grid Services werden unzureichend unterstützt: Die OGSI Spezifikation beschreibt derzeit nicht, wie Services mit beliebigem Code parametrisiert werden können (MMJS ist dafür unzureichend). Die CoGs sowie die APIs für OGSI sind Globus-spezifisch, für Globus entwickelte ClientAnwendungen sind somit nicht ohne weiteres auf andere Grid-Systeme uebertragbar. Im Rahmen des D-Grid, in dem eine Integration verschiedener Grid-Systeme zu erwarten ist, sollte eine möglichst einheitliche Programmierschnittstelle fuer sämtliche Services verschiedener Grid-Systeme genutzt werden, die in dieser Form nicht existiert. Eine solche Schnittstelle wird ebenfalls in der Bestandsaufnahme "einheitliche Programmierschnittstelle für Grid Middleware (s. a. GridLab GAT)" gefordert. Es ist unklar, welche Basisdienste auf welche Weise in OGSA integriert sind: Fuer einzelne Basisdienste wie GridFTP oder GRAM gibt es entsprechende Services (RFTS bzw. MMJS), fuer andere (z.B. MDS) nicht. Hier ist zu klären ob diese in OGSAAnwendungen (mittels CoGs) vom Anwendungsentwickler selbst angesprochen werden müssen oder unnötig sind. Der Zusammenhang zwischen den CoGs und OGSA ist in der derzeitigen Dokumentation unklar. Derzeitige Grid Services sind teilweise mithilfe von CoGs implementiert. Hier ist zu klaeren ob das sinnvoll ist oder ob bei zukünftigen Globus Toolkit Versionen die Funktionalität der CoGs vollständig in die OGSI-Implementierung integriert sein wird. Seite 8 Es gibt derzeit keine Referenzanwendung, anhand der die Verwendung von OGSI als vollstaendig aufgezeigt wird. Die Beispiele der Tutorials bieten meist nur triviale Funktionalitat (z.B. einfache Arithmetik) Bislang existiert als offizielle Implementierung des GridFTP-Protokolls nur der in Globus enthaltene GridFTP-Server. Er gewährleistet einen sicheren effizienten Dateizugriff auf entfernte Filesysteme (insbesondere mit sehr grossen Datenmengen). Höhere, für ein Data Repository Server erforderliche Funktionalitaet (Caching, Versioning, Metadaten-Verwaltung, etc.) fehlen. GridFTP kann aber als Grundlage zur Implementierung dieser Funktionalität genutzt werden. Desweiteren implementiert der Globus-GridFTP-Server nur die im GridFTP-Protokoll spezifizierte Basisfunktionalitaet. Es fehlen Moeglichkeiten zu dessen einfacher Erweiterung um nutzerdefinierte Funktionen, z.B. der flexiblen Einbindung von eigenen Server-side Plugins, deren Unterstuetzung im Protokoll explizit vorgesehen ist. Da die Architektur der gegenwaertigen GridFTP-Server-Implementierung auf dem wuftpd-Code basiert, erweist sich dessen Erweiterung um solche Funktionalität als schwierig und wird von den Globus-Entwicklern deshalb auch nicht angestrebt. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Das Globus-Team entwickelt derzeit einen eigenen Globus Striped FTP Server (SFTPD), der Server-side Plugin Funktionalität unterstützt und die wuftpd-basierte GridFTP-Implementierung voraussichtlich in einer der nächsten Globus-Releases ersetzen wird. Erarbeitet von: Jens Müller, Uni-Münster Andreas Hoheisel, Fraunhofer FIRST Thomas Radke, AEI Golm Jan Duennweber, Uni-Münster Seite 9 2.2 UNICORE Name der Komponente (des Systems, des Projektes): UNICORE (Uniform Interface to Computing Resources) Funktion der Komponente (des Systems; Ziel des Projektes): Vertikal integriertes Grid System/Grid Software Produzent der Komponente (des Systems; Projektbeteiligte): Intel (Klient), Fujitsu (Server plus Klientenbibliothek), die Teilnehmer der Projekte UNICORE, UNICORE Plus, EUROGRID, GRIP, OpenMolGRID, NaReGI, … Die Komponente (das System) wird zurzeit eingesetzt von: Deutsche Höchstleistungsrechenzentren, DWD, Cineca, diversen Projekten weltweit (OpenMolGRID, NaReGI, DEISA, RealityGrid, …), unbekannte Anzahl weiterer Benutzer Einbettung der Komponente (des Systems, des Projektes): Es existiert eine Anbindung an Globus (siehe Bestandsaufnahme GRIP), eine Anbindung an Condor ist in Entwicklung (NaReGI). UNICORE hat eine Schnittstelle (Target System Interface, TSI; Incarnation Data Base, IDB) zu Betriebssystem und Resource Management System des Ziel-Rechners. Diverse NQS-Dialekte, LL, LSF, PBS, Sun Grid Engine sowie verschiedene Unix Systeme inklusive Linux sind bisher angebunden. Das Interface wird auch genutzt zur Einbindung von Globus-verwalteten Ressourcen. Die Grenzen zwischen reinen Ressourcenmanagern wie NQS, PBS und Grid Systemen wie Globus sind fließend. Der Einsatz einer anderen Komponente aus der D-Grid Bestandsaufnahme ist nicht notwendig, da UNICORE ein „vollständiges“ Grid System ist. Die hier gemachten Aussagen basieren auf den Erfahrungen des FZ Jülich und HLRS, welche seit Beginn an der Entwicklung von UNICORE beteiligt sind, und des ZHR. Bedeutung der Komponente (des Systems) im D-Grid: UNICORE als vertikal integriertes System auf Benutzerinterface und Workflow-Management bietet Benutzers bestimmter Anwendungsfelder gute Unterstützung, so dass es auf jeden Fall Bestandteil vom D-Grid sein sollte. UNICORE bietet • Ende-zu-Ende Sicherheitsmechanismen mit X.509 Zertifikaten und Single sign-on, verschlüsselter Kommunikation, Zugang zu /Mitgliedschaft in verschiedenen Virtuellen Organisationen (VO) und den Übergang zur Globus Sicherheit (Generierung von Proxy Zertifikaten). • statische Informationen über verfügbare Rechner innerhalb von VOs und die dem Benutzer zugreifbaren / anforderbaren Ressourcen. • Informationen über den Job-Status und den Status der einzelnen Job-Schritte einschließlich eines Ablaufprotokolls und Standardoutput- und Standarderror-Informationen. • Zugriff auf Rechner und Daten einschließlich Datenbanken. Daten werden pro UNICORE Job in einem temporären Job-Verzeichnis verwaltet (Trennung der Daten pro Job). • Aufbau und Bearbeitung von komplexen Workflows mit Kontrollstrukturen wie Schleifen, Breakpoints, Überprüfung von Rückgabewerten, if-then-else, sequentielle Abhängigkeit, etc. Workflows können im graphischen Klienten komponentenweise erstellt oder über eine XMLBeschreibung (aus OpenMolGRID) automatisch erzeugt werden. Seite 10 • • • • • • • • Resource Management und Scheduling derart, dass der Benutzer den Tasks in seinem Workflow die Ressourcen-Anforderungen mitgibt (Defaults existieren), der UNICORE Server (NJS) übergibt die Tasks gemäß der Abhängigkeiten an den TSI, welches den Auftrag an das lokale Resource Management System übergibt. einen Resource Broker (entwickelt in EUROGRID, GRIP), der es erlaubt, RessourcenInformationen von Sites abzufragen und QoS Anforderungen zu stellen. Unterstützung für existierende Anwendungen (legacy codes). eine Server Administrator Schnittstelle mit Logging und Job-Kontrolle nach vielfältigen Kriterien. Ausführung aller Programme und Tools, die das Zielsystem bietet. z.Zt. keine Unterstützung für Metacomputing / MPI-Jobs und Co-Scheduling. die Schnittstellen Klient - Server Protokoll (UNICORE Protocol Layer, UPL), Jobbeschreibung (Abstract Job Object , AJO, Repräsentation eines UNICORE Jobs), UNICORE Server – Zielsystem (TSI), NJS – Resource Broker, NJS – File Transfer (zur Einbindung von z.B. GridFTP). Dokumentation für Benutzer (Klient), Administratoren (Gateway, NJS, TSI) und Entwickler (Plugin Interface, Quellcode (JavaDoc)). UNICORE ist verfügbar über den UNICORE Forum e.V. unter der Sun Community License (http://www.unicore.org/downloads.htm). In Kürze (April/Mai 2004) wird die komplette Software bei SourceForge unter einer BSD-ähnlichen Lizenz zur Verfügung stehen. Welche Schwachstellen hat die Komponente (das System) zurzeit: Als eine Schwachstelle von UNICORE wird das Fehlen eines dynamischen Informationsdienstes angesehen (die UNICORE Information Database ist statisch). Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: An UNICORE (und auch an der Entwicklung eines dynamischen Informationsdienstes) arbeiten sowohl die tragenden Firmen Intel und Fujitsu, als auch diverse Projekte (NaReGI, OpenMolGRID, UniGridS, ...), Institutionen und Personen im Umfeld des Grid. Zudem wird UNICORE in absehbarer Zeit via SourceForge als Open Source Software verfügbar gemacht, was die Einbindung weiterer Entwickler mit sich bringen wird. Erarbeitet von: Ph. Wieder, M. Romberg, FZJ; St. Wesner, HLRS; R. Müller-Pfefferkorn, ZHR Seite 11 2.3 UNICORE Resource Broker Name der Komponente (des Systems, des Projektes): UNICORE Ressource Broker Funktion der Komponente (des Systems; Ziel des Projektes): Suchen und Anzeigen von verfügbaren Ressourcen, die zur Berechnung von Jobs benötigt werden Produzent der Komponente (des Systems; Projektbeteiligte): University of Manchester (UoM), GB, im Rahmen der EU GRIP und EUROGRID Projekte Die Komponente (das System) wird zurzeit eingesetzt von: Ehemaligen Projektpartnern des GRIP und EUROGRID Projekts Einbettung der Komponente (des Systems, des Projektes): Der Ressource Broker ist eine eigenständige Server-Komponente von UNICORE. Der Benutzer sendet eine Anfrage an den Ressource Broker mit Informationen über die von ihm zur Berechnung eines Jobs benötigte Rechen, bzw. Speicherleistung. Für den Betrieb des Ressource Brokers ist die Installation eines Java Runtime Environment (JRE 1.4.x oder höher) erforderlich. Zusätzliche Komponenten werden nicht benötigt. Diese Aussagen basieren auf den Projekterfahrungen in GRIP und EUROGRID. Bedeutung der Komponente (des Systems) im D-Grid: Der Ressource Broker sollte im D-Grid eingesetzt werden, da er verfügbare verteilte Ressourcen findet, die zur Berechnung eines Jobs benötigt werden. Der Ressource Broker kann ohne großen administrativen Aufwand in die UNICORE Architektur integriert werden. Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zur Zeit? Der zur Zeit implementierte Ressource Broker stellt eine statische Lösung dar. Das bedeutet, dass der Benutzer auf seine Anfrage eine Liste mit den seinen Anforderungen entsprechenden Ressourcen erhält. Aus dieser Liste muss der Benutzer selber ein passendes Zielsystem auswählen. Momentan können nur verfügbare Ressourcen, die über UNICORE zugreifbar sind, gefunden werden. Außerdem ist der Ressource Broker derzeit nicht in der Lage, Software-Ressourcen oder Kostenfaktoren bei der Ressourcensuche zu berücksichtigen. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Eine dynamische Lösung soll Bestandteil eines EU FP6 Projektes sein, das sich zur Zeit in Verhandlungen mit der Europäischen Union befindet. Mit dieser Lösung wird der Job automatisch an die Zielsysteme geschickt, die den Anforderungen des Benutzers genügen. Zudem ist geplant, eine Grid übergreifende Lösung des Ressource Brokers zu implementieren, um so auch in von anderen Grid-Middleware-Systemen verwalteten Ressourcen nach verfügbaren Ressourcen zu suchen. Auch soll der Ressource Broker innerhalb dieses Projektes so erweitert werden, dass er in der Lage ist, die Kosten für die Berechnung auf den jeweiligen Systemen zu ermitteln. Seite 12 Erarbeitet von: Michael Rambadt, Forschungszentrum Jülich 2.4 Fraunhofer Resource Grid Name der Komponente (des Systems, des Projektes): Fraunhofer Resource Grid Funktion der Komponente (des Systems): Institutsübergreifende Grid-Infrastruktur der Fraunhofer Gesellschaft basiert auf den Ergebnissen des durch das BMBF geförderten Prokjekts I-Lab. Ressource-Broker und Scheduler Werkzeuge zur Erstellung komplexer Grid-Job-Workflows für Nutzer mit wenigen ITKenntnissen Dienst zur Ausführung von Grid-Job-Workflows auf Basis von Globus-Protokollen. XML-basierte Ressourcen- und Grid-Job-Beschreibungssprache Portalzugang mit Taskmapping über Globus hinausgehende Sicherheitsinfrastruktur und Accounting Dienste werden als Webservice angeboten, Beispiel: Grid Job Handler (WorklflowManagement) Benutzung von X509 Standard-Zertifikaten User Management (zentrales mapfile-Deployment mit lokaler Zustimmung) Unterstützung von Ganglia (Cluster Monitoring) Der Großteil der entwickelten Middlewarekomponenten wird als Open-Source-Beitrag (GPL) unter dem Namen eXeGrid der Öffentlichkeit kostenlos zur Verfügung gestellt ( http://www.eXeGrid.net/). Produzent der Komponente (des Systems): Fraunhofer FIRST, IAO, IGD, ITWM, SIT Die Komponente (das System) wird zurzeit eingesetzt von: Fraunhofer Gesellschaft Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? basiert auf Globus Toolkit 2.4, Interoperabilität mit Globus basierten Grids Unterstützung/Anbindung von Batch-Systemen (z.B.: PBS mit Maui, condor) über Globus Scheduling setzt Ganglia-Installation voraus lässt sich leicht auch auf andere (nicht-Globus-basierte) Grid-Basis-Dienste umstellen Bedeutung der Komponente (des Systems) im D-Grid Die Komponente (das System) sollte im D-Grid eingesetzt werden, da sie die Fraunhofer-Gesellschaft mit ihren vorhandenen Grid-Ressourcen in das D-Grid einbindet sie leicht in andere (Globus Toolkit basierte) Grids eingebunden werden kann die einfache Erstellung und Ausführung von komplexen Anwendungen ermöglicht (vor allem aus dem Bereich Ingenieurwesen) eine industrielle Nutzung des Grids erleichtert Welche Schwachstellen hat die Komponente (das System) zurzeit: Seite 13 erbt trotz eigener Sicherheitsinfrastruktur Schwachstellen von Globus eigene Sicherheitsinfrastruktur muss ausgebaut werden, ist proprietäre Lösung noch in Prototyp-Stadium Derzeit Komponentenmodell, welches nur eine lose Kopplung von Komponenten unterstützt. Unterstützung von parallelen Anwendungen mit engerer Kopplung (MPI, CORBA) nur als "Atomic Jobs". Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Fraunhofer Gesellschaft Erstellt von: Uwe Der Andreas Hoheisel Seite 14 2.5 Storage Resource Broker Name der Komponente: Storage Resource Broker (SRB) Funktion der Komponente: Am San Diego Supercomputer Center (SDSC) wir ein System entwickelt, das den Zugang zu unterschiedlichen Datenquellen vereinheitlichen soll. Im wesentlichen besteht das System aus den drei Komponenten: • Storage Resource Broker (SRB), der als Client-Server Middleware den Zugang zu unterschiedlichen Datenquellen unter einer grafischen Oberfläche ermöglicht. • Metadata Catalog (MCAT) zur Verwahrung der Metadaten, implementiert als eine relationale Datenbank: Oracle or DB2 or Sybase or PostgreSQL • High Performance Storage System (HPSS) als zentrales Dateimanagement- und Speichersystem Durch im MCAT abgelegte, sogenannte data sets wird der konkrete physische Speicherort logisch zugeordnet. Die sets können zu Collections zusammengefasst werden. ReplicaManagement wird unterstützt. Produzent der Komponente: http://www.npaci.edu/DICE/SRB Die Komponente (das System) wird zurzeit eingesetzt von: • • • • • • • • • Astronomy o CACR Computing Resource, National Virtual Observatory, 2 MASS Collection, DPOSS Collection, Hayden Planetarium Ecology and Environmental Sciences o CEED, Bionome, Hyper LTER, Land Data Assimilation System (LDAS), Knowledge Networks for BioComplexity(KNB) Medical Sciences o Visible Embryo Project Molecular Sciences o SSRL - Synchrotron Data Repository, AFCS - Alliance for Cellular Signaling Neuro Sciences o Biomedical Information Research Network (BIRN), TeleScience Portal, Brain Database, Brain Data Archiving, NPACI REU Physics and Chemistry o PPDG - Particle Physics Data Grid, GriPhyN, GAMESS, BaBar Digital Libraries and Archives o SIO Digital Libraries, National Archives and Records Agency, ADEPT, NSDL National Science Digital Library, California Digital Library, (CDL), Stanford Digital Library Project Data Grids : The following projects use the data grid capabilities of SRB-MCAT. o ROADNet - Real-time Observatories Application and Data management, etwork, e-science at CLRC, UK Grid Starter, DOE ASCI Data, Visualization Corridor, NASA Information Power Grid, DOE SciDAC - Portal Web Services, NPACI Portal Projects, National Virtual Observatory, GriPhyN Education Seite 15 • • o Transana, Digital Insight Application o DataStreaming, AppLeS, DataCutter Fraunhofer Ressource Grid (Testbetrieb) Einbettung der Komponente: SRB ist ein • Verteiltes Dateisystem • Data Grid Management System • Digitale Bibliothek • Semantic Web SRB und Grid Technologien? • “SRB ist ein komplettes Data-Grid-System • Verbindungen zu Data Grid Research und Development / Produktion (PPDG, GriPhyN, BaBar, CDL, NASA Information Power Grid, …) • Support Globus Grid Security Infrastructure (GSI) als Authentication Methode. • Web Service Definition Language (WSDL) interface to the SRB (working area) • OGSA-compliant SRB in Planung. Abstraction of User Space • Single sign-on • Multiple authentication schemes: certificates, passwords, tickets, group permissions, roles Virtualization of Resources • Resource Location, Type & Access transperancy • Logical Resource Definitions - bundling Abstraction of Data and Collections • Virtual Collections: Persistent Identifier and Logical Name Space • Replication & Segmentation Data Discovery • User-defined Metadata • Attribute-based Access (path names become irrelevant) Uniform Access Methods • APIs, Command Line, GUI Browsers, Web-Access (WSDL, CGI) • Parallel Access with both Client and Server-driven strategies MCAT: Metadata Catalog • Stores metadata about Data sets, Collections, Users, Resources, Proxy Methods • Maintains replica information for data & containers • Provides “Collection” abstraction for data • Provides “Global User” name space & authentication • Provides Authorization through ACL & tickets • Maintains Audit trail on data & collections • Maintains metadata for methods and resources • Provides Resource Transparency - logical resources • Implemented as a relational database: Oracle or DB2 or Sybase Bedeutung der Komponente (des Systems) im D-Grid: Sollte eingesetzt werden, da weite Verbreitung. Seite 16 Welche Schwachstellen hat die Komponente (das System) zurzeit: Sicherheitsprobleme Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: SDSC SRB Group Erarbeitet von: Uwe Der Seite 17 2.6 Platform LSF Name der Komponente (des Systems, des Projektes): Platform LSF (=Load Sharing Facility); Platform LSF Family of Products Funktion der Komponente (des Systems; Ziel des Projektes): LSF ist das umfassendste Distributed Resource Management System, seit 12 Jahren kontinuierlich weiterentwickelt und ebenso kontinuierlich erfolgreich im Markt. Auf eine Featureliste wird hier zugunsten von 3 ausgewählten D-GRID relevanten Aspekten verzichtet. (Mehr Details? www.platform.com oder Email an [email protected]) • LSF als logisch lokaler Workload Management Cluster für heterogene Umgebungen o Lokaler Cluster über praktisch alle Betriebssysteme und Architekturen o Industrietaugliche Produkt-Qualität, Zuverlässigkeit, Durchsatz und Skalierung. o Der modulare Scheduler erlaubt die gleichzeitige zusätzliche und/oder alternative Verwendung kundenspezifischer Plug-Ins. Dies ist essentiell wichtig, um verschiedene Rechner-Architekturen aber auch System- (GRID-)-Topologien intelligent umsetzen zu können. Die Verwendung und Erstellung dieser Scheduler-Plug-Ins ist einfach, gut dokumentiert und mit offen gelegtem Source Code unterstützt (ftp.platform.com, login: anonymous, pwd: <your_email>) o Mit Beispiel Source Code offen gelegte und dokumentierte Schnittstellen, CLI, APIs für C und Java, SDK-Dokumentation o Web-Interface für User und Administration. Erweiterbar über offen gelegte Architektur und Schnittstellen. Somit auch Integration in Portale sehr einfach. o Logisch lokale Cluster können geographisch verteilt sein. Anwendungsbeispiel: Deutsche Bank: ein logischer LSF Cluster über Frankfurt und London • LSF als logisch und ggfs. geographisch verteilter heterogener Workload Management Cluster = LSF MultiCluster GRID o Verbindet LSF Cluster verschiedener Eigentümer und überbrückt unterschiedliche Administrations-Standards und Security-Policies (Beispiel: DoD). o Industrietaugliche Produkt-Qualität, Zuverlässigkeit, Durchsatz und Skalierung. o Seit 1996 industrielle Referenzen für z.T. weltumspannende „Enterprise GRIDs“: TexasInstruments, AMD, ENEA, Pharmacia, GM, DoD – Department of Defence (USA), DoE… viele mehr o LSF MultiCluster bildet wahlweise zentrale oder dezentrale Strukturen, hierarchische- oder Partner-GRIDs. o Durch die Möglichkeit, Partner-GRIDs unter „Gleichrangigen“ zu bilden, werden die wichtigsten nicht-technischen Hürden für eine GRID-Einführung umgangen. Siehe auch http://www.platform.com/barriers/ . • LSF Applikations-Integration o LSF, ob im lokalen Cluster oder im GRID, geht nach dem Prinzip „Remote Execution“ vor. Daraus folgt, dass grundsätzlich jede Applikation, ohne Anpassung oder Recompilation, über LSF laufen kann. o LSF unterstützt erschöpfend viele MPI Implementierungen und PVM. o Integrationen umfassen Fragestellungen des User-Environments und der Verfügbarkeit gewisser Infrastruktur-Dienste auf den möglichen Execution-Hosts der komfortablen Nutzung im aktuellen verteilten Umfeld der Problemzerlegung und Ergebnis-Aggregation wie z.B. bei einigen Life-Science Applikationen Seite 18 o Beispiele: In dieser Weise sind Applikationen der folgenden ca. 60 Partner mit LSF integriert worden http://www.platform.com/alliances/listing/swvendors.asp o Produzent der Komponente (des Systems; Projektbeteiligte): Platform Computing Corp., Toronto Die Komponente (das System) wird zurzeit eingesetzt von: Mehr als 1600 Kunden weltweit: HPC Computing (viele der Super-Computer TOP500 Liste) Science & Government: CERN, DoD, DoE, TACC, MPI/GWDG, … Industrie: EDA, MDA, Pharma / Life-Science, Finance, ERP/CRM, Automotive & Aerospace… Mehr unter http://www.platform.com/customers/ Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Systeme • Globus Toolkit 2+3. Platform stellt „debuggte“ Globus Toolkits zur Verfügung. • CSF für Globus. • Über CSF auch mit SGE und PBS und anderen • Direkte Integration wird für NQS beispielhaft mitgeliefert. • FlexLM für Applikations-Lizenz-Management • AVAKI Data-Grid Architekturen und Betriebssysteme • Alle HPC Architekturen (NEC-SX & TX, IBM SPx & Regatta & z-&p-Series, HPSC&SuperDome, SGI Origin & Altix, SUN, alle Linux Cluster backbones…) • Alle gängigen Betriebssysteme, auch in heterogenen Clustern (alle industriellen UNIXes, Linux’e, MAC-OS+X, MS-Windows 2003, XP, 2000, NT, 98) • Spezielle Environments: AFS, DFS, DCE, TRIX, .. Mit welchen Systemen gibt es keine reibungslose Kooperation, Nicht bekannt Welche anderen Komponenten sind für den Einsatz notwendig? Keine Worauf basieren diese Aussagen? LSF Dokumentation Bedeutung der Komponente (des Systems) im D-Grid: Gundsätzlich sollte D-GRID den optionalen Einsatz von LSF als lokalem Workload Management System, als RMS, vorsehen und unterstützen. Vorschlag zur D-GRID Realisierung Version 1.0 LSF bietet mit seinen GRID-Fähigkeiten die Option, ausgewählte Resource Provider für das DGRID in Teil-GRIDs zusammenzufassen. Diese Teil-GRIDs stellen durchsatzstark und in Industriequalität Ressourcen zum verteilten Zugriff bereit. Die Einbindung in ein bundesweites D-GRID würde über GLOBUS und CSF erfolgen. Vorteile für das D-GRID Projekt entstehen durch die unmittelbare Verfügbarkeit dieser Lösung, die somit eine produktive Ausgangsbasis für weitere Entwicklungen und Forschung darstellt. Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Integration mit UNICORE ist noch nicht erfolgt. Seite 19 Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: 1. Direkte Integration UNICORE mit LSF als RMS: wurde im UNICORE Verein besprochen und steht zur Realisierung an. 2. Kooperation UNICORE mit GLOBUS/CSF/LSF-MultiCluster-GRID. Durch das GRIP Projekt wurde die Kooperation GLOBUS mit UNICORE bereits sichergestellt. Also entsteht hier der Bedarf, die erweiterten CSF Funktionen wie „Load-Balancing Across Sites“, mit UNICORE abzustimmen = Neues Teilprojekt im D-GRID Rahmen. Erarbeitet von: Bernhard Schott Platform Computing GmbH Direct +49 (0) 69 348 123 35 Fax +49 (0) 69 348 123 34 Mobile +49 (0) 171 6915 405 Email: [email protected] Web: <http://www.platform.com/> Seite 20 2.7 Community Scheduler Framework (CSF) Name der Komponente (des Systems, des Projektes): Community Scheduler Framework (CSF) GLOBUS Funktion der Komponente (des Systems; Ziel des Projektes): Das Community Scheduler Framework (CSF) ist ein Set von Grid Services, implementiert auf Basis des Globus Toolkit Version 3.x (www.globus.org), welcher eine Umgebung für die Entwicklung von Metaschedulern darstellt. Ein Metascheduler bietet Workload Scheduling zwischen mehreren, möglicherweise heterogenen, Workload Management Systems, wie zum Beispiel Sun Grid Engine, LSF, oder PBS. Ein White Paper, welches die Implementierungs-Details der Grid Services bschreibt, ist erhältlich unter http://www.platform.com/resources/whitepapers (Registration required). Darüber hinaus ist CSF gedacht als Referenz-Implementierung der durch das GGF (www.ggf.org) definierten und sich entwickelnden Grid Standards. Ein aktuelles Beispiel: der „Reservation Factory Service“ bietet ein "WS-Agreement" Interface. Indem eine Open Source Referenz-Implementierung dieser Standards vorliegt, wird der Einsatz und die Adaption durch Organisationen und Anwenderfirmen erleichtert. CSF ist implementiert in Java, im Rahmen des Globus Toolkit 3 Container Environment, und bietet ein Plug-In Framework zur Implementierung von Scheduling Algorithmen. Aktuell unterstützt wird: • Submit von Jobs vermittels Grid Service „RM Adapter“ in LSF • Erzeugung von Advanced Reservations durch den RM Adapter • Submit von Jobs an den Globus GRAM, welcher viele verschiedene Resource Managers unterstützt, so zum Beispiel SGE and PBS. Produzent der Komponente (des Systems; Projektbeteiligte): CSF ist eine Open Source Contribution von Platform Computing. Projektbeteiligte, siehe www.ggf.org & www.globus.org Die Komponente (das System) wird zurzeit eingesetzt von: TACC at U Texas (www.tacc.utexas.edu). Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Globus Toolkit Version 3.x (www.globus.org) Der CSF Metascheduler bietet Workload Scheduling zwischen mehreren, möglicherweise heterogenen, Workload Management Systems, wie zum Beispiel Sun Grid Engine, LSF, oder PBS. Mit welchen Systemen gibt es keine reibungslose Kooperation, unbekannt Welche anderen Komponenten sind für den Einsatz notwendig? Globus Toolkit version 3.x (www.globus.org) Worauf basieren diese Aussagen? www.ggf.org & www.globus.org , Seite 21 Ein White Paper, welches die Implementierungs-Details der Grid Services beschreibt, ist erhältlich unter http://www.platform.com/resources/whitepapers (Registration required). Bedeutung der Komponente (des Systems) im D-Grid; Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... Im Rahmen der GLOBUS Nutzung ist CSF ein massiver Vorteil für D-GRID. Gerade für die terminkritische Erst-Implementierung bietet sich zunächst die Übernahme des Metaschedulers an. Durch den Einsatz des CSF Metaschedulers kann die zentrale GRID-Funktionalität WorkloadScheduling im heterogenen Umfeld den Anwendern schon in D-GRID 1.0 zur Verfügung stehen. Ein gewisser Forschungsaufwand kann für eine Integration oder Service-Koordination mit UNICORE vorgesehen werden, soweit im GRIP Projekt noch nicht erfolgt. Aufgrund des transparenten modularen Aufbaus von CSF und dem guten Zugriff auf Entwickler-Ressourcen ist diese Aufgabe mit begrenztem Aufwand und geringem Risiko einzuschätzen. Ein Einsatz der Komponente (des Systems) sollte nicht eingesetzt werden, da ... n/a Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Einige aktuelle Themen, an denen gearbeitet wird, sind: • die Integration mit Data Management Systemen zwecks Staging von Compute Job relevanten Daten, • Neue Scheduling Algorithmen (Inklusive Algorithmen für das Data Aware Scheduling) • weitere RM Adapter • erweiterte Client Side Tools Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Laufende CSF Aktivitäten umfassen eine Serie von "Developer Meetings". Das erste hat bereits stattgefunden an der TACC / Universität von Texas (www.tacc.utexas.edu). Ein Gruppe von Entwicklern hat dort begonnen, Erweiterungen zum CSF zu schreiben, inklusive Scheduling Plug-Ins, neue RM Adapter und Integration mit Portalen (GridPort). Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Welche Teildienste sollten funktionell in das D-Grid übernommen werden; n/a Erarbeitet von: Bernhard Schott Platform Computing GmbH Frankfurt Office Direct +49 (0) 69 348 123 35 Fax +49 (0) 69 348 123 34 Mobile +49 (0) 171 6915 405 Email: [email protected] Web: <http://www.platform.com/> Seite 22 2.8 Sun Java System Portal Server Name der Komponente (des Systems, des Projektes): Sun Java System Portal Server (Grid Engine Portal) Funktion der Komponente (des Systems; Ziel des Projektes): Das Sun Grid Engine Portal (GEP) basiert auf dem Sun Java System Portal Server. - Integriertes Identity Management o Authentifizierung und fein-granulare Autorisierung für Ressourcen o Flexible Authentifizierungs-Mechanismen einschließlich LDAP, RADIUS, X.509v3 Zertifizierungen, SafeWord Token-Karten und Authentifizierungs-Services für UNIX-Plattformen, o Single-Sign On und föderatives SSO (wichtig, wenn z.B. mehrere lokale GridPortale betrieben werden) nach dem Liberty Standard. o Benutzerprovisionierung und Self-Service - Unterstützung der JSR 168 Spezifikation zur Einbindung von Portlets, die im Rahmen der Initiative entwickelt werden oder schon existieren. - Mandantenfähig - Open Source GEP Servlet zur Einbindung von Grid Services - Sichere Mobility/Roaming Services o VPN on Demand; sicherer Zugriff über Browser (z.B. Internet Kiosk) mittels VPN. Es ist keine zusätzliche Soft- oder Hardware nötig. o Zugang via mobiler Devices (Handheld, Handy, PDA, etc.) ist unterstützt. - Grid Interface - File-Management (upload, download, view) via Mouse-Click - High-Performance Visualisierung der Daten - Integrierte Suchmaschine - Submit von Jobs - Abschicken der Jobs mittels Formulare (kein UNIX Kenntnisse erforderlich) - Dynamische Überprüfung des Job-Status - E-Mail Benachrichtigung nach Beendigung eines Jobs - Daten sharing - Diskussionsforen - Portlets für Webservices und die Einbindung weiterer eScience Community-Anwendungen (Kalender, Mail, Instant Messaging, Content- und Dokumentenmanagement Systeme, NewsChannels, Collaboration-Tools) Produzent der Komponente (des Systems; Projektbeteiligte): Sun Microsystems Die Komponente (das System) wird zurzeit eingesetzt von: Ausschnitt aus der Portal Server Referenzliste: - Advocate Health Care, Illinois - USA, 24.500 Mitarbeiter - Air Canada, Montreal – Canada, 38.600 Mitarbeiter - BASF, Ludwigshafen – Deutschland, 90.000 Mitarbeiter - Back Bay Technologies, Massachusetts – USA - Bell South, Atlanta – USA, 90.000 Mitarbeiter - BMW, München – Deutschland - Cutler-Hammer, Pennsylvania – USA Seite 23 - Eurocontrol, Brüssel – Belgien, 2000 Mitarbeiter Europäische Union - Belgien General Electric Corporate, Connecticut – USA, weltweites Portal für 300.000 Mitarbeiter General Motors Corporation (DCI Portal Excellence Award), 192000 Mitarbeiter HPCVL (High Performance Computing Virtual Laboratory) - Kanada JPL/NASA, Kalifornien – USA Mobilkom Austria National Semiconductor, Kalifornien – USA, 5000 Mitarbeiter Pepperdine University Poznan Supercomputing and Networking Center - Polen PSA Peugeot Citroen, Paris – Frankreich, 120000 Mitarbeiter Shanxi Mobile, Hongkong Sherwin-Williams, Ohio – USA Siemens A&D, Erlangen – Deutschland State of New Jersey, New Jersey – USA, 3400 Mitarbeiter Sun Microsystems, Kalifornien – USA, 39000 Mitarbeiter T-Mobile, Bonn - Deutschland Textron, Inc., Rhode-Island – USA Universität Ulm - Deutschland U.S. Army Accessions Command, Kentucky – USA U.S. Department of Defense - USA Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Mit der Sun Grid Engine oder ähnlichen Lösung mittels open-source servlet oder Web-Services. Mit welchen Systemen gibt es keine reibungslose Kooperation, Nicht bekannt. Die Anbindung wird bei Bedarf systemspezifisch analysiert. Welche anderen Komponenten sind für den Einsatz notwendig? Web – oder Application Server Worauf basieren diese Aussagen? Technisches Requirement. Bedeutung der Komponente (des Systems) im D-Grid: Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... Unterstützung föderativer Authentifizierung und Autorisierung. Einbindung der D-Grid Services in ein Portal ist eine Anforderung aus der Benutzerschaft. Einbindung weiterer Community Services, Roaming/Mobility/Collaboration/Content Management/..., via Portal. Ein Einsatz der Komponente (des Systems) sollte nicht eingesetzt werden, da ... Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Web Service Ressource Framework ist z.Zt. noch nicht implementiert. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Ist bei Sun in der Planung. Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Welche Teildienste sollten funktionell in das D-Grid übernommen werden; Seite 24 Erarbeitet von: Dr. Wilfried Stüttgen, [email protected] Seite 25 2.9 Sun Grid Engine Name der Komponente (des Systems, des Projektes): Sun Grid Engine Funktion der Komponente (des Systems; Ziel des Projektes): Distributed Management Produkt für Rechen-Ressourcen (Campus Grid) - Dynamisches Ressource-Balancing - Policy-basierende Ressourcen Zuweisung - Flexible, hierarchische Policies für die Job-Ausführung - Transfer Queues zum Versenden von Jobs an externe Grids - Management von parallelen Anwendungen - MPI und PVM - Fehler tolerant - Checkpointing Funktionalität - OpenSSL basierendes Sicherheits Framework - Standard API – DRMAA - Unterstützung externer Datenbanken (Oracle, MySQL, ...) zur Speicherung und Auswertung von Reporting/Accounting Informationen - Heterogener Plattform-Support - Eingebunden in das Sun Grid Engine Portal (siehe Bestandsaufnahme Sun Grid Engine Portal) Produzent der Komponente (des Systems; Projektbeteiligte): Sun Microsystems Die Komponente (das System) wird zurzeit eingesetzt von: Beispiele sind: - Sun Center of Excellence for CFD, RWTH Aachen - ICENI, Imperial College e-Science Networked Infrastructure, London - GRIDS, Grid Computing & Distributed Systems Lab, Melbourne - Delaware Biotechnology Institute, Delaware - EZ-Grid, Sun Center of Excellence for Grid Computing, Houston - White Rose Grid, Universities of Leads, Sheffield, York, UK - NCSV, Nanyang Center for Supercomp.& Visualization, Singapore - EPCC Edinburgh Sun Data & Compute Grid Project - HPCVL (High Performance Computing Virtual Laboratory) Canada, Secure innovative HPC Portal/Grid environment - GridLab European Project for Grid Application Infrastructure - myGrid Infrastructure for an e-Biologist Workbench, Manchester - Sun Center of Excellence for BioInformatics, Ohio Supercomputing Center Ohio - AIST Advanced Industrial Science & Technology Institute, Tokyo - PROGRESS, Poznan Supercomputing and Networking Center - University of Notre Dame - Ford Motor Company - Motorola - Synopsis - U.v.m. Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Globus Toolkit 2 und 3 Seite 26 Alle DRMAA kompatible Systeme Mit welchen Systemen gibt es keine reibungslose Kooperation, Nicht bekannt. Sun Grid Engine ist kompliant zu Grid Engine Open Source Project. Welche anderen Komponenten sind für den Einsatz notwendig? RDBMS für Reporting. Worauf basieren diese Aussagen? Entfällt. Bedeutung der Komponente (des Systems) im D-Grid; Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... Langjähriges etabliertes kommerzielles Produkt (Sun N1 Grid Engine Enterprise Edition) für Grid Computing mit entsprechendem Support zur Einhaltung von SLA und QoS. (Sun Grid Engine steht auch als open source Version zur Verfügung.). Sie wird in vielen globalen Grid Projekten als lokales System mit den entsprechenden Schnittstellen für z.B. Globus eingesetzt. Ein Einsatz der Komponente (des Systems) sollte nicht eingesetzt werden, da ... Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: ‚Globale’ Mechanismen, ist allerdings auch nicht primäre Einsatzrichtung des Produktes. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Sun in Zusammenarbeit mit Kunden aus dem Forschungs-Umfeld. Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Welche Teildienste sollten funktionell in das D-Grid übernommen werden; Erarbeitet von: Dr. Wilfried Stüttgen, Sun Microsystems GmbH Seite 27 2.10 GridSphere Name der Komponente (des Systems, des Projektes): Gridsphere Portal Framework (http://www.gridsphere.org), GridLab Funktion der Komponente (des Systems; Ziel des Projektes): Bereitstellung einer einheitlichen, webbasierten, industriestandbasierenden Benutzeroberfläche für Endnutzer und Administratoren. Das Projekt soll es Wissenschaftlern und Forschern ermöglichen einen einfachen Zugriff auf GridServices und Ressourcen zu erhalten. Dies soll einfach bedienbar, unabhängig vom Betriebssystem und Aufenhaltsorts und minimale Anforderungen an den Rechner des Anwenders sein. Es sind zur Zeit u.a. Jobsubmission, Filemanagement, Jobstatusabfragen und ein Single Sign On in Gridsphere und GridPortlets enthalten. Produzent der Komponente (des Systems; Projektbeteiligte): EU Projekt GridLab; AEI Golm Die Komponente (das System) wird zurzeit eingesetzt von: AEI Golm, San Diego Supercomputing Center (GEOScience Network), Canadian NRC Grid Infrastructure Project, Australian Virtual Observatory, Louisianna State University, Poznan Supercomputing Center Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Das Framework läuft zusammen mit dem CACTUS Toolkit und GLOBUS. Mit welchen Systemen gibt es keine reibungslose Kooperation, Über andere System als CACTUS und GLOBUS kann keine Aussage getroffen werden. Welche anderen Komponenten sind für den Einsatz notwendig? Das Portalframework basiert auf Java und ist somit auf allen Systemen verfügbar auf denen eine entsprechende Java Virtual Machine installiert ist. Weiterhin benötigt es einen Jakarta Tomcat Servlet Container. Dieser ist Open Source und frei verfügbar. Worauf basieren diese Aussagen? Diese Aussagen basieren auf Erfahrungen/Tests und der Projektdokumentation. Bedeutung der Komponente (des Systems) im D-Grid; Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... Das Gridsphere Framework stellt eine webbasierte, open source Portallösung zur Verfügung. DGrid sollte einen webbasierten Zugriff auf Ressourcen und Informationen bereitstellen weil dies Seite 28 zu einer hohen Akzeptanz bei Forschern und Wissenschaftlern führt. Es sind keine externe Programme zu installieren die eventuell spezielle Schreibrechte benötigen und nur von Administratoren bereitgestellt werden können. Die einzig benötigte Komponente die der Nutzer braucht um Zugriff auf Ressourcen zu erhalten ist ein normaler Webbrowser der seit einigen Jahren zur Grundausstattung jedes Computers gehört. Weiterhin kann der Nutzer so unabhänging von seinem Arbeitscomputer (z.B. Zugangssysteme auf Konferenzen, andere Einrichtungen, Internet Cafe) auf alle Informationen/Programme schnell und problemlos zugreifen. Erste Anpassungen des Gridsphere Frameworks an Besonderheiten einer Gridumgebung sind bereits vorhanden, diese weisen aber in mehreren Punkten noch deutlichen Verbesserungsbedarf (inbesondere Anpassungen an andere Applikationen, Aufgabenstellungen) auf. Bereits in dieser Phase zeigte sich aber die Eignung als schneller und komfortabler Zugriff auf im Grid bereitgestellte Services. Auch Administratoren profitierten von einem einheitlichen Webinterface, da sie alle von ihrer Einrichtung bereitgestellten Services nun von einer Oberfläche aus konfigurieren/verwalten können. Alle diese Punkte sind nicht spezifisch einer Community zuzuordnen, das gesamte D-Grid und alle Nutzergruppen können von dieser Technologie profitieren. Weiterhin unterstützt Gridsphere den JSR 168 Standard welches einen einfachen Austausch von Komponenten anderer Portallösungen ermöglicht. Ein Einsatz der Komponente (des Systems) sollte nicht eingesetzt werden, da ... Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Endnutzer: Das Benutzerinterface der „Cactus und GridPortlets“ ist zur Zeit ohne zusätzliches Wissen über Gridcomputing nicht intuitiv genug um Wissenschaftlern ohne diesen Hintergrund einen einfachen Zugang zu Ressourcen zu geben. Administration: Die Integration in andere (Servlet)Umgebungen als Jakarta Tomcat ist nicht gegeben. Mittelfristiger Entwicklungsbedarf besteht in den Bereichen: - Authentifikation gegenüber verschiedenen Identitysystemen - Sicherheitsmodell um fein garnulierte Zugriffsrechte zu ermöglichen - Unterstützung von Workflow Jobs/anderen Jobschedulern - Entfernte Visualisierung via Webinterface um (Zwischen)ergebnisse darzustellen - Support für Remote Portlets (WSRP) um Portlets lokal bereitzustellen die in anderen Einrichtungen erstellt wurden oder um mit Services installierte Portlets zu nutzen - Entwicklung von „Grid-Ready“ visuellen Komponenten um eine schnellere und einfachere Anbindung von Applikationen zu gewährleisten - Benutzerinterface (Unterstützung JSF, Struts) - Anpassung der „Cactus und GridPortlets“ an JSR 168 (http://www.jcp.org/en/jsr/detail?id=168) Standard. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Meines Wissens arbeitet im Augenblick niemand an den oben genannten Schwachstellen. Welche Teildienste sollten funktionell in das D-Grid übernommen werden: Das gesamte System sollte übernommen werden. Seite 29 Erarbeitet von: Oliver Wehrens ([email protected]) Seite 30 2.11 EDG Resource Broker Der Resource Broker (RB) ist das Herzstück des Workload Management System (WMS) in der EDG Architektur. Er bezieht Informationen über den Status des Grid aus dem Information Index (II) und die Verteilung der Replikas (RLS, Replica Location Service). Anhand dieser Informationen und der Anforderung des Nutzers wählt er das optimale Rechenzentrum zur Ausführung aus und übergibt den Job dem dortigen Batchsystem. So werden nur solche Computing Elements (CEs) ausgewählt, die sich nahe einem Storage Element (SE) befinden, auf dem die ausgewählten Input-Daten (InputData in der JDL) vorhanden sind. Figure 1. Komponenten des RB in Wechselwirkung innerhalb und ausserhalb des RB Das User Interface (UI) ist die Komponente, die den Benutzern den Zugang zu den Funktionalitäten des WMS ermöglicht. Der User beschreibt den Job mit Hilfe der JDL (Job Description Language). Ein Beispiel einer JDL-Datei: Executable = "./myexecutable"; Arguments = "--config small-file.cfg --data BIG-file.dat"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = {"small-file.cfg"}; OutputSandbox = {"std.out","std.err","run.log"}; InputData = {"lfn:BIG-file.dat"}; DataAccessProtocol = {"gridftp"}; Requirements = other.GlueCEInfoTotalCPUs > 4; Seite 31 Der Network Server ist ein generischer Netzwerkdaemon, der für die Annahme der eingehenden Aufträge (Requests) von der UI (z.B. Auftragseinreichung und Entfernung) verantwortlich ist. Wenn es sich um einen zulässigen Auftrag handelt, wird er zum Workload Manager weitergeleitet. Der Workload Manager ist die Kernkomponente vom RB. Wenn der Workload Manager einen gültigen Auftrag (Job) bekommt, leitet er die angebrachten Aktionen ein, um die gestellten Anforderungen zu erfüllen. Die Matchmaker/Broker Komponente stellt einen Ressourcenvermittlerdienst (Matchmaking) zur Verfügung: Zu einem gegebenen JDL Ausdruck (z.B. für Job Submission oder für Ressourcenreservierung), findet es die Ressource, die am Besten zu dem Auftrag passt. Der Broker kann in drei Submodule zerlegt werden: • • • Ein Submodul welches für die Ressourcenvermittlung (Matchmaking) zuständig ist und die passenden Ressourcen für den gegebenen JDL Ausdruck zurückgibt. Ein Submodul welches eine Rangliste von den passenden Ressourcen erstellt und die “Beste” Ressource für den gegebenen JDL Ausdruck zurückliefert. Ein einfügbares Submodul welches die ausgewählte Planungsstrategie (Scheduling) implementiert. Der Job Adapter führt die letzten Anpassungen am JDL Ausdruck des Jobs aus, bevor es an Condor-G zur eigentlichen Jobeinreichung (Job Submission) weitergeleitet wird. Neben der Erstellung der Condor-G Submissiondatei erstellt dieses Modul ein Wrapper Script, welches dafür verantwortlich ist, dass eine passende Ausführungsumgebung auf dem Computing Elemente geschaffen wird (das beinhaltet den Transfer der Input und Output Sandbox). Condor-G ist das Modul, welches die eigentlichen Job Management Operationen (Job Submission, Job Removal etc.) auf Auftrag des Workload Managers durchführt. Der Log Monitor ist für die Überwachung der Condor-G Log Datei verantwortlich. Er fängt „interessante“ Ereignisse der aktiven Jobs ab (z.B. Job beendet, Job abgebrochen etc.) und veranlasst entsprechende Aktionen. Abschließend speichert der Logging und Bookkeeping Dienst (LB) die Information ab, welche durch verschiedene Komponenten des WMS erzeugt wurden. Basierend auf diese Informationen hält der LB Dienst eine „Statusmaschinenansicht“ für jeden einzelnen Job. Unterstützt wird momentan insbesondere: Virtual Organisation Management Systems (VOMS) für VO basierte Sicherheit. Interaktive Jobs: stdin/stdout/stderr werden direkt übertragen. Checkpointing in „einfacher“ Form, d.h. der Entwickler ist verantwortlich für das Sichern des Zustandes seines Jobs. Ein gescheiterter Job wird resubmitted und bekommt seinen Status vom RB mitgeteilt. – Parallele Jobs: Dies ermöglicht es, MPI Jobs zu verschicken. Der RB achtet hierbei darauf, dass auf einer Site ausreichen freie CPUs zur Verfügung stehen. • Gangmatching: Ermöglicht, verschiedene Randbedingungen gleichzeitig zu berücksichtigen. Z.B. benötigt ein Job 10 CPUs und ein SE in der Nähe der CPUs auf dem noch 5GB frei sind. • Automatische Registrierung von Ausgabedaten im Replika Katalog. – – – Seite 32 An der Integration eines Workflowmechanismus wie DAGman und am Accounting wird gearbeitet. Erarbeitet von: Marcus Hardt, Ariel Garcia, Horst Wenske. Letzte Aktualisierung: 16.04.2004 2.12 Relational Grid Monitoring Architecture (R-GMA) Name der Komponente (des Systems, des Projektes): Relational Grid Monitoring Architecture (R-GMA) Funktion der Komponente (des Systems; Ziel des Projektes): Der Informationsindex MDS von Globus hat nicht die Anforderungen von EDG erfüllt, deswegen kommt in der aktuellen Version von EDG die Eigenentwicklung RGMA zum Einsatz. Es wurde als Monitoring-System geplant und lässt sich ebenso gut als Informationssystem einsetzen. RGMA wurde nach dem GGF GMA Standard gebaut und benötigt keine weiteren EDG Komponenten. RGMA ist eine Java Serveranwendung, die auf jeder Platform lauffähig ist, die Java und einen Webserver mit Java Servelet Unterstütutzung zur Verfügung stellt. Es ist ursprünglich mit einem Webservice Konzept entworfen worden, welches nicht dem Webservice Standard entpricht. Inzwischen ist RGMA mit einem überarbeiteten Webservice Design reimplementiert worden und wird sich nach dem WSRF Standard richten, sobald er einen ausreichenden Reifegrad erreicht hat. Figure 2. R-GMA Architecture Seite 33 In RGMA werden Informationen produziert, gespeichert und konsumiert. Das ganze System agiert wie eine verteilte SQL Datenbank. Ein Producer Servlet registriert sich bei der Registrierung (Registry) und kann den Inhalt für einen Teil einer Tabelle dieser "Datenbank" liefern. Die Information, welche Tabellen zur Verfügung stehen, wird im Datenbankschema (Schema) gespeichert. Wenn ein Consumer Servlet Informationen aus einer Tabelle benötigt, befragt es zuerst die Registry nach den registrierten Produzenten. Danach kontaktiert es direkt die Produzenten und fragt die Daten ab. Das bedeutet, dass es keinen aktiven Datenfluss im System gibt, wenn keine aktiven Konsumenten existieren. Es existieren verschiedene Typen von Produzenten: Stream-, DataBase-, Latest-Producer unterstützen Datenflüsse (data streaming) zum Konsumenten, Archievierung von Daten oder Anfragen von “aktuellen” Daten, um das System zu kontrollieren. Ein Sonderfall stellen die Archievierer (Archivers) dar: Diese bestehen aus einem Konsumenten, der Information abspeichert, und außerdem aus einem Produzenten, der die Informationen wieder publiziert, wodurch historische Informationen zugänglich werden. Besondere Features von RGMA RGMA benutzt ein relationales Informationsmodell, wodurch man Informationen mittels SQL angelehnten Anfragen bekommt. Beispiel: latest select RunningJobs,TotalCPUs,HostName from GlueCE +-------------+-----------+---------------------------+ | RunningJobs | TotalCPUs | HostName | +-------------+-----------+---------------------------+ | 3 | 16 | ce.gridpp.shef.ac.uk | | 4 | 4 | ce001.fzk.de | | 4 | 28 | grid0007.esrin.esa.int | | 0 | 4 | grid001.pd.infn.it | ....................................................... | 0 | 2 | gw34.hep.ph.ic.ac.uk | | 5 | 10 | heplnx11.pp.rl.ac.uk | | 9 | 32 | tbn09.nikhef.nl | +-------------+-----------+---------------------------+ 20 Rows in set Es existieren bereits Schnittstellen zwischen RGMA und Nagios und Ganglia. Für weitere Details siehe bitte http://www.r-gma.org/ Erarbeitet von: Marcus Hardt, Ariel Garcia, Horst Wenske. Letzte Aktualisierung: 06.04.2004 Seite 34 2.13 Condor Name der Komponente (des Systems, des Projektes): Condor, Condor-G Funktion der Komponente (des Systems; Ziel des Projektes): Condor ist ein Resource Management- und Scheduling-System für High Throughput Computing durch Ausnutzen brachliegender Rechenzeit auf Workstations innerhalb einer Organisation. Condor-G hat zusätzlich Anbindung an Globus. Produzent der Komponente (des Systems; Projektbeteiligte): Condor wird seit 1988 von der University of Wisconsin entwickelt und seit etwa einem Jahr unter einer BSD-ähnlichen Lizenz frei erhältlich. Solange der Sourcecode noch bereinigt/überarbeitet wird, bekommt man ihn momentan nur auf Anfrage (die UNI Karlsruhe verfügt über die Sourcen). Homepage: http://www.cs.wisc.edu/condor/ Die Komponente (das System) wird zurzeit eingesetzt von: Evaluation an der Uni Karlsruhe und Uni Jena; hier bisher kein Produktivbetrieb; Condor ist jedoch Bestandteil verschiedener Grid-Projekte: NMI: http://www.nsf-middleware.org/documentation/NMI-R4/0/CondorG/ GriPhyN: http://www.griphyn.org bzw. Virtual Data Toolkit (http://www.lsc-group.phys.uwm.edu/vdt/) Einsatz im TeraGrid: http://www.teragrid.org/userinfo/guide_jobs_condorg.html Einbettung der Komponente (des Systems, des Projektes): Condor ist auf vielen Plattformen lauffähig: MacOS X, Tru64 Unix, HP-UX, Irix, Linux, Solaris, Windows. Es gibt diverse Einschränkungen hinsichtlich der Betriebssystem- und LibraryVersionen (s.u.). Die Variante Condor-G (http://www.cs.wisc.edu/condor/condorg) verwendet Globus, um Jobs über das Grid starten bzw. aus dem Grid Jobs entgegennehmen zu können. Der sog. Glide-In Mechanismus ermöglich es, einen (lokalen) Condor-Pool auf externe GridRessourcen auszudehnen, indem dort zunächst automatisch Condor-Binaries installiert werden (glide-in), die dann Kontakt zum lokalen Condor-Masterserver aufnehmen. Dadurch kann temporär ein virtueller, vergrößerter Pool erzeugt werden. Die Evaluation an der Uni Jena mit einer älteren Condor-Version hat gezeigt, dass Condor relativ empfindlich gegenüber den verwendeten Betriebssystem- und StandardbibliothekVersionen ist. Für einen reibungslosen Betrieb von Condor an der Uni Jena, war es notwendig, dass die Betriebsumgebung exakt auf die verwendete Condor-Version abgestimmt wird. Bei neueren Condor Versionen sollten diese Schwierigkeiten nicht mehr auftreten (konnte noch nicht getestet werden). Bedeutung der Komponente (des Systems) im D-Grid: Condor könnte seinen Platz im D-Grid finden als lokaler Scheduler, der ungenutzte Kapazitäten von PC-Pools u.ä. für das D-Grid zur Verfügung stellt. Stärken sind u.a. Aufspüren unterbelasteter Rechner, relativ mächtiges Matchmaking, um auch in heterogenen Rechnerlandschaften (WorkstationZoo) den geeignetsten Rechner für einen gegebenen Job zu finden, automatisches, transparentes Checkpointing, Seite 35 automatische Prozessmigration, Definition von Workflows über den Condor Dagman, Unterstützung von interaktiven Jobs via Condor on Demand (COD), hochentwickelte Monitoring Tools z.B. Condor Hawkeye, Produktionsstabilität (ist bereits seit Jahren im industriellen Einsatz), Unterstützung von GSI und Kerberos Authentifizierung, ein sehr aktives Projekt mit ca. 40 Entwicklern, viele ergänzende Projekte, die die Funktionalitäten von Condor besonders im I/O Bereich erweitern. Ein paar ausgewählte Condor Projekte: Stork Ein Datenplazierung Scheduler der Daten analog wie Jobs als „First Class Citizens“ im Grid behandelt (Daten Queuing, Monitoring, Check-Pointing etc.). GCB, DPF, eGCB Der Generell Connection Broker (GCB) und der Dynamic Port Forwarder (DPF) zusammengefasst in den extended Generell Connection Broker (eGCB) ermöglichen es, dass Condor Pools in privaten Netzwerken über Firewalls hinweg miteinander verbunden werden können (via Condor Flocking). SOAP API / Webservice Unterstützung Es existiert bereits ein Prototyp von einer Condor SOAP API, die in die nächste Developer Version einfließen wird. Weitere Condorprojekte kann man auf der Condor Homepage finden. Bedeutung für das D-Grid: Für die geplante Startversion des D-Grid kann Condor helfen, schnell zu ersten Lösungen für Anwendungen aus dem Bereich des High-Throughput-Computing zu kommen. Die auf jeden Fall noch vorhandenen Schwachstellen (s.u.) könnten dann in ersten Probebetrieben genauer bestimmt und in den Folgejahren beseitigt werden. Insbesondere besteht noch Untersuchungsbedarf, ob und in wie weit sich Condor (bzw. CondorG) auch als globaler Scheduler bzw. Request Broker für eine verteilte Infrastruktur eignet, da konzeptuell stark vom Begriff des lokalen Pools ausgegangen wird. Andererseits sind aus der Condor-Entwicklung wesentliche Features in den Globus Resource Manager GRAM 1.5 eingeflossen, so dass sich die Konzepte nicht nur für lokale Pools einsetzen lassen (http://www.globus.org/toolkit/contributors.html). Welche Schwachstellen hat die Komponente (das System) zurzeit: Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Die Unterstützung für Parallelrechnersysteme (SMP, MPP, Cluster) ist im Vergleich zu hieraus spezialisierten Schedulern (LSF, SGE u.a.) relativ dünn geraten, so dass hier von einem Einsatz noch abzuraten ist. In Bezug auf diese Funktionalität sind momentan keine nennenswerten Entwickelungsaktivitäten zu erkennen. Netzwerkstruktur: Eine Folge aus dem Condor zu Grunde liegenden Workstation-Pool-Modell ist, dass Condor keine Unterstützung für Multihomed Hosts bietet, sondern überall durchgängiges IP-Routing erfordert. Hier kann es in Zusammenhang mit komplexen Netzwerktopologien (also Seite 36 nicht alles an offiziellen IP-Adressen oder nicht alles in einem einzigen VPN) zu Problemen kommen. Dies ist eine typische P2P-Problematik. Weitere Lösungsansätze neben dem Einsatz von VPNs werden z.B. in http://www.cs.wisc.edu/condor/doc/CCGRID2003.pdf vorgeschlagen. Welche Teildienste sollten funktionell in das D-Grid übernommen werden: Aufspüren unterbelasteter PCs/Workstations und deren Nutzbarmachung für das D-Grid, Transparentes Checkpointing und Migration (innerhalb eines Pools), Matchmaking zur Ressourcen-Lokalisierung. Erarbeitet von: Rudolf Lohner, RZ Uni Karlsruhe <[email protected]> Horst Wenske, RZ Uni Karlsruhe <[email protected]> Dietmar Fey, FSU Jena <[email protected]> Christian Kauhaus, FSU Jena <[email protected] Seite 37 2.14 AVAKI Name der Komponente (des Systems, des Projektes): AVAKI Data Grid 4.0 Funktion der Komponente (des Systems; Ziel des Projektes): AVAKI Data Grid organisiert die Datenhaltung in verteilten Umgebungen. Dabei können Anwender wie Applikationen auf Daten zugreifen, als ob diese lokal wären. Erreicht wird dies durch einen „unified data catalog“ in Verbindung mit progressivem Caching. AVAKI Data Grid ist organisiert in drei Layern: • • • Access o Zugriff auf Daten „As if Local“, o „unified data catalog“, o ODBC, JDBC, o Web Services/ SOAP, o file read, o JSP/Tag library Integration o Datenformat Konversion, o Relational XML/XSLT, o Automatisierung von Data-Flows zwecks Propagation von Updates durch eine ausgedehnte Organisation. o Sicherstellung der Cache-Konsistenz Provisioning o Integration der Datenquellen: o NAS, SAN, o Application Data, o Oracle, DB2, … o DWH-solutions Die Fähigkeit, Daten passend zur jeweiligen Applikation / User im jeweiligen Zielformat darzustellen, ist innovativ. Dies erlaubt die GRID-Integration verschiedenster Legacy und Commercial Applications ohne diese verändern zu müssen. Gerade auch die Aggregation von Daten aus verschiednen Quellen und deren einheitliche Darstellung erlaubt neue GRID basierte Dienste und Dienstleistungen. Die Organisation des Caching stellt sicher, dass Daten nur einmal im System „valid“ sind – alles andere sind transiente Kopien ohne Persistenz. Detaillierte Informationen sind bitte der Webseite: www.avaki.com zu entnehmen. Produzent der Komponente (des Systems; Projektbeteiligte): AVAKI Corporation, www.avaki.com Die Komponente (das System) wird zurzeit eingesetzt von: The North Carolina Bioinformatics Grid (NC BioGrid) (Weitere Informationen von AVAKI angefordert) Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? GRID: GLOBUS, GLOBUS-CSF, LSF-MultiCluster-Grid RMS: LSF, SGE, … Datenbanken: Oracle, DB2, … Storage: NAS, SAN, NFS, … Seite 38 Mit welchen Systemen gibt es keine reibungslose Kooperation, unbekannt Welche anderen Komponenten sind für den Einsatz notwendig? keine Worauf basieren diese Aussagen? AVAKI Dokumentation Bedeutung der Komponente (des Systems) im D-Grid: Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... AVAKI bietet eine sehr fortgeschrittene Datenintegration für GRID-Umgebungen die auch einem automatisierten FTP weit überlegen ist. Da AVAKI auch Integrationsmöglichkeiten mit verschiedenen Applikationstypen bereitstellt, wäre eine solche Komponente im D-GRID sehr willkommen und erlaubt neue, innovative Anwendungen. Die detaillierte Caching-Steuerung erlaubt die feingranulare Anpassung an die GRIDTopologie, die Lokationen der Daten und die Verbindungsbandbreiten. Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Es ist zu prüfen, inwieweit das Thema AVAKI besser bei einem anderen Arbeitskreis angebracht ist oder in AK2 verfolgt werden sollte Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Erarbeitet von: Bernhard Schott Platform Computing GmbH Direct +49 (0) 69 348 123 35 Fax +49 (0) 69 348 123 34 Mobile +49 (0) 171 6915 405 Email: [email protected] Web: <http://www.platform.com/> Seite 39 2.15 NSF Middleware Initiative Name der Komponente (des Systems, des Projektes): NSF Middleware Initiative Funktion der Komponente (des Systems; Ziel des Projektes): Die NSF Middleware Initiative (NMI) besteht aus einer Sammlung einzelner SoftwareSysteme, die in einem Paket mit Dokumentation angeboten werden. Die Initiative ist Bestandteil des Internet2 Projektes in den USA, das im Jahr 1997 begonnen hat. Es handelt sich bei der NMI-Software um keine eigenständige und in sich kohärente Gesamtlösung. Stattdessen ist es eine Sammlung von bekannten und bestehenden Software-Paketen, die als Komponenten für die NMI ausgewählt wurden. Das NMI bietet diese Pakete als Bundle mit einer angepassten Dokumentation für die separate Installation der Einzelkomponenten an. Ein Großteil der betrachteten Software sind die schon bekannten Standard-Pakete: Globus Als übergreifende Middleware zwischen den beteiligten Grid-Partnern. (Eigene Bestandsaufnahme innerhalb des AK2.) Condor-G Als lokale Cluster-Management-Software mit Anbindung an das Grid. (Eigene Bestandsaufnahme innerhalb des AK2.) Network Weather Service (NWS) für Bandbreiten-Monitoring und statistische Prognose der Netzwerk-Eigenschaften zwischen den Grid-Knoten. Wäre Gegenstand von AK4. GSI-OpenSSH Anpassung, um OpenSSH auch mit GSI zu nutzen. Ist ein von vielen Zusatztools für Globus, für die keine separate Betrachtung erfolgt. KX.509/KCA Als Brücke zwischen Kerberos und X.509 PKI. Sollte nur dann näher betrachtet werden, wenn von Seiten der Resource-Besitzer Kerberos eingesetzt wird. MPICH-G2 Das bekannte MPICH erweitert für heterogene Plattform-Kommunikation, in der das Nachrichtenformat zwischen einzelnen Knoten über unterschiedliche Protokolle verlaufen kann. Dies kann genutzt werden, um MPI effizient innerhalb eines Clusters und gleichzeitig zwischen Grid-Einrichtungen zu nutzen. Ist möglicher Teil einer Programmierschnittstelle (ähnlich zu PAX-MPI vom HLRS). Darüberhinaus existieren einige Tools, für die Verwaltung der Grid-Software: My Proxy Ein Archiv für die eigenen Zertifikate für die Proxies auf entfernten Systemen. Für den Einsatz eines solchen Tools in einer Grid-Infrastruktur, ist erforderlich, dass die übrigen Software-Komponenten, diese Schnittstelle verwenden. Uns ist zurzeit keine breite Verwendung bekannt. Seite 40 Grid Packaging Tools Kleinere Tools um Daten und Source-Code mit Abhängigkeiten beschreiben zu können. Aus der Dokumentation geht es nicht hervor, ob es sich um eine reine Installationshilfe oder um ein Tool für die Grid-Verwendung handelt. Im letzteren Fall könnte es ein Teil einer Programmierschnittstelle sein. Gridconfig Tools Python-Skripte um Konfigurationsdateien für die Grid-Komponenten des NMI Paketes aus einer mySQL Datenbank zu erzeugen. GridSolve Programmierschnittstelle für Programme, die dynamisch im Netzwerk nach freien Ressourcen suchen und diese nutzen. Hierbei handelt es sich um eine Erweiterung des NetSolve-Paketes. Es basiert auf Globus (verteilt) oder Condor-G (lokal). PyGlobus liefert Zugriff auf Globus über die Python Skriptsprache UberFTP Ein interaktiver GridFtp Client In Ergänzung gibt es einen Satz von Tools and Software, die insbesondere für die Authentifizierung und das Benutzer-Management genutzt werden können. CPM Tool für die vereinfachte Erzeugung von x509 Zertifikaten. Look Perlskript, um regelmäßig Daten aus Suns iPlanet LDAP Server auszulesen und in ein Format zu bringen, damit ein OpenSource Plotting-Tool daraus Web-Bilder machen kann. Hintergrund ist die Web-Anzeige von statischen Daten über die Ressourcen-Auslastung (weitestgehend Netzwerk-Informationen aus dem NWS). OpenSAML Libraries, um über Java und C++ SAML-Dateien zu erzeugen und auszutauschen. SAML ist ein Standard um Security Attribute von Diensten XML-basiert zu beschreiben und auszutauschen. PERMIS Infrastruktur, um x509 AC Zertifikate auszuwerten und damit Zugang zu Ressourcen auf Basis von Rollenkonzepten bestimmen zu können. Shibboleth Authentifizierungssystem für den Zugriff auf Web-Server, d.h. Web-Inhalte können z.B. auf Benutzerkreise eingeschränkt werden, wobei der lokale Administrator die Zugangsrechte nicht individuell lokal verwalten muss. Es ist zu beachten, dass es hier nicht um Web-Services oder den Login-Zugang zu einem entfernten Rechnersystem geht. Die Verwendung beschränkt sich auf Web-Inhalte für z.B. Online-Kurse, Campus-Bibliotheken oder geschützte Projekt-Bereiche im WWW. WebISO (Web Initial Sign-on) Drei alternative sign-on Systeme für Web-Server. Seite 41 Die genannten Komponenten beziehen sich auf die Version 4 des NMI-Paketes vom 15. Dezember 2003. Dabei fällt auf, dass einzelne Komponenten insbesondere für den Sicherheitsbereich, wie z.B. Shibboleth auf das Jahr 2002 zurückgehen und wenige aktuelle Veränderungen erkennbar sind. Weitergehende Informationen zum NMI finden sich unter http://www.nsf-middleware.org/ Produzent der Komponente (des Systems; Projektbeteiligte): NSF Projekt unter Einbindung mehrerer Forschungseinrichtungen in den USA Die Komponente (das System) wird zurzeit eingesetzt von: University of Alabama at Birmingham, University of Alabama in Huntsville , Georgia State University, University of Florida, Florida State University, University of Michigan, Texas Advanced Computing Center, University of Virginia, University of Southern California Einbettung der Komponente (des Systems, des Projektes): Als Sammlung von bekannten Grid-Lösungen sind die einzelnen Komponenten zu betrachten. Die zentralen Bestandteile mit Globus und Condor werden entsprechend separat in diesem Dokument behandelt. Eine komplette Betrachtung des NMI ist nicht sinnvoll, da die einzelnen Komponenten von sehr unterschiedlichem Umfang, verschiedenen Produzenten und eigenen Zielsetzungen sind. Eine koherente Gesamtsicht ist nicht vorgesehen, sondern die Einzelbestandteile können individuell von den Partnern genutzt werden. Bedeutung der Komponente (des Systems) im D-Grid: Eine Bewertung der gesamten NMI ist schwer möglich und wenig sinnvoll, da es sich um eine Sammlung von Software handelt, die man einzeln bewerten muss. Die wesentlichen Kernkomponenten sind Globus, Condor, die Verwendung von Kerberos und x.509 Zertifikaten. Im Bereich der Sicherheitsstrukturen sind die vorhandenen Programme fast ausschließlich für die Authentifizierung gegenüber Web-Servern ausgerichtet. Damit lässt sich z.B. geschützte Kollaboration im Web durchführen. Im Bereich des Computational Grids finden sich jedoch keine eigenen Lösungen. Durch die Verwendung von Globus und damit GSI ist weiterhin die Nutzung von "normalen" x.509 Zertifikaten notwendig. Eine vollständige Übernahme ist aus den oben genannten Gründen nicht angebracht. Erarbeitet von: Ramin Yahyapour CEI, Universität Dortmund [email protected] 2.16 Ganglia Toolkit Name der Komponente: Seite 42 Ganglia Cluster Toolkit http://ganglia.sourceforge.net Funktion der Komponente: Ganglia ist ein skalierbares verteiltes System für das Monitoring von high-performance Systemen (z.B.: Clustern und Grids). • auf jedem Node wird ein Monitoring-Dämon (gmond) installiert • auf dem zentralen Knoten zusätzlicher Dämon (gmetad), es kann meherer zentrakle Konten gegeben • Verteilung der Messdaten im Abstand von einigen Sekunden über Multicast • Daten werden mit Hilfe von RRDTool in Round Robin Databases gesammelt (stündlich, täglich, wöchentlich, monatlich, jährlich) • Neben voreingestellten Metriken lassen sich eigene Messpunkte in Ganglia einspeisen Ganglia besteht aus: • Ganglia Monitoring Daemon (gmond): Gmond has four main responsibilities: monitor changes in host state, multicast relevant changes, listen to the state of all other ganglia nodes via a multicast channel and answer requests for an XML description of the cluster state. Each gmond transmits in information in two different ways: multicasting host state in external data representation (XDR) format or sending XML over a TCP connection. • Ganglia Meta Daemon (gmetad): Federation in Ganglia is achieved using a tree of point-to-point connections amongst representative cluster nodes to aggregate the state of multiple clusters. At each node in the tree, a Ganglia Meta Daemon (gmetad) periodically polls a collection of child data sources, parses the collected XML, saves all numeric, volatile metrics to round-robin databases and exports the aggregated XML over a TCP sockets to clients. Data sources may be either gmond daemons, representing specific clusters, or other gmetad daemons, representing sets of clusters. Data sources use source IP addresses for access control and can be specified using multiple IP addresses for failover. The latter capability is natural for aggregating data from clusters since each gmond daemon contains the entire state of its cluster. • Ganglia PHP Web Frontend: It provides a view of the gathered information via realtime dynamic web pages. Most importantly, it displays Ganglia data in a meaningful way for system administrators and computer users. Although the web frontend to ganglia started as a simple HTML view of the XML tree, it has evolved into a system that keeps a colorful history of all collected data. The Ganglia web frontend caters to system administrators and users. For example, one can view the CPU utilization over the past hour, day, week, month, or year. The web frontend shows similar graphs for Memory usage, disk usage, network statistics, number of running processes, and all other Ganglia metrics. The web frontend depends on the existence of the gmetad which provides it with data from several Ganglia sources. Specifically, the web frontend will open the local port 8651 (by default) and expects to receive a Ganglia XML tree. The web pages themselves are highly dynamic; any change to the Ganglia data appears immediately on the site. This behavior leads to a very responsive site, but requires that the full XML tree be parsed on every page access. Therefore, the Ganglia web frontend should run on a fairly powerful, dedicated machine if it presents a large amount of data. The Ganglia web frontend is written in the PHP scripting language, and uses graphs generated by gmetad to display history information. It has been tested on many flavours of Unix (primarily Linux) with the Apache webserver and the PHP 4.1 module. Seite 43 Ziel des Projektes Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It is based on a hierarchical design targeted at federations of clusters. It relies on a multicast-based listen/announce protocol to monitor state within clusters and uses a tree of point-to-point connections amongst representative cluster nodes to federate clusters and aggregate their state. It leverages widely used technologies such as XML for data representation, XDR for compact, portable data transport, and RRDtool for data storage and visualization. It uses carefully engineered data structures and algorithms to achieve very low per-node overheads and high concurrency. The implementation is robust, has been ported to an extensive set of operating systems and processor architectures, and is currently in use on over 500 clusters around the world. It has been used to link clusters across university campuses and around the world and can scale to handle clusters with 2000 nodes. (Quelle: Ganglia Webseite) Produzent der Komponente (des Systems): Open Source Lösung Die Komponente (das System) wird zurzeit eingesetzt von: weltweit, Fraunhofer Ressource Grid, auch an anderen Forschungseinrichtungen innerhalb Deutschlands bzw. innerhalb von D-Grid Einbettung der Komponente: Mit welchen anderen Systemen kooperiert die Komponente? Integration von Portable Batch System (PBS) Informationen (sararocks) Mit welchen Systemen gibt es keine reibungslose Kooperation? Welche anderen Komponenten sind für den Einsatz notwendig? Worauf basieren diese Aussagen? Stand alone Lösung, aber Integration in Globus MDS (ungetestet) http://www.globus.org/mds/gangliaprovider.html Bedeutung der Komponente im D-Grid Die Komponente sollte im D-Grid eingesetzt werden, da sie ein guter Ersatz für Globus MDS ist. (z.B. deutlich bessere Skalierbarkeit) Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Darstellungsfehler im grafischen Frontend Seite 44 Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Ganglia Entwickler. Open Source Erarbeitet von: Uwe Der Seite 45 2.17 Distributed Simulation and Virtual Reality Environment (DSVR) Name der des Systems: DSVR (Distributed Simulation and Virtual Reality Environment) Funktion der Komponente (des Systems; Ziel des Projektes): Das Software-Framework DSVR beinhaltet Middleware- und Service-Komponenten für die parallele Aufbereitung von Zwischenergebnissen aus parallelen Simulationsrechnungen in 3D-Visualisierungen, den Transport von somit generierten 3D-Szenensequenzen, die Speicherung und Ausspielung sowie die kollaborative 3D-Betrachtung (libDVRP, dvrserver, npdvr). Mit Hilfe der Bibliothek libDVRP werden Daten aus parallelen (MPI-basierten) Simulationsrechnungen extrahiert, in 3D-Visualisierungsobjekte konvertiert und zu einem so genannten 3D-Streamingserver (dvrserver) transportiert und dort gespeichert. Von dort können synchron oder asynchron 3D-Animationen abgerufen und in einem Viewer-Plugin (npdvr) auf einer 3D-Grafikworkstation (PC, Workstation oder Hochleistungsvisualisierungsrechner) mit angeschlossenen Präsentations- und Interaktionsgeräten (z. B. stereoskopischer Bildschirm, Holobench, 3D-Tracking) dargestellt werden. Für Computational Steering bietet das DSVR-System auch einen Rückkanal an, der es ermöglicht, im Viewer-Plugin bei synchroner Nutzungsform in die laufende Simulationsrechnung – etwa durch Änderung von Parametern – steuernd einzugreifen. Der Viewer-Plugin beinhaltet eine Integrationsmöglichkeit von Video-Conferencing-Techniken (Einblendung des Video-Bildes in die VR). Produzent des Systems: Regionales Rechenzentrum für Niedersachsen (RRZN), Universität Hannover. Das System wird zurzeit eingesetzt von: verschiedenen HLR-Anwendungen, z. B. im HLRN (Norddeutscher Verbund für Hoch- und Höchstleistungsrechnen): PALM (Parallel Large Eddy Simulation Model) des Instituts für Meteorologie und Klimatologie (IMUK, Universität Hannover), zur Simulation von atmosphärischen und ozeanischen turbulenten Strömungsphänomenen. Vorarbeiten z. B. im Rahmen des DFN/BMBF-Projekts „Tele-Immersion“. Einbettung des Systems: MPI, TCP/IP. Bedeutung des Systems im D-Grid: Das System sollte im D-Grid zur Unterstützung integrierter, wissenschaftlicher Arbeitsumgebungen – „Virtual Labs“ – eingesetzt werden, in denen effiziente Mechanismen zur grafischen Aufbereitung komplexer Simulationsergebnisse, zur Kopplung „großer“ Simulations- und Visualisierungsinfrastrukturen bzw. -anwendungen sowie verschiedene synchrone und asynchrone Nutzungsszenarien angeboten werden. Welche Schwachstellen hat das System zurzeit: • • • • • Statische, wenig nutzerfreundliche Konfiguration. Zentralisierte 3D-Streamingserver-Komponente, d. h. keine Proxy-Server. AAA-Mechanismen (Authentication, Authorization, Accounting) wurden bisher nicht implementiert. Übergreifendes (Parallelrechner, Server, Grafikrechner, 3D-Displays, Netzbandbreiten) Ressourcen-Scheduling nicht realisiert. Begrenzte Unterstützung von Daten- bzw. Gittertypen. Seite 46 Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: RRZN. Erarbeitet von: Stephan Olbrich <[email protected]> Seite 47 2.18 Grid-Enabled MPI (Grid-MPI) Allgemeine Bescheibung : Message Passing Interface (MPI) Libraries sind der de facto Standard für massiv parallele Computer und Cluster von Workstations. Sie werden in weitem Umfang in wissenschaftlichen Rechnen verwendet. Es liegen sowohl vendor-spezifische Implementationen, als auch OpenSource Implementationen des MPI-Standards vor. Weiteste Verbreitung hat zur Zeit der MPI Standard 1.2, Implementationen des MPI 2.0 Standards liegen vor, sind aber noch nicht ubiquitär. 1 Als Bestandteil der D-GRID Middleware ist eine grid-enabled MPI-Implementation (im folgenden Grid-MPI) erforderlich. Die Bereitstellung dieser MPI-Suite ist eine notwendinge Bedingung für wissenschaftliches Rechnen unter Benutzung des D-GRID in vielen Bereichen, z.B. astrophysikalische Simulationen. Eine MPI-Implementation besteht aus einer Suite von Compiler-Tools, Headers und Libraries, die eine Parallelisierung von Computer-Programmen durch standardisierte Kommunikations- und Kontrollstrukturen ermöglicht. Für die Grid-Middleware ist zudem erforderlich, daß die Implementation 'grid-aware' ist, d.h. die bereitgestellte Grid-Infrastruktur benutzt. Implementationen von Grid-MPI Was ist mit Stampi und LAM? MPICH-G22 : Die in Zusammenarbeit mit der Globus-Developper-Community entwickelte MPICH-G2 stellt eine Suite bereit, die den MPI-1.1 Standard implemetiert. – MPICH-G2 benötigt Globus 2.4x. Für den Einsatz im D-Grid ist zu empfehlen, einheitlich von der Version 1.2.5.2 auszugehen, die allerdings mit früheren Versionen inkompatibel ist. Die genannte Version kann lokal vendor-spezifische MPI (eg. SGI-MPI, IBM-SP) und OpenSource MPICH integrieren. 3 – MPICH-G2 liegt für alle Unix-Systeme als Source-Paket vor . Sie muss gegen die Globus-Source-Distribution kompiliert werden. – MPICH-G2 erfordert wie Globus spezielle Firewall-Settings, dh einen kontrollierten freien Port-Range4 und evtl. zusätzliches Routing, weil zB Cluster i.a. private Netzwerk-Adressen für die Node-to-Node-Kommunikation benutzen, MPI aber Node-to-Node-Kommunikation auch über Site-Grenzen hinweg erfordert. PACX-MPI (PArallel Computer eXtension)5 Die am HLRS (Hochleistungs Rechenzentrum Stuttgart) entwickelte Implementation unterstützt MPI-1.2 und Teile des 2.0-Standards. – PACX-MPI benutzt lokal vendor-spezifische MPI-Implementationen. – PACX-MPI liegt für Unix-Systeme als Source-Paket vor. 1Zu Standard und Implementation von MPI: http://www-unix.mcs.anl.gov/mpi/ 2MPICH-G2 -Homepage: http://www3.niu.edu/mpi/ . G2 bezieht sich auf die Globus-Version, nicht auf den MPI-Standard. • 3MPICH ist auch für Windows-NT verwendbar, die Grid-Kompatibilität aber unklar. 4http://www.globus.org/security/firewalls/Globus%20Firewall%20Requirements-5.pdf 5PACX-MPI -Homepage http://www.hlrs.de/organization/pds/projects/pacx-mpi Seite 48 – – – – – • Vorteil des PACX-Ansatzes: die MPI-Kommunikation zwischen Clustern und/oder PVM-Maschinen wird an dedizierten Nodes (Daemons) gebündelt, sodaß die Firewall-und Routing-Anforderungen reduziert werden. PACX-MPI kann grid-aware gemacht werden, ist daher kompatibel mit andern Middleware-Komponenten; es wurde erfolgreich aus Globus heraus gestartet PACX-MPI unterstützt für P2P-Kommunikation interoperables MPI (IMPI). PACX-MPI bietet für die Topologie des Metacomputers optimierte kollektive Operationen. PACX ist nicht so weit verbreitet und getestet wie MPICH-G2. Neben diesen beiden Implementationen gibt es noch weitere Projekte6 wie NAREGI, die eine Verbesserung der Grid-MPI anstreben. Bislang ist aber keine Implementation veröffentlicht. Empfehlung zur Grid-MPI: Im ersten Release der Middleware sollte die MPICH-G2 Suite( mpich 1.2.5.2) enthalten sein. Für einen effizienten Einsatz von MPI-basierten Applikationen im D-Grid ist es erforderlich, die Latenz und Geschwindigkeit der Netzwerk-Verbindungen erheblich zu verbessern. 6Homepage: http://www.gridmpi.org. Es gibt auch weitere Ansätze für die Interoperabilität der MPISuite, die aber nicht direkt Grid-basiert sind, eher einen dazu orthogonalen Ansatz verfolgen, zB IMPI (http://impi.nist.gov/IMPI/impi-report/impi-report.html) Seite 49 2.19 PACX-MPI Name der Komponente (des Systems, des Projektes): PACX-MPI Funktion der Komponente (des Systems; Ziel des Projektes): PACX-MPI ist eine Middleware um HPC-Ressourcen über ein gemeinsames Netzwerk transparent für die MPI-Applikation zu koppeln. Hierfür kann ein dediziertes Hochleistungsnetzwerk oder aber auch das Internet dienen. Die Applikation muß neu mit der Bibliothek übersetzt werden. Kommunikation zwischen Prozessen innerhalb des HPCRechners findet durch die für die jeweilige Plattform optimierte MPI-Bibliothek statt. Kommunikation zu externen Prozessen wird über zwei spezielle Prozesse ermöglicht. Dadurch hat PACX-MPI im Vergleich zu anderen MPIs den Vorteil, Cluster mit lokalen IPAdressen verbinden zu können. Außerdem nutzt PACX-MPI das Wissen um die Topologie des Rechners bei kollektiven Operationen. Produzent der Komponente (des Systems; Projektbeteiligte): Höchstleistungsrechenzentrum der Universität Stuttgart Die Komponente (das System) wird zurzeit eingesetzt von: Universität Houston, Technische Universität Katalonien, Freie Universität Barcelona Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Vendor-MPI (bsp. LAM, MPIch, MPIpro, MPI-SX), Integration in Globus Mit welchen Systemen gibt es keine reibungslose Kooperation? Die Zusammenarbeit mit Queueing Systemen ist bei keinem der Alternativen einfach. Es fehlt ein Scheduler mit „globalen“ Queues. Welche anderen Komponenten sind für den Einsatz notwendig? ANSI C-Compiler, MPI, evtl. Fortran-Compiler. Bedeutung der Komponente (des Systems) im D-Grid; Die Komponente (das System) sollte im D-Grid eingesetzt werden, da ... PACX-MPI bietet für MPI-Applikationen die oben angesprochenen Vorteile bei der Koppelung von HPC-Ressourcen. Ein Einsatz der Komponente (des Systems) sollte nicht eingesetzt werden, da ... Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Wenn die Applikation nicht auf die hierarchiesche Struktur, d.h. die Topologie, eines Metacomputers optimiert wurde, ist der Einsatz eines Metacomputers als Gesamtes nicht sinnvoll. Die Netzwerkperformance ist damit das allerwichtigste Kriterium. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: HLRS. Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Welche Teildienste sollten funktionell in das D-Grid übernommen werden; Erarbeitet von: Stefan Wesner Seite 50 3 Projekte 3.1 GRASP Name der Komponente (des Systems, des Projektes): Das EU Projekt GRASP realisiert aufbauend auf dem OGSI.NET Toolkit eine Reihe von Diensten und Komponenten, die den Einsatz von Grid für Application Service Provider ermöglicht. In diesem Zusammenhang werden neben der Realisierung eines Prototypen und der Validierung mit Anwendungen aus den Bereichen E-Learning und verteilte Datenanalyse auch untersucht welche Geschäftsmodelle auf Basis von Grid Technologie möglich sind. Funktion der Komponente (des Systems; Ziel des Projektes): Die folgende Liste ist keine vollständige Liste der Komponenten sondern fasst lediglich die Schlüsselemente zusammen. Service Locator/Broker Dieser Dienst ist von entscheidender Bedeutung bei der Formierungsphase einer Virtuellen Organisation und spielt ebenfalls bei automatisierter Fehlerbehandlung eine wichtige Rolle. Diese Komponente erlaubt die Identifizierung und Auswahl von Diensten anhand einer Reihe von Paramtern, die neben Art des gesuchten Services und der Funktionalität auch Quality of Service Anforderungen, Preisinformation und Präferenzen für bestimmte Anbieter sein können. Service Instantiation Ein grundlegendes Konzept in GRASP ist die so genannte “Virtual Hosting Environment (VHE)”. Eine VHE kann eine Vielzahl von Ressourcen/Diensten enthalten, die innerhalb einer Virtuellen Organisation angeboten werden sollen. Alle Ressourcen innerhalb einer VHE werden von einer Entität überwacht. Wichtige Komponenten einer VHE sind der Service Instantiator der die Erzeugung eines Services innerhalb einer VHE durchführt und auch die Performanz und Verfügbarkeit dieser Dienste überwacht. Service Orchestration Die Bereitstellung der Funktionalität für den ASP Anbieter kann nicht durch einzelne Services bereitgestellt werden sondern diese werden durch einen Workflow in einer Koordinierten Weise zusammengebracht. Innerhalb von GRASP wurde auf Standardprodukte für Workflow-Management im Web Services Bereich (Biztalk 2004) unter Nutzung von BPEL4WS zurückgegriffen. Da BPEL4WS nicht für die Orchestrierung von Grid Services ausgelet ist wurden die entsprechenden Komponenten innerhalb von GRASP entwickelt. SLA Management Als Teil der Service Auswahl werden wie oben beschrieben auch QoS Parameter berücksichtigt. Diese Parameter müssen während der Ausführung überwacht werden und gegebenenfalls auch entsprechend z.B. durch Service re-location behandelt werden. Die Service Level Agreements werden dabei in einem automatisch zu verarbeitenden XML Format (WSLA + Extensions) beschrieben Produzent der Komponente (des Systems; Projektbeteiligte): Die Projektteilnehmer des Projektes GRASP. http://eu-grasp.net Die Komponente (das System) wird zurzeit eingesetzt von: Nicht im produktionsbetrieb. Einbettung der Komponente (des Systems, des Projektes): GRASP basiert auf OGSI.NET von University of Virginia und verwendet Microsoft Biztalk 2003 als workflow engine. Seite 51 Bedeutung der Komponente (des Systems) im D-Grid; GRASP entwickelt wichtige Komponenten im Umfeld Application Service Provision diese sind jedoch gegenwärtig nicht im Produktionszustand. Aus diesem Grund kann eine direkte Verwendung (noch) nicht empfohlen werden. Die Ergebnisse von GRASP werden die Basis für Weiterentwicklungen auf europäischer Ebene im Bereich Kommerzialisierung von Grid sein und sollten in D-Grid Forschungsaktivitäten, die eine Integration von kommerziellen Anbietern von Dienstleistungen eine Ausgangsbasis bieten. Bei Komponenten (Systemen) die eingesetzt werden sollen Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Erarbeitet von: Stefan Wesner (HLRS) Seite 52 3.2 GeneSyS Name der Komponente (des Systems, des Projektes): Das EU Projekt GeneSyS realisiert mit Web Service Technology ein Framework für die Überwachung und Kontrolle von verteilten Anwendungen. Dabei werden verschiedene Schichten einer verteilten Anwendung von Netz über Middleware bis hin zur Applikation in einer integrierten Weise behandelt. Funktion der Komponente (des Systems; Ziel des Projektes): Die folgende Liste ist keine vollständige Liste der Komponenten, sondern fasst lediglich die Schlüsselzemente zusammen. Zurzeit sind nur folgende Version 1 GeneSyS Komponenten verfügbar: GeneSyS Komponenten GeneSyS Core Beschreibung Stellt eine potentiell verteilte Registry für Informationen über alle verfügbaren und aktiven Services bereit. Zum testen und entwickeln eigener Agenten wird zur Zeit ein Core vom HLRS bereitgestellt und ist verfügbar unter: http://dotnet.rus.unistuttgart.de:8080/axis/services/GenesysService Generic Console/System Console/… Eine generische graphische Konsole für die Visualisierung der ermittelten Werte des verteilten Systems. Darüber hinaus existieren weitere spezialisierte Klienten. Dient zur Überwachung der Systemauslastung (z.B. Memory, CPU, Freier Plattenplatz) Bildet die Schnittstelle zu SNMP basierten Aktiven Informationsquellen wie Router, HUB’s. Auch passive Komponenten wir NIC werden unterstützt Zur Zeit wird nur die Round Trip Time zwischen einzelnen Hosts ermittelt. Ermittelt die relevanten Performance Daten des Tomcat Web Servers. Tomcat ist eine wichtige Hosting Environment für Web Services. System monitoring agent (W2K/Linux) Passive/Active Network Agent Network Quality Agent Tomcat monitoring agent In einer zweiten Version (verfügbar Q3/2004) werden eine Reihe weitere Services und ein deutlich verbessertes Kommunikationsprotokoll vorliegen. Darüber hinaus werden Services mit Schnittstellen zur Beeinflussung des Systemzustandes ausgestattet werden. Diese Maßnahmen können dann entweder durch Benutzer aber auch durch Regel- und Workflow basierte Services im Sinne von „Autonomic Computing Light“ automatisch angewendet werden. Produzent der Komponente (des Systems; Projektbeteiligte): Die Projektteilnehmer des Projektes GeneSyS, siehe http://genesys.sztaki.hu Partner aus Deutschland HLRS und NAVUS GmbH. Die Komponente (das System) wird zurzeit eingesetzt von: Im Rahmen des Projektes im Testbetrieb am HLRS für die Überwachung von WebServer Systemen. Seite 53 Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Basiert auf WebServices und ist daher generell einsetzbar. Überwachbare Elemente siehe obige Tabelle Mit welchen Systemen gibt es keine reibungslose Kooperation, Welche anderen Komponenten sind für den Einsatz notwendig? Worauf basieren diese Aussagen? Web Service Interop Tests und eigenen Erfahrungen. Bedeutung der Komponente (des Systems) im D-Grid; Die Ergebnisse von GeneSyS sind in Ihrer Funktionalität fortgeschrittener als z.B. GMA und bilden eine Basis für Weiterentwicklungen im Rahmen von D-Grid. Ein direkter produktiver Einsatz ist zur Zeit nur bedingt möglich. Bei Komponenten (Systemen) die eingesetzt werden sollen Schwachstellen sind insbesondere das Sicherheitsmodell. Diese wird im rahmen des projektes vorraussichtlich nicht vollständig gelöst und wird Teil der kommerziellen Verwertung durch die Fa. NAVUS sein. GeneSyS is jedoch unter W3C Lizenz als open source unter source forge verfügbar und kann potentiell von jedem weiterentwickelt werden. Sourceforge Distributionsseite: http://sourceforge.net/projects/genesys-mw/ Bei Komponenten (Systemen) die nicht eingesetzt werden sollen Erarbeitet von: Stefan Wesner (HLRS) Seite 54 3.3 GRIP Name der Komponente (des Systems, des Projektes): Grid Interoperability Project (GRIP) Funktion der Komponente (des Systems; Ziel des Projektes): Projekt: Standards (GGF), interoperable Middleware (UNICORE – Globus) und Anwendungen Middleware: Kopplung der Systeme bezüglich Job Submission von UNICORE zu Globus Ressourcen inklusive Job Monitoring und Kontrolle, Datentransfer, Sicherheitsinfrastruktur und Resource Brokering Produzent der Komponente (des Systems; Projektbeteiligte): (alphabetisch) Argonne National Laboratory, Deutscher Wetterdienst, Forschungszentrum Jülich, Fujitsu Laboratory Europe, Intel, University of Manchester, University of Southampton, Warschau University Die Komponente (das System) wird zurzeit eingesetzt von: Projektpartnern, NaReGI Projekt, einige weitere Benutzer Einbettung der Komponente (des Systems, des Projektes): Die entwickelte Middleware realisiert die Kopplung von UNICORE und Globus (sowohl Globus Toolkit 2.x, als auch 3.0), die Nutzung der Middleware setzt die Installation eines UNICORE Servers und eines Globus Servers voraus, sowie Teile des Globus Klienten (zur Jobsubmission). Kooperation mit anderen Systemen ist nicht vorgesehen. Diese Aussagen beruhen auf Informationen direkt aus dem Projekt heraus (FZJ hat die Projektleitung). Bedeutung der Komponente (des Systems) im D-Grid: Da sowohl UNICORE als auch Globus mit großer Wahrscheinlichkeit zur Basis des initialen D-Grids zählen werden, bietet die in GRIP entwickelte Software die Möglichkeit, Ressourcen zu kombinieren und Erfahrungen mit Interoperabilität zu sammeln. Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Die Schwachstelle des Systems ist ihre Basis: die beiden Grid Systeme UNICORE und Globus sind derzeit aufgrund der Entwicklung von Grids hin zu dienstorientierten Systemen (service-oriented Grids) und dem Fehlen von verbindlichen Standards steten Änderungen unterworfen. Daher ist die existierende Software möglicherweise schnell obsolet. Allerdings wird Globus 2.x aus Mangel an einem verläßlichen Nachfolger noch länger Verbreitung finden und daher auch der Einsatz der GRIP Software Sinn machen, da eine Kompatibilität mit älteren Versionen von UNICORE auf der Ebene von GRIP noch länger gewährleistet sein wird. Der Globus 3.0 Version der GRIP Software wird allerdings keine Zukunft bescheinigt. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Ein FP6 Projekt mit Beteiligung vieler Partner aus GRIP befindet sich momentan in der Verhandlung mit der Europäischen Union. Dieses Projekt wird sich der Interoperabilität dienstorientierter Grids annehmen. Erarbeitet von: Philipp Wieder, Forschungszentrum Jülich Seite 55 3.4 DAMIEN Name der Komponente (des Systems, des Projektes): DAMIEN (Distributed Applications and Middleware for Industrial use of European Networks) Funktion der Komponente (des Systems; Ziel des Projektes): Das Ziel von DAMIEN (Distributed Applications and Middleware for Industrial use of European Networks) war es Tools und Middleware zu entwickeln, die es erlauben verteilte Simulationen auf einer Grid Infrastruktur, basierend auf Europäischen Hochgeschwindigkeitsnetzen, durchführen zu können. Ein wichtiger Gesichtspunkt war dabei die Benutzer bei der Optimierung ihren spezifischen Anwendungen zu unterstützen. Deshalb sollten bei den Benutzern schon etablierte Tools erweitert und mit neuen Funktionalitäten ausgestattet werden, damit sie in Grid Umgebungen eingesetzt werden können. Ein weiterer Aspekt war die Integration eines Netzwerk QoS Managers, der es erlauben soll, direkt aus der Applikation heraus Netzwerkparameter zu ändern und damit bestmögliche Performance zu erreichen. Diese Tools wurden mit einer reellen Anwendung aus dem Bereich Multiphysiks (entwickelt von EADS) in verschiedenen Testbeds getestet. 1. Middleware Das in DAMIEN unterstützte Programmiermodell ist MPI. Deshalb wurde die am HLRS entwickelte und für Grid Umgebungen optimierte MPI-Bibliothek PACX-MPI verwendet. Im Rahmen von DAMIEN wurde PACX-MPI erweitert, um gleichzeitig mehrere Netzwerkverbindungen zwischen den Rechnern verwenden zu können (bessere Ausnutzung von Bandbreiten). Für die Kopplung zweier Applikationen (z.B. Strukturmechanikcode mit einem Akkustikcode) wurde MpCCI verwendet. Die Bibliothek wurde auf PACX-MPI portiert. Es wurden neue Interpolationsmethoden eingebaut. 2. Performance Analyse und Vorhersage Performance Analyse Vampirtrace: wurde auf PACX-MPI portiert damit es auch für Grid Applikationen verwendet werden kann Vampir wurde mit neuen Funktionalitäten ausgestattet um die Informationen über die Prozesse der Grid Applikation sinnvoll darstellen zu können a. Performance Vorhersage Dimemas: Tool zur Vorhersage des Laufzeitverhaltens von MPI-Applikationen basierend auf Traces, Parameter wie Latenz und Bandbreite können dabei variiert werden Dimemas wurde erweitert, um Vorhersagen auch für Anwendungen, die in Grid Umgebung laufen, machen zu können (Einbau neuer Kommunikationsmodelle) 3. Grid Konfigurations Manager (GCM): Erleichtert Umgang mit verschieden Grid Umgebungen, die den Zugang zu den Hardware Ressourcen (Hosts) regeln entwickelt erstellt und verschickt automatisch die Konfigurationsdateien, die von PACX-MPI benötigt werden Erstellung der Sicherheitskonfigurationen für verschiedene Grid Umgebungen. Anwendungen gleichzeitig für Unicore, Globus (GT 2) und per ssh zu starten und zu überwachen -> Grid Terminals, in dem gleichzeitig alle an der verteilten Simulation beteiligten Hosts gehandhabt werden können Seite 56 4. QoS-Manager: QoS Manager wurde auf Basis von IPv4/IPv6 implementiert, damit Applikationen in der Lage sind, zur Laufzeit Anforderungen (Bandbreite, Latenz) and die Netzwerkschicht zu senden Realer Einsatz allerdings nicht wirklich möglich, da zur Zeit noch keine Möglichkeit besteht, diese Anforderungen auf Netzwerkebene automatisch zu verarbeiten 5. Anwendung und Testbeds a. EADS Anwendung und Testbed Gekoppelte Anwendung bestehend aus mechanischen Code (NASTRAN) und Akkustic Code (entwickelt von EADS) Anwendung lief gleichzeitig auf Cluster in Paris und Toulouse b. Weltweites Testbed für RNAfold und FastDNAml Anwendungen aus dem Bereich Bioinformatik Testbed zur SC2002 bzw. SC2003 mit Supercomputerbeteiligung aus der ganzen Welt Produzent der Komponente (des Systems; Projektbeteiligte): Die Komponente (das System) wird zurzeit eingesetzt von: Einbettung der Komponente (des Systems, des Projektes): Bedeutung der Komponente (des Systems) im D-Grid: Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Erarbeitet von: Peggy Lindner (HLRS) Seite 57 3.5 GridLab GAT Name der Komponente (des Systems, des Projektes): Einheitliche Programmierschnittstelle für Grid Middleware (s.a. GGF WG SAGA: Simple API for Grid Applications) Funktion der Komponente (des Systems; Ziel des Projektes): Erarbeiten eines einfachen und einheitlichen API’s für verschiedene Grid Middleware Services, die den Anwendungsprogrammierer von der dynamischen Struktur des Grid selbst abstrahieren. Produzent der Komponente (des Systems; Projektbeteiligte): Derzeitige Arbeiten an einer derartigen Schnittstelle werden im Rahmen des Gridlab Projektes durchgeführt (bis Ende 2004). Besonderes Interesse wurde aus der Community Astro- und Teilchenphysik bekundet. Die Komponente (das System) wird zurzeit eingesetzt von: Noch kein Einsatz unter Produktionsbedingungen, erster prototypischer Einsatz von Teiles eines solchen API’s im Testbed des Gridlab Projektes. Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Mit welchen Systemen gibt es keine reibungslose Kooperation, Welche anderen Komponenten sind für den Einsatz notwendig? Worauf basieren diese Aussagen? Das es bisher keinen Produktionseinsatz einer derartigen Schnittstelle gibt, lassen sich keine Systeme nennen, mit denen diese Schnittstelle kooperiert, Erfahrungen mit dem derzeit getesteten Prototypen zeigen jedoch, dass faktisch beliebige Grid Middleware Services anbindbar sind. Dieser Fakt entspricht jedoch auch gleichzeitig dem ursprünglichen Ansatz, eine einheitliche Programmierschnittstelle zu schaffen☺. Der existierende Prototyp (GAT – Grid Application Toolkit) arbeitet mit Globus Datenservices, verschiedenen Gridlab Services (Resourcebroker, Authentication Service, Replica Service, Monitoring Service) zusammen, erste Arbeiten zu Anbindung des UNICORE Resourcebroker Services werden zurzeit durchgeführt. Bedeutung der Komponente (des Systems) im D-Grid: Die Komponente (das System) sollte im D-Grid eingesetzt und entwickelt werden, da Sie die Erstellung von Grid basierenden Anwendungen vereinfacht und vereinheitlicht. Mit Hilfe einer derartigen einheitlichen Schnittstelle kann der Anwendungsprogrammierer seine Anwendungen ohne Berücksichtigung einer konkreten Grid Struktur bzw. ohne Bezug auf einen bestimmten Grid- Service schreiben. Dies führt zu einer Verbesserung der Nutzung der D-Grid Ressourcen und zu einer Beschleunigung der Amortisation der eingesetzten Mittel. Bei Komponenten (Systemen) die eingesetzt werden sollen Welche Schwachstellen hat die Komponente (das System) zurzeit: Die im derzeitigen Prototyp (GAT) implementierte Schnittstelle (API) bedarf eines grundlegenden Abgleichs mit den Anforderungen anderer Communities, so dass eine Erweiterung und Anpassung erforderlich und zu erwarten ist. Die derzeitige Implementation basiert auf der Programmiersprache ‚C’, weitere Sprachanbindungen (C++, Fortran, Java, Perl, Python …) sind erforderlich um einen möglichst breiten Einsatz zu gewährleisten/ermöglichen. Anbindungen an andere existierende und ggf. an im Rahmen der D-Grid Initiative zu entwickelnde Grid- Services müssen erstellt werden. Seite 58 Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Gridlab Projekt Erarbeitet von: Hartmut Kaiser, AEI Golm Seite 59 3.6 EGEE Name des Projektes: Enabling Grids for E-science in Europe (EGEE) (http://www.eu-egee.org/) kann als Nachfolgeprojekt vom European DataGrid (EDG) (http://www.eu-datagrid.org/) angesehen werden, das auf die Entwicklung von Grid Middleware abzielte, und auf dem das LHC Computing Grid (LCG) (http://cern.ch/lcg/) basiert. Ziel des Projektes: EGEE zielt auf die Integration nationaler, regionaler und themenspezifischer Rechen- und Daten Grids in eine EU-weite e-Science Infrastruktur (Grid) ab. Die Mission von EGEE ist: • die Schaffung von produktionsreifen (production-level) Grid-Diensten, • die professionelle Überarbeitung (re-engineering) der Grid-Middleware, • Verbreitung, Ausbildung und Training. Produzent des Projektes: Im Rahmen des sechsten Rahmenprogramms (FP6) der Europäischen Union umfaßt das EGEE Konsortium, mit CERN als Vertragspartner der EU, 70 führende Institutionen aus 27 Ländern, die in 10 Föderationen organisiert sind. Weitere internationale Partner aus Wissenschaft und Industrie sind angeschlossen. Zur Deutschen Föderation, vertreten durch FZK, gehören DESY, DFN, DKRZ, FhG, FZK und GSI Darmstadt. Der Projekt Start ist für den 1. April 2004 geplant, und es stehen 32M€ für die ersten zwei Jahre eines auf vier Jahre ausgelegten Programmes zur Verfügung. EGEE ist ein EU I3 Projekt, das drei Aktivitätsbereiche umfaßt: • Betrieb (Service Activities, SA) • Netzwerke (Networking Activities, NA) • F&E (Joint Research Activities, JRA) Die Komponenten des Projektes werden eingesetzt von: EGEE zielt auf die ganze europäische Wissenschaftslandschaft ab (e-Science). Folgende Bereiche werden explizit genannt: Teilchenphysik, Bioinformatik, Industrie, Astronomie, Chemie, Erdbeobachtung, Geophysik, Biologie, Nanotechnologie und Klimamodellierung. An der Startversion werden sich die Teilchenphysik und die Bioinformatik beteiligen. Einbettung der Komponenten des Projektes: Die Teilchenphysik soll die Pionierrolle übernehmen, um kurzfristig eine Grid Infrastruktur aufzubauen, auf die andere Wissenschaftsbereiche aufbauen können. Als Middleware wird aller Vorraussicht nach die LCG-2 Software zum Einsatz kommen, die auf Globus Toolkit 2 (http://www.globus.org/) Komponenten und EDG 2 Middleware basiert. Die Kooperation mit anderen Grid Projekten sowie zur Standardisierung mit dem Global Grid Forum (GGF) (http://www.gridforum.org/) wird dabei ausdrücklich hervorgehoben. Bedeutung der Komponenten des Projektes im D-Grid: Die in Europa allgemein akzeptierte GRID Infrastruktur für Experimente der Teilchenphysik ist LCG. Auch wenn sie speziell für den LHC entwickelt wurde, dient LCG auch anderen Experimenten (CDF, D0, BaBar, HERA). Die internationale Einbindung der Experimente der Teilchenphysik macht es erforderlich, die in der Anwendergemeinde akzeptierten Standards zu benutzen. Die Institute der Elementarteilchenphysik in Deutschland haben sich auf LCG als gemeinsame Plattform geeinigt. Auch in der theoretischen Teilchenphysik, insbesondere der Gittereichtheorie, ist ein großer Bedarf an Datentransfer in der Zukunft zu erwarten. Die Gittereichtheoriegruppen werden im International Lattice Data Grid verankert sein, die als sogenanntes Grid-of-Grids die einzelnen Storage Elements und Replica Catalogues der beteiligten Institute verbindet. Welche Schwachstellen haben die Komponenten des Projektes zurzeit: Seite 60 Es gibt einige bekannte Schwachstellen in EDG/LCG, die auch die Produktionsreife von LCG in Frage stellen. Darüber hinaus ist zurzeit noch keine Einigung mit dem amerikanischen LHC Partnern, die generell ungern Ergebnisse aus EU-Projekten anwenden, über die Verwendung von Middleware erzielt worden. Für die Teilchenphysik seien insbesondere das Job und Ressource Management, das Bookkeeping und das Modelling erwähnt. Letzteres ist notwendig, um Ressourcenabschätzungen für die Zukunft auf Grundlage aktueller Erfahrungen zu erlangen. Weiterhin bietet die Globus Grid Security Infrastructure (GSI) zwar Authentifizierungsdienste und SSL-Verschlüsselung der Datenverbindungen an, die Daten selbst liegen jedoch unverschlüsselt vor. Darüber hinaus ist es notwendig Firewalls für die verschiedenen Dienste wie GridFTP zu öffnen, um Datentransfer zu ermöglichen. Ein weiterer wichtiger Punkt ist Portabilität der LCG Software, die zurzeit nur für die Linux Distribution RedHat 7.3 für die Intel ix86 Architektur zur Verfügung gestellt wird. Die automatische Installation über LCFGng beinhaltet diese. Die manuelle Installation der RPMs auf z.B. SuSE Linux Systemen ist zwar möglich, erfordert aber erheblichen zusätzlichen Aufwand. Weitere Betriebs-systeme werden nicht unterstützt. Wünschenswert wäre mindestens Solaris als Serverplattform und weitere Betriebssysteme für die Worker Nodes. EDG/LCG Middleware unterstützt im wesentlichen die Konzepte der Datenprozessierung in der experimentellen Teilchenphysik, bei der in sich abgeschlossene Datenpakete sogenannte Events – unabhängig voneinander (parallel) prozessiert werden. Der Workflow ist der einfachst mögliche, da die Jobs auf einzelne Computing Elemente abgebildet werden können. Andere Ressourcen-intensive Anwendungen, z.B. in der Astrophysik, benötigen hingegen gekoppelte Applikationen, für die Erweiterungen auf der Middleware-Ebene (Integration einer Grid-MPI-Kommunikationsschicht) und im Job- und Resource Mananagement (Resource Reservation, Co-Scheduling) erforderlich wären. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Ein großer Teil der Aufgaben soll innerhalb der verschiedenen Arbeitsgruppen des LCG Projektes angegangen werden. Zum Teil besitzen die Ergebnisse aber noch keine Produktionsreife und erfordern eventuell eine größere Revision der Konzepte. Die Forderung nach der Unterstützung anderer Linux Distributionen und anderer Betriebssysteme ist wiederholt laut geworden und auch – zumindest verbal - als EGEE Ziel formuliert worden. Erstellt von: D-GRID AK2 Astro- und Teilchenphysik Community Editiert von: Andreas Gellrich , DESY Seite 61 4 Zertifizierung und Sicherheit 4.1 Zertifizierungsdienst DFN Name der Komponente (des Systems, des Projektes): Zertifizierungsdienst Funktion der Komponente (des Systems): Eine Zertifizierungsdienstleistung ist eine wesentliche Basis für Authentifizierung und Autorisierung in offenen Netzen. Die DFN-PCA (Policy Certification Authority) betreibt eine solche Zertifizierungsdienstleistung seit 1995 für die Verfahren PGP und insbesondere X.509 und hat dafür Policies entwickelt, die unterschiedliche Anforderungen an Sicherheitsniveaus widerspiegeln. Es werden sowohl untergeordnete CAs zertifiziert als auch fortgeschrittene Zertifikate im Sinne des Signaturgesetzes für Endnutzer und –geräte ausgestellt. Zur Unterstützung der Zertifizierungsdienstleistung wird ein Verzeichnisdienst betrieben, über den Zertifikate, Schlüssel und Widerrufslisten bereit gestellt werden. Produzent der Komponente (des Systems): Der Zertifizierungsdienst wird vom DFN-Verein über seine DFN-PCA erbracht (www.dfnpca.de) . Die Komponente (das System) wird zurzeit eingesetzt von: Die Zertifizierungsdienstleistung wird seit Jahren in weiten Teilen des Deutschen Forschungsnetzes, also in Wissenschafts- und Forschungseinrichtungen in Deutschland, genutzt. Ein aktuelles Beispiel: Nach Ablauf der Aktivitäten der Globus-CA im Januar 2004 hat die DFN-PCA für das LRZ München das Ausstellen der entsprechenden Grid-Zertifikate übernommen. Einbettung der Komponente (des Systems, des Projektes): Die Integration der Dienstleistung erfolgt i.W. über das Einbringen von Zertifikaten und Schlüsseln in die entsprechenden Anwendungen. Gleichzeitig muss über die Policies sicher gestellt sein, dass die Zertifizierungsdienstleistung dem erforderlichen Sicherheitsniveau entspricht. Bedeutung der Komponente (des Systems) im D-Grid Es wird im D-Grid in jedem Fall eine Zertifizierungsdienstleistung geben müssen, um Dienste, Systeme und Personen im D-Grid zu identifizieren und authentisieren. Welche Schwachstellen hat die Komponente zurzeit: • Um den aktuellen online-Zugriff auf Widerrufslisten zu ermöglichen, sollte das Verfahren OCSP (Online Certificate Status Protocol) bereit gestellt werden. • Zusätzliche könnte eine Integration des Root-Zertifikats in die Standard-Browser den Gesamtprozess vereinfachen. • Um die Dienstleistung auf das D-Grid abzubilden, muss geprüft werden, inwieweit die vorhandenen Policies den Anforderungen genügen bzw. wo Anpassungen erforderlich wären. Erarbeitet von: Marcus Pattloch, DFN-Verein <[email protected]> Seite 62 4.2 Zertifizierungsdienst GridKA Name der Komponente (des Systems, des Projektes): Zertifizierungsdienst GridKA Funktion der Komponente (des Systems; Ziel des Projektes): Die Certification Authority (CA), die am FZ Karlsruhe aufgebaut wurde, dient zwei Zwecken. Zum einen der Ausgabe von Zertifikaten an Nutzer aus der HEP Community, zum anderen zur Ausgabe von Zertifikaten an Nutzer und Ressourcen an EDG verwandte Grid Projekte. Vor allem das zweite Kriterium hat dabei entscheidend die Policy Dokumente (CP/CPS) beeinflusst, da sonst die CA nicht in der Gemeinschaft anerkannt worden w"are. Die Komponente (das System) wird zurzeit eingesetzt von: das EU DataGrid Projekt das EU CrossGrid Projekt das LCG Projekt DESY (Hamburg) folgende Hochenergiephysik Experimente: Alice, Atlas, BaBar, CDF, CMS, COMPASS, D0, LHCb. Einbettung der Komponente (des Systems, des Projektes): Mit welchen anderen Systemen kooperiert die Komponente? Mit welchen Systemen gibt es keine reibungslose Kooperation? Welche anderen Komponenten sind für den Einsatz notwendig? Globus Security Infrastructure (X.509) Worauf basieren diese Aussagen? http://grid.fzk.de/ca/gridka-cps.pdf Bedeutung der Komponente (des Systems) in D-Grid: Es ist anzumerken, dass diese CA u.a. deshalb aufgebaut wurde, weil die Policy des DFN nicht im EDG grid Umfeld akzeptiert worden wäre. Da diese CA nun in verschiedenen EUGrid Projekten (EDG, CrossGrid, EGEE) akzeptiert ist, ist geplant, diese unabhängig vom Einsatz in D-Grid weiterzuführen. Es erscheint daher aus FZK-Sicht machbar und sinnvoll, auch in D-Grid Zertifikate auszustellen, allerdings die arbeit der Registrierung durch den Aufbau von Registration Authorities zu verteilen. Der Aufbau einer hierarchischen Zertifizierungsstruktur erscheint dagegen weniger sinnvoll, da nicht nur säamtliche Zertifikate installiert, sondern auch viele Certificate Revokation Listen aktuell gehalten werden müssten. Zu prüfen bleibt, ob die Policy bzw. die RA Struktur der Jülicher CA kompatibel ist. Welche Schwachstellen hat die Komponente (das System) zurzeit: Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Welche Teildienste sollten funktionell in das D-Grid übernommen werden: Erarbeitet von: Marcus Hardt, Ursula Epting, Ariel Garcia. Seite 63 4.3 Zertifizierungsservice im FZ Jülich Name der Komponente (des Systems, des Projektes): UNICORE Certification Authority (UNICORE-CA) Funktion der Komponente (des Systems; Ziel des Projektes): Signierung von UNICORE Server- und Benutzerzertifikaten Produzent der Komponente (des Systems; Projektbeteiligte): Zentralinstitut für Angewandte Mathematik (ZAM) im Forschungszentrum Jülich (FZJ) Die Komponente (das System) wird zurzeit eingesetzt von: Forschungszentrum Jülich und ehemaligen Projektpartnern aus dem EUROGRID und GRIP Projekten Einbettung der Komponente (des Systems, des Projektes): Die UNICORE-CA besteht aus einem Registrierungsserver und einem Zertifizierungsserver. Der Registrierungsserver bildet die Schnittstelle zwischen Benutzer und Zertifizierungsserver. Auf dem Registrierungsserver kommen die eingehenden Zertifikatanfragen an und werden von da aus weiter zum Zertifizierungsserver geleitet. Der Registrierungsserver ist die einzige Schnittstelle zum Zertifizierungsserver. Um ein Schlüsselpaar generieren zu können, wird empfohlen, den UNICORE Klienten zu verwenden. Alternativ kann die Anfrage mittels OpenSSL Befehlen direkt generiert werden. Mit welchen anderen Systemen kooperiert die Komponente? Keinem. Welche anderen Komponenten sind für den Einsatz notwendig? Für den Betrieb des Registrierungsservers ist Java (JRE 1.4.x) erforderlich. Der Zertifizierungsserver verwendet Perl Skripten, die OpenSSL Kommandos verwenden. Registrierungs- und Zertifizierungsserver kommunizieren über eine dedizierte Verbindung. Der Registrierungsserver per HTTPS erreichbar. Für die Kommunikation zwischen Benutzer und Registrierungsserver und zwischen den Komponenten muss jeweils ein Webserver (z.B. Apache) auf dem Registrierungs- und dem Zertifizierungsserver laufen. Worauf basieren diese Aussagen? Diese Aussagen basieren auf den Erfahrungen, die die Entwickler der UNICORE-CA im Produktionsbetrieb bisher gemacht haben. Bedeutung der Komponente (des Systems) im D-Grid; Da UNICORE voraussichtlich eines der Systeme sein wird, die die Basis des D-Grids bilden sollen, muss eine Umgebung existieren, die sowohl dem Benutzer als auch dem Administrator eine komfortable und zugleich sichere Schnittstelle zur Signierung von UNICORE Zertifikaten bietet. Die vom FZJ entwickelte Lösung erfüllt bereits diese Anforderungen einer funktionierenden Zertifizierungsinstanz. Die UNICORE-CA erlaubt dem Benutzer, eine neue Zertifikatanfrage zu senden und signiert die Anfrage. Der signierte öffentliche Schlüssel wird dem Benutzer per E-Mail zugeschickt. Falls Probleme beim Signieren aufgetreten sind, wird der Benutzer auch darüber informiert. Außerdem erlaubt die UNICORE-CA, bereits signierte Zertifikate auch wieder zurückzurufen. Die signierten und zurückgerufenen Zertifikate werden automatisch veröffentlicht. Welche Schwachstellen hat die Komponente (das System) zurzeit: OpenSSL und Java bilden zwar die Grundlage der UNICORE-CA, aber diese Komponenten können auch eine gewisse Schwachstelle bedeuten. Zum einen, weil es vorkommen kann, Seite 64 dass bisher noch nicht bekannte Sicherheitslücken im OpenSSL Paket entdeckt werden und zum anderen, weil man nicht immer davon ausgehen kann, dass Weiterentwicklungen von OpenSSL und Java kompatibel mit den Vorgängerversionen sind. Zudem muss zur Zeit noch jeder Benutzer, der ein Zertifikat beantragt, von den UNICORE-CA Administratoren in eine UNICORE Datenbank eingetragen werden. In dieser wird das jeweilige Zertifikat auf den Benutzernamen auf dem entsprechenden Zielsystem abgebildet. Das bedeutet zur Zeit noch einen erhöhten Administrationsaufwand. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Auf die Entwicklung von OpenSSL und Java haben die UNICORE-CA Administratoren keinen Einfluss. Wie die Vergangenheit jedoch gezeigt hat, sind die Änderungen, die die UNICORE-CA betreffen könnten, in der Regel so marginal, dass eine Anpassung an eine neue Version weitgehend problemlos verlaufen sollte. Eine automatische UNICORE Datenbankerweiterung soll Bestandteil eines FP6 Projektes sein, das sich zur Zeit in Verhandlungen mit der Europäischen Union befindet. Falls die Verhandlungen positiv verlaufen, wird das FZJ als einer der Projektpartner die automatische Datenbankerweiterung implementieren. Erarbeitet von: Michael Rambadt, Forschungszentrum Jülich Seite 65 4.4 EDG Autorisierungsmechanismus Grundsätzlich sind die Authentifizierung und die Autorisierung zu unterscheiden. Während bei der Authentifizierung die Echtheit der digitalen Unterschrift in Form eines Zertifikates überprüft wird, berechtigt die Autorisierung Benutzer zum Zugriff auf Ressourcen. Zur Authentifizierung von Benutzern (und Diensten) in der EDG/LDG Middleware kommt die Globus Security Infrastructure (GSI) zur Anwendung. Sie basiert auf der Private/Public Key Infrastructure (PKI) mit X.509 Zertifikaten. Die Autorisierung beinhaltet bereits in frühen Versionen der EDG/LCG Middlware einige Veränderungen im Vergleich zu Globus. In späteren Entwicklungen wurden weitere Änderungen vorgenommen, die im Anhang erwähnt werden, da sie für eine erste Version einer D-GRID Infrastruktur nicht notwendig sind. Der Globus Autorisierungsmechanismus Jeder Benutzer besitzt ein eigenes Zertifikat, das aus einem Private/Public Key Pair besteht. Das Zertifikat enthält das sogenannte Subject, die eindeutige Kennung des Benutzers als Distinguished Name (DN). Das Subject eines Zertifikates für einen DESY-Benutzer ausgestellt vom GridKa in Karlsruhe sieht so aus: "/O=GermanGrid/OU=DESY/CN=Manfred Mustermann" Mit jedem Auftrag (Job) wird ein Stellvertreter (Proxy) des Benutzerzertifikates versendet, das vom Benutzer zuvor unter Verwendung eines Passwortes erzeugt worden ist (grid-proxyinit). In einer einfachen Globus 2.x Installation geschieht die Autorisierung über das sogenannte grid-mapfile. Das grid-mapfile muß auf allen Systemen, die lokale Zugangsberechtigungen erfordern, vorhanden sein. Dazu gehören der Resource Broker (RB) und das Computing (CE) und Storage Elemente (SE); die einzelnen Rechenknoten (Worker Nodes) normlerweise nicht, da sie einfache Klienten eines Batchsystems des CE sind. Das grid-mapfile kann manuell vom Systemadministrator oder automatisch mit einem regelmäßig ausgeführten Skript gepflegt werden. Sobald die Gültigkeit eines Benutzerzertifikates überprüft wurde (Authentifizierung), wird im grid-mapfile nach dem Subject gesucht. Das grid-mapfile enthält Zeilen der Form: "/O=GermanGrid/OU=DESY/CN=Manfred Mustermann" muster001 Wenn eine Übereinstimmung gefunden wurde, wird der Job des Benutzers unter dem lokalen Benutzerkonto am Ende der Zeile (in diesem Beispiel: muster001) ausgeführt. Das Benutzerkonto wird hier statisch einem Subject zugewiesen. Der EDG Autorisierungsmechanismus Die EDG/LCG Middleware erweitert das Globus Schema um das Konzept der Virtual Organization (VO). Das VO System stellt verteilte Informationsquellen für den Globus Mechanismus zur Verfügung, aus denen die grid-mapfiles automatisch generiert werden. Eine VO ist in diesem Sinne eine Ansammlung von autorisierten Benutzern bzw. deren Subjects, etwa einer HEP Kollaboration. Technisch gesehen gibt es zu jeder VO einen LDAP-Server, der die Subjects der zugehörigen Benutzer enthält. Diese Informationen werden automatisch und regelmäßig mehrmals täglich abgerufen, und es wird ein grid-mapfile generiert. Zur Anwendung kommt das Perl-Skript edg-mkgridmap, das die Informationen über die abzurufenden VOs und deren LDAP-Server aus einem Konfigurationsfile bezieht (/opt/edg/etc/edg-mkgridmap.conf). Da die Mitglieder einer VO im allgemeinen nicht auf allen am Grid teilnehmenden Systemen lokale Benutzerkonten haben, kann auch keine statische Zuweisung zu diesen erfolgen. Stattdessen werden die Subjects einer VO einem Konto aus einem Pool (Pool Account) Seite 66 zugewiesen, der zum Zeitpunkt der Ausführung des Jobs nur einmal vergeben wird. Die tatsächlichen Konten würden im Beispiel einer VO=muster mit dem Pool muster etwa muster001, muster002, usw. heissen. Das grid-mapfile hat dann Zeilen der Form: "/O=GermanGrid/OU=DESY/CN=Manfred Muster" .muster Dies Verfahren wurde vom Globus Konsortium übernommen. Das aktuell in EDG/LCG verwendete Globus 2.4 Toolkit wird vom Nord-amerikanischen Vitual Data Toolkit (VDT) Projekt (http://www.lsc-group.phys.uwm.edu/vdt/) bereitgestellt und enthält Pool Accounts. Diese Funktionalität kann durch das Setzen der Umgebungsvariablen GRIDMAPDIR mit dem Pfad zu den Konten aktiviert werden. Das VO Schema unterstützt die Verwendung von Ausschlusslisten (Black Lists), um einzelne Subjects zu sperren. Andererseits können Benutzer, die nicht Mitglied einer VO sind, explizit eingetragen werden. Anhang: Erweiterungen zum Sicherheitsmechanismus Drei Komponenten sind bisher nicht beschrieben worden, obwohl sie bereits Teil der EDG/LCG Middleware sind. Sie könnten von Nutzen für eine spätere Version der D-GRID Infrastruktur sein. Die Komponenten bieten erweiterte Funtionalitäten und mehr Flexibilität und sind im folgenden beschrieben. VOMS VO-Management: Das einfachen VO System beinhaltet gravierende Schwächen, z.B. kann ein Subject nur zu genau einer VO gehören. Will eine Person Mitglied mehrerer VOs sein, muss er/sie mehrere Zertifikaten mit unterschiedlichen Subjects besitzen. Rollen sind nicht vorgesehen. Deshalb wurde das erweiterte Virtual Organization Membership System (VOMS) entwickelt. Es kommt in späteren EDG Versionen zur Anwendung. Als Verbesserung arbeitet VOMS mit erweiterten Proxies, die zusätzlich zur Identität genauere Informationen über die Mitgliedschaft des Benutzers zu VOs, seine Rollen und Rechte enthalten. Dadurch wird es möglich Ressourcenverteilung auf der Basis von Regeln (Policies) durchzuführen. Die VOMS Server werden über eine HTTP-basierte Schnittstelle über das WWW administriert. Systeme zur lokalen Autorisierung (LCAS) und Rechte Zuweisung (LCMAPS): Wenn ein Benutzer Zugriff auf lokale Rechenressourcen erbittet, entscheiden zwei Softwarekomponenten, ob der Zugriff erlaubt wird und welche lokalen Rechte dem ausgeführten Job eingeräumt werden. Beide Komponenten sind als Plug-Ins realisiert und unterstützen den VOMS Mechanismus. Das Local Authorization System (LCAS) entscheidet über die Zugangsgewährung entweder auf Basis eines einfachen Textfiles der VO-Gruppen-Rolle oder eines GACL (XML ACL) Files. Dann wird die Anfrage an das Local Credential Mapping System (LCMAPS) übergeben, das diese den entsprechenden Rechten zuweisst, unter denen der zugehörige Job ausgeführt werden soll. Zuerst wird aufgrund der vorgegebenen Regeln, die konfigurierbar sind, entschieden, ob lokale Berechtigungen wie Unix UIDs/GIDs, AFS-Tokens usw. verwendet werden sollen, oder passende erzwungen werden (z.B. durch setuid()). Durch die Verwendung von Plug-Ins ist das System sehr modular und ausbaufähig und ermöglicht es leicht neue Funktionalitäten zu implementieren. Es bleibt desweiteren anzumerken, dass für den Datentransfer meistens das GridFTP Protokoll verwendet wird, das zwar die Autorisierungs Informationen über den Kontrollkanal aber nicht den Datenkanal verschlüsselt. Der Datenzugriff wird über die Unix-Dateigruppenrechte geregelt. Weiterhin ist die Rechnungsstellung (Accounting) ein offenes Thema. Erarbeitet von: Ariel Garcia (FZK) und Andreas Gellrich (DESY) Seite 67 5 Kollaborations Dienste 5.1 H.323-basierte Videokonferenz-Systeme und Infrastruktur und DFNVC Name der Komponente (des Systems, des Projektes): H.323-basierte Videokonferenz-Systeme und Infrastruktur und DFNVC Funktion der Komponente (des Systems, des Projektes): Ermöglicht qualitativ hochwertige Videokonferenzen mit mittlerem Bandbreitenbedarf (~ 1 Mbit/s je Teilnehmer) Produzent der Komponente (des Systems, Projektbeteiligte): Standards: ITU. Die IETF arbeitet an dem verwandten SIP („H.323-light“) Diverse kommerzielle Systemhersteller, Endgeräte z.B. Polycom und Tandberg; Gatekeeper, Gateways und MCUs etc. von denselben Herstellern. Ein sehr guter Gatekeeper/Proxy aus dem GNU-Umfeld. Die Komponente (das System) wird zurzeit eingesetzt von: Der H.323 basierte Dienst DFNVideoConference wird im Deutschen Forschungsnetz angeboten, mit derzeit mehreren Tausend Konferenzen im Monat. (Rahmenverträge mit HGF, MPG und 5 Bundesländern sowie Einzelverträge mit ca. 70 Einrichtungen) Der Videokonferenzdienst im Wissenschaftsnetz ermöglicht Mehrpunktkonferenzen direkt vom Arbeitsplatz oder von einem Raumsystem unter Nutzung der DFN Multipoint-ControlUnit (MCU). Der Dienst ist international erreichbar. Verwendet wird eine Gatekeeper-Struktur mit einem weltweit abgestimmten Nummernplan (Global Dial Schema) zur Adressierung der Kommunikationspartner. (Kompatibilität/Direktwahl mit nationalen Gatekeepern in USA, Niederlanden, Grossbritanien, Schweiz,...) Zusätzlich können ISDN-Teilnehmer in die Konferenz über ein Gateway eingebunden werden. Die Realisierung von verteilten Anwendungen ist möglich und erfolgt über das Protokoll T.120. Es findet eine Unterstützung der Administration durch DFN-Hotline, Schulungen und das Kompetenzzentrum für Videokonferenzdienste (http://vcc.urz.tu-dresden.de/) statt, für Nichtfachleute gibt es eine verständliche Benutzeroberfläche. Einen entsprechenden Dienst bietet in USA ViDeNet an. Mittlerweile ist auch Internet2 aktives Mitglied bei ViDe geworden und nutzt ViDeNet, auch unter der Projektbezeichnung Internet2 Commons (Die Gemeindewiese). Einbettung der Komponente (des Systems, des Projektes): (siehe auch generische Beschreibung VK- und Kollaborationssysteme) Es bestehen Standards zur Einbettung bezüglich Verzeichnisdiensten (H.350) und DataCollaboration (H.239) Seite 68 Ein Übergang zu ISDN-Basierten (H.320) Konferenzen existiert und ist häufig wichtig bei Projekten mit Industrie oder anderweitig per Internet schlecht zu Erreichenden. Bedeutung der Komponente (des Systems) im D-Grid (siehe generische Beschreibung VK- und Kollaborationssysteme) Welche Schwachstelle hat die Komponente (das System) zurzeit (siehe auch generische Beschreibung VK- und Kollaborationssysteme) Der Standard H.350 zur Einbettung von VK-relevanten Informationen in Directories ist zwar verabschiedet, aber von Endgeräteherstellern noch nicht umgesetzt. Scheduling- und Reservierungslösungen sind bisher proprietär; dito Interfaces z.B. zu Lotus Notes. Die von den Endgeräte- (und MCU-) Hersteller angebotenen Interfaces zu „DataCollaboration“ bestanden bisher überwiegend in T.120-Unterstützung – welches wegen der NetMeeting Orientierung obsolet ist. Der Standard H.239 zur Übertragung eines zweiten Stroms, geeignet auch zur Übertragung von XGA-Signalen, etwa Präsentationen, ist verabschiedet, aber noch nicht durchgängig umgesetzt (wiewohl die beste Hoffnung unter den Security-mässig einfach zu implementierenden „Standards“) Wer arbeitet an einer Verbesserung der Schwachstellen DFN, Internet2, Hersteller, http://www.gnugk.org/, ... Erarbeitet von: Hans Pfeiffenberger <[email protected]> Marcus Pattloch < [email protected]> Ulrich Schwenn <[email protected]> Seite 69 5.2 VRVS Name der Komponente (des Systems, des Projektes): VRVS Funktion der Komponente (des Systems, des Projektes): Wird für qualitativ mittelwertige Videokonferenzen mit „geringem“ Bandbreitenbedarf (~ 128 kbit/s mal Anzahl Teilnehmer, je Teilnehmer) „cross-platform“ eingesetzt. Es nutzt die MBone Systeme VIC & RAT und bietet darüber hinaus eine komfortable Weboberfläche für Verbindungsaufnahme, Reservierung etc. Gateways zu H.323 und AccessGrid werden angeboten. Das H.323 Gateway wurde innerhalb der MPG (IPP) intensiv getestet und als nicht akzeptabel bezüglich Qualität und Betriebsstabilität abgelehnt Produzent der Komponente (des Systems, Projektbeteiligte): http://www.vrvs.org/About/ ( ~ Caltech, CERN ?? ) Die Komponente (das System) wird zurzeit eingesetzt von: (in D: unbekannt) Bedeutung der Komponente (des Systems) im D-Grid (siehe generische Beschreibung VK- und Kollaborationssysteme) Welche Schwachstelle hat die Komponente (das System) zurzeit (siehe auch generische Beschreibung VK- und Kollaborationssysteme) Bild- und vor allem Tonqualität sind eher randständig. Nutzung ist recht unzuverlässig und personalaufwendig. Gateways funktionieren eher schlecht. Keine Verbindung zur Grid-Welt bekannt Das System sollte für D-Grid nicht propagiert werden Erarbeitet von: Hans Pfeiffenberger <[email protected]> Ulrich Schwenn <[email protected]> Seite 70 5.3 Access Grid Name der Komponente (des Systems, des Projektes): Access Grid Funktion der Komponente (des Systems, des Projektes): Ermöglicht qualitativ hochwertige Videokonferenzen mit hohem Bandbreitenbedarf (~ 10 Mbit/s je Teilnehmer) Für das eigentliche Audio- und Videokonferenzing werden die MBone Tools vic und rat benutzt. Es werden vom System auch Unicast/Multicast Bridges unterstützt wodurch nicht zwingend ein funktionierendes Multicast vorhanden sein muß. Es werden unterschiedliche Konfigurationen unterstützt, vom großen Seminarraum mit mehreren Projektoren, getrennten Rechnern für Audio- und Videoaufnahme und hardwarebasierter Audiofeedbackunterdrückung bis hin zum einfachen Laptop mit Headset. Das Access Grid stellt Schnittstellen zur Verfügung, um eigene Applikationen einbinden zu können. Unter anderem wurde ein Shared Webbrowser und ein Shared MS-PowerPoint implementiert. Ein Text-Chat ist mit im Basissystem integriert. weitere Infos unter http://www.accessgrid.org . Dort gibt es unter anderem ein ausführliches online tutorial. Produzent der Komponente (des Systems, Projektbeteiligte): http://www.accessgrid.org/ ( ~ Argonne Natl. Lab ? ) Die Komponente (das System) wird zurzeit eingesetzt von: Derzeit gibt es etwa 150 US, 30 UK, 7 D und weitere ca 70 weltweit registrierte Standorte, überwiegend Unis. Man beachte die starke Verbreitung in England. Für die größeren Einrichtungen ist Multicast ein MUSS, mit allen damit verbundenen Problemen (Router, Manpower). Das DEISA Projekt der EU wird Access Grid verwenden, einige deutsche GRID Anwender (AEI Potsdam, FZ Jülich) haben AG Nodes. Bedeutung der Komponente (des Systems) im D-Grid (siehe generische Beschreibung VK- und Kollaborationssysteme) Welche Schwachstelle hat die Komponente (das System) zurzeit (siehe auch generische Beschreibung VK- und Kollaborationssysteme) Hoher Bandbreitenbedarf, hoher Personalbedarf, Hardware eher noch teurer als H.323. Eher auf komplette, dedizierte Räume ausgerichtet. Erarbeitet von: Hans Pfeiffenberger <[email protected]> Ulrich Schwenn <[email protected]> Uwe Wössner <[email protected]> Seite 71 5.4 Virtual Network Computing (VNC) Name der Komponente (des Systems, des Projektes): VNC (Virtual Network Computing); verschiedene, zueinander kompatible Versionen (RealVNC, TightVNC, UltraVNC). Funktion der Komponente (des Systems; Ziel des Projektes): Allgemein: Fernzugriff auf den Windows-Desktop (MS Windows, XWindows) über das Netz; damit: Echtzeit-Verteilung von Präsentationen, kollaboratives Arbeiten. Produzent der Komponente (des Systems; Projektbeteiligte): Open Source; RealVNC (hervorgegangen aus einem Team der AT&T Laboratories in Cambridge) Die Komponente (das System) wird zurzeit eingesetzt von: Verbreitetes Standardsystem z. B. für E-Learning, Fernwartung. Einbettung der Komponente (des Systems, des Projektes): VNC ergänzt den Einsatz von Videokonferenz bzw. Videoübertragungssystemen, insbesondere von H.323-Mehrpunktkonferenzen durch die Übertragung von Bildschirminhalten, wie z. B. Präsentationen. Es stellt damit eine Alternative zu T.120 (z. B. MS NetMeeting) dar. Das System ist weit gehend plattformunabhängig (MS Windows, Linux, Solaris, Java u. a.). Lediglich die Übertragung von Bildschirm-Overlays (Video, Open-GL) ist nicht möglich. Speziell UltraVNC liefert sehr gute Ergebnisse bzgl. Darstellungsqualität und Wiederholrate bei Bitraten um 1 Mbit/s. Weitere Komponenten sind für den Einsatz nicht erforderlich, bei einer höheren Anzahl parallel zugreifender Teilnehmer kann der Einsatz eines VNC-Replikators vorteilhaft sein. VNC wurde im RRZN z. B. für den Einsatz in ELearning-Szenarien evaluiert. Bedeutung der Komponente (des Systems) im D-Grid: VNC ergänzt das H.323-Videokonferenzsystem um die oft benötigte Verteilung von Bildschirmdarstellungen. Die Open-Source-Architektur ermöglicht gegebenenfalls individuelle Anpassungen an individuelle Applikationen. Welche Schwachstellen hat die Komponente (das System) zurzeit: VNC wurde ursprünglich für die System-übergreifende Fernwartung und damit 1:1Verbindungen entwickelt. Die Weiterentwicklungen bieten 1:n-Verbindungen, wobei zwischen passivem und aktivem Zugriff differenziert werden kann. Der parallele aktive Zugriff mehrerer Teilnehmer ist jedoch nicht (wie etwa bei NetMeeting) reglementiert und gestaltet sich daher bei einer großen Teilnehmeranzahl als schwierig. Wer arbeitet gegenwärtig an einer Verbesserung der Schwachstellen: Alle drei genannten Versionen werden aktiv von den jeweiligen Teams (Real, Tight, Ultra) weiterentwickelt. Erarbeitet von: Ralf Einhorn <[email protected]>, Stephan Olbrich <[email protected]> Seite 72