SlideShare uma empresa Scribd logo
1 de 35
Geoinformatik-Kolloquium

GRASS GIS auf dem High Performance Cluster


            Peter Löwe, Jan Thaler
                   (CeGIT)
Gliederung


   Überblick und Historie von GRASS GIS
   GRASS GIS auf dem GFZ Compute Cluster
   Praktische Beispiele aus dem TRIDEC Projekt
GRASS GIS in seinen „Späten Zwanzigern“

      1982: Entwicklung von GRASS GIS beginnt (US Army)
      1987: Promotion-Video, erzählt von William Shatner
      1997: Software veröffentlicht als Public Domain (GRASS 4.2)
      1999: GRASS wird Free and Open Source Software (GPL)
      2011: GRASS Version 7.0 in Entwicklung




                                                            http://grass.osgeo.org/grass_movie_CERL_1987/
http://grass.fbk.eu/images/gbanner.gif
Überblick

   GRASS GIS ist Open Source Software (GPL-Lizenz)
   Große Nutzerbasis
   Umfangreiche Dokumentation
   > 350 Module (Raster- / Vektor- /Volumenprozessierung)
   Eingebaute 3D-Visualisierung (NVIZ)
   Schnittstellen zu R, Paraview, PostGREs, und vielen weiteren
   Module-Code: C
   Scripting in Python, Shell, Perl, etc.
   Verfügbar für MS Windows / OS X / Linux; embedded in
    Quantum GIS (QGIS)
Beispiele




  Source: http://grass.fbk.eu/images/
Anwendungsfälle für Clusternutzung

   Langwierige Berechnungen
    –   Der Cluster ist immer verfügbar
    –   Zeitaufwändigste Berechnung bisher: 20 Tage



   Gleichartige Berechnungen
    –   Anwendung des gleichen Algorithmus auf verschiedene Ausgangsdaten bzw. auf die
        gleichen Daten mit unterschiedlichen Parametern – einfache Parallelisierbarkeit



   „Teile und herrsche“
    –   Zeitaufwendige Berechnungen auf sehr großen Daten bei denen man an schnellen
        Ergebnissen interessiert ist.
    –   Aufteilung der Daten in kleinere Teile, die parallel prozessiert werden. (GRASS Modul:
        r.tileset)
Der GFZ Compute Cluster
• Linux-Cluster aktuell: 234 Knoten, 480
  CPUs, 3084 Kerne
• Zu Beginn (2004) 32 Knoten, mehrere
  Erweiterungen
• AMD Opteron CPUs, SLES 11
• Teilweise exklusive Nutzung, teilweise
  bevorrechtigte Nutzung für finanzierende
  Gruppen
• Infiniband Netzwerk
• Netzwerk-Dateisystem und lokaler
  Speicher auf Knoten
• LSF Batch-System mit Queues für die
  verschiedenen Bereiche
Benutzung des Clusters

• Bedingung: Cluster-Account
    •   Zu beantragen bei Marina Köhler (koe@gfz-potsdam.de)

   Zugriff von jedem Computer im GFZ-Netzwerk
       Linux: ssh
       Windows: PuTTY

   Zugriff von außerhalb via VPN
   Dateitransfer: sftp, scp, (Filezilla)
GRASS GIS auf dem GFZ Compute Cluster

   Erste Experimente in 2008


   GRASS GIS läuft auf dem Zugangsknoten und allen
    anderen 234 Knoten


   Status:
       GRASS 6.4.2 („stable“) ist für alle Nutzer installiert
       GRASS 7 („trunk“) befindet sich in der Testphase


   Ziel: Bereitstellung einer Auswahl von Versionen für alle
    Nutzer
Nutzung von GRASS auf dem Cluster

   GRASS kann benutzt werden via
    –   Kommandozeile (Command line interface, CLI)
    –   CLI + Kartenfenster bzw. GRASS „Monitore“: GRASS 6.4
    –   Grafische Benutzeroberfläche: GRASS 6.4 / 7.0

• Login am Zugangsknoten glic des Clusters
• Laden des GRASS-Moduls
• Ggf. Starten einer GRASS-Session
• Ausführen einfacher Operationen auf dem Portalknoten möglich
• Ausführen rechenintensiver Operationen auf den Knoten über
  ein GRASS-Skript mit dem speziellem Befehl grass_clusterjob
Praxisbeispiel:
Login
        PuTTY unter MS Windows
Praxisbeispiel:
   Login
             PuTTY unter MS Windows

Load GRASS
module
Praxisbeispiel:
     Login
               PuTTY unter MS Windows

  Load GRASS
  module


Start GRASS
Praxisbeispiel:
     Login
               PuTTY unter MS Windows

  Load GRASS
  module


Start GRASS
Praxisbeispiel:
     Login
                     PuTTY unter MS Windows

  Load GRASS
  module


Start GRASS




     Kommando-
     zeileneingabe
Praxisbeispiel:
     Login
                      PuTTY unter MS Windows

  Load GRASS
  module


Start GRASS




     Kommando-       Graphisches
     zeileneingabe   Interface
Praxisbeispiel:
     Login
                      PuTTY unter MS Windows

  Load GRASS
  module


Start GRASS




     Kommando-       Graphisches      Darstellungs-
     zeileneingabe   Interface        fenster
Wissensbasis Dokuwiki: GRASS GIS
   http://dokuwiki.gfz-potsdam.de/gis
Dokuwiki: Geodaten / GRASS
Datenhaltung und Beispiele

• Geodaten werden in GRASS meist als „GIS-Projekt“ vorgehalten
• „Projekt“ = GRASS-Location:
   –   Projektionsinformation (aus EPSG, Daten, etc.)

• Eine Location umfasst 1-n Mapsets:
   –   Mapsets enthalten Vektoren, Rasterdaten und Volumen
   –   Die Mapsets einer Location können unterschiedliche räumliche Ausdehnungen und
       Auflösungen haben
   –   Mit Mapsets können Daten räumlich oder thematisch gegliedert werden
   –   Inhalte können zwischen Mapsets ausgetauscht werden

• Demo-Location: „Spearfish, North Dakota“
   –   Eine fertige GRASS-Location kann in das eigene Nutzerverzeichnis kopiert und benutzt
       werden.
   –   Weitere Informationen und Tutorials liegen im Wiki.
Extra-Modul zur Lastverteilung:
                    grass_clusterjob
• Syntax:     grass_clusterjob [parameters] SCRIPT_NAME SCRIPT_PARAMETERS

• Parameter:
   –   -q QUEUE_NAME Benutze die genannte Queue
   –   -o OUTPUT_FILE Schreibe Ausgabe in Datei (ansonsten per Mail)
   –   -d GISDBASE Benutze das genannte Verzeichnis
   –   -l LOCATION_NAME Benutze die genannte Location
   –   -m MAPSET Benutze das genannte Mapset
   –   -n Benutze das Netzwerkdateisystem anstatt des lokalen Speichers
   –   -r Entferne das GRASS-Skript nach Ausführung

• Das Skript muss ausführbar sein und gefunden werden (Angabe
  mit Pfad oder in PATH).
Dokuwiki: grass_clusterjob Dokumentation
Beispiel-Anwendungen im Dokuwiki
                          Payload = Auf einem HPC-Kern
                          auszuführende GRASS-Befehle




GRASS Modul-Aufruf




 GRASS Modul-Aufruf




                               Mehrfacher Aufruf des
                               GRASS-Moduls in einer
                               FOR-Schleife
Geschachtelte parametrisierte Skripte

• Inhalt des auszuführenden GRASS-Skript Templates:
     r.in.gdal –oe input=wave2d_XXX output=simulation_XXX   Name:
                                                            „TEMPLATE“
• Inhalt des steuernden Shell-Skripts:

      for i in {1..100}
      do
         cat TEMPLATE | sed "s/XXX/${i}/g" > SKRIPT_${i}.CLW
         grass_clusterjob SKRIPT_${i}.CLW
      done



Delegieren der 100 konfigurierten
r.in.gdal GRASS-Kommandos auf die
HPC Knoten
Hinter den Kulissen

• Es wird eine neue GRASS-Session auf einem Knoten erzeugt, die
  unabhängig von einer evtl. aktiven GRASS-Session ist.
   •   Aus GRASS heraus: Verzeichnis, aktive Location und Mapset werden übernommen.
   •   Aus der Login-Shell: Nutzer muss Verzeichnis, Location und Mapset angeben.
   •   Die Session ist nicht interaktiv und arbeitet nur das Skript ab.

• Ein temporäres Mapset mit eindeutigem Namen wird angelegt
• Alle Karten des Original-Mapsets sind weiter verfügbar.
• In diesem Mapset wird das Skript ausgeführt.
• Anschließend werden die Ergebnisse in das Original-Mapset
  zurückkopiert und das temporäre Mapset wird gelöscht.
Was macht mein Skript?

• Das Skript wird als normaler Job auf dem Cluster ausgeführt.
• Zur Kontrolle dienen die üblichen Befehle
   –   bjobs zeigt alle aktiven Jobs an
   –   bpeek zeigt die Ausgabe
   –   bkill beendet Jobs

• Nach Beendigung des Jobs wird die Ausgabe per Mail verschickt
  oder in einer Datei abgelegt.
• Ergebnisse, auch von längeren Skripten, stehen erst am Ende zur
  Verfügung.
Aufgetretene Probleme

• Überlastung des NFS bei vielen parallelen Jobs
   –   Nutzung des lokalen Speichers auf den Knoten
   –   Sequentielles Zurückkopieren der Ergebnisse?

• Löschen der Daten bei Abbruch
   –   Abbruch beendet Skript, daher separates Post-Execution-Skript
   –   Daten auf Knoten werden gelöscht

• Angehaltene und neu gestartete Jobs
   –   Jobs niedriger Priorität können angehalten und auf anderem Knoten neu gestartet werden
   –   Neues temporäres Mapset bei Neustart

• Flutung des User-Mailaccounts durch „Erfolgsmeldungen“
   –   Job-Abschlußmeldungen können alternativ in Textdateien geschrieben werden
Praxisbeispiele:
                          Tsunami-Produkte

• Kartierung und Analyse der Wellenausbreitungen
   –   TRIDEC-Projekt:
        • Daten-Qualitätssicherung
        • Öffentlichkeitsarbeit im TRIDEC Projekt


   –   GFZ Support der EXPO 2012 in Korea


   –   Präsentationen im GeoLab (LangeNacht 2012)
Praxis: Tsunamiatlas
• Kartierung von Tsunami Simulationen für das östliche Mittelmeer
   –   Ausgangsbasis: 391 Tsunamisimulationen
   –   Aufgabe: Zwei unterschiedliche thematische Karten (Isochronen, Max.
       Wellenhöhen) pro Simulation
Praxis: Visualisierung Tohoku-Tsunami
• Testlauf am 13.April 2012:
   –   Ableitung 751 thematischer Karten aus Tsunamisimulationen
   –   Ausführung als parallele Jobs
   –   Minimale Job-Dauer: 250 Sekunden, Maximale Dauer: 280 Sekunden

• Der Cluster benötigte 68 Minuten um die 751 Jobs parallel zu
  bearbeiten




• Anwendung:
   – Diskussionsbasis / QC
   – Globusanimationen
Praxisbeispiel Visualisierung Tohoku-Tsunami
• Abschätzung serielle Bearbeitung auf gleicher Hardware:
   – 751 Jobs a 250 Sekunden
   –   = 187750 Sekunden
   – = ca. 3219 Minuten

   – =   ca. 52 Stunden 9 Minuten




       Serielle Berechnung versagt als Basis für iterative
             Erstellungsprozesse und QC-Defintion !
Fazit

GRASS GIS auf dem High Performance Cluster:
• … bietet den Cluster-Benutzern ein neues Werkzeug im GIS-
  Bereich
• … bietet der Geoinformatik/GIS-Community eine neue mächtige
  Arbeitsumgebung jenseits der Limitierungen von Desktop-
  Maschinen
• … wird als Zusammenarbeit von Rechenzentrum und CeGIT als
  „Software as a Service“ bereitgestellt


Alle GFZ-Mitarbeiter sind eingeladen, dieses Service-Angebot
                          zu nutzen.
Ausblick

• Weitere interne Tests mit sehr großen Datenmengen
• In Erprobung: GRASS 7 (wxGUI, temporale Geodaten)
• Externe Nutzungsmöglichkeit ohne Clusteraccount
• Anpassung an Nutzerbedürfnisse
   –   Einbindung von GRASS Add-on Modulen
   –   Zusätzliche Geodaten-Formate
   –   Zusätzliche Datenbanken
   –   Verbesserung der Bedienbarkeit
   –   Wir freuen uns auf Feedback!

• Training:
   –   Summer School ?
   –   Winter School parallel zum GIS DAY 2012 ?
Dank

Die Arbeiten am GFZ basieren auf Vorarbeiten in der GRASS
GIS Developer Community durch
          Markus Neteler und Luca Delucchi
von der Fondazione Edmund Mach - Research and Innovation
Centre).
Danke für die Aufmerksamkeit !


          Fragen ?

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende Einführung
 
Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemacht
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!Sei (k)ein Blödmann und nimm Git!
Sei (k)ein Blödmann und nimm Git!
 
Ausfallsichere Kultur mit Plone
Ausfallsichere Kultur mit PloneAusfallsichere Kultur mit Plone
Ausfallsichere Kultur mit Plone
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easy
 
systemd & Docker
systemd & Dockersystemd & Docker
systemd & Docker
 
Schweben auf Wolke7
Schweben auf Wolke7Schweben auf Wolke7
Schweben auf Wolke7
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
 
Die Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOpsDie Containerplattform Lego für DevOps
Die Containerplattform Lego für DevOps
 
Archivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday DigicompArchivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday Digicomp
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011
 
Cepicky pywps
Cepicky pywpsCepicky pywps
Cepicky pywps
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Git Grundlagen
Git GrundlagenGit Grundlagen
Git Grundlagen
 
Introduction to the command line
Introduction to the command lineIntroduction to the command line
Introduction to the command line
 

Destaque (20)

Actuaciones que debilitan el estado de derecho
Actuaciones que debilitan el estado de derechoActuaciones que debilitan el estado de derecho
Actuaciones que debilitan el estado de derecho
 
Primeros DíAs En Kinder A
Primeros DíAs En Kinder APrimeros DíAs En Kinder A
Primeros DíAs En Kinder A
 
Transito
TransitoTransito
Transito
 
Edgar Emmanuel Flores Maldonado album.
Edgar Emmanuel Flores Maldonado album.Edgar Emmanuel Flores Maldonado album.
Edgar Emmanuel Flores Maldonado album.
 
Pecha Kucha Freek
Pecha Kucha FreekPecha Kucha Freek
Pecha Kucha Freek
 
Presentación Red Feminista 04 06-14
Presentación Red Feminista 04 06-14Presentación Red Feminista 04 06-14
Presentación Red Feminista 04 06-14
 
Generaciones de las computadoras
Generaciones de las computadorasGeneraciones de las computadoras
Generaciones de las computadoras
 
Google doc's
Google doc'sGoogle doc's
Google doc's
 
Google doc's
Google doc'sGoogle doc's
Google doc's
 
Proyecto de Informatica
Proyecto de InformaticaProyecto de Informatica
Proyecto de Informatica
 
Manual cllic
Manual cllicManual cllic
Manual cllic
 
Leishmaniosis fcm
Leishmaniosis fcmLeishmaniosis fcm
Leishmaniosis fcm
 
httpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop Eisenmengerhttpasts://digitalmemoryonthenet Workshop Eisenmenger
httpasts://digitalmemoryonthenet Workshop Eisenmenger
 
Power folk
Power folkPower folk
Power folk
 
21century Fundamentals
21century Fundamentals21century Fundamentals
21century Fundamentals
 
Com es difonen les idess
Com es difonen les idessCom es difonen les idess
Com es difonen les idess
 
Actividad de E-A de T&I
Actividad de E-A de T&IActividad de E-A de T&I
Actividad de E-A de T&I
 
Tutorial de-slideshare-3744
Tutorial de-slideshare-3744Tutorial de-slideshare-3744
Tutorial de-slideshare-3744
 
3d Typographie
3d Typographie3d Typographie
3d Typographie
 
Anteproyecto
AnteproyectoAnteproyecto
Anteproyecto
 

Semelhante a Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS

Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
Stefan Freitag
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
Ramon Wartala
 

Semelhante a Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS (20)

Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
Erweiterung einer D-Grid-Ressource um eine Compute-Cloud-Schnittstelle
 
LAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global DataLAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global Data
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
 
Java und Go im Vergleich
Java und Go im VergleichJava und Go im Vergleich
Java und Go im Vergleich
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
Grunt
GruntGrunt
Grunt
 
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 

Mais de Peter Löwe

INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
Peter Löwe
 
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-ProjekteFOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
Peter Löwe
 
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
Peter Löwe
 
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
Peter Löwe
 
First public screening of the high resolution version of the GRASS GIS video...
First public screening of the high resolution version of the  GRASS GIS video...First public screening of the high resolution version of the  GRASS GIS video...
First public screening of the high resolution version of the GRASS GIS video...
Peter Löwe
 
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
3D-printing with GRASS GIS – a work in progress in report FOSS4G 20143D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
Peter Löwe
 
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Peter Löwe
 
Data Science: History repeated? – The heritage of the Free and Open Source GI...
Data Science: History repeated? – The heritage of the Free and Open Source GI...Data Science: History repeated? – The heritage of the Free and Open Source GI...
Data Science: History repeated? – The heritage of the Free and Open Source GI...
Peter Löwe
 

Mais de Peter Löwe (20)

EGU GA 2018 OSGeo Townhall
EGU GA 2018 OSGeo TownhallEGU GA 2018 OSGeo Townhall
EGU GA 2018 OSGeo Townhall
 
EGU GA 2017 OSGeo Townhall
EGU GA 2017 OSGeo TownhallEGU GA 2017 OSGeo Townhall
EGU GA 2017 OSGeo Townhall
 
EGU GA 2014 OSGeo Townhall
EGU GA 2014 OSGeo TownhallEGU GA 2014 OSGeo Townhall
EGU GA 2014 OSGeo Townhall
 
EGU 2013 Splinter Meeting: FOSS in the Geosciences
EGU 2013 Splinter Meeting: FOSS in the Geosciences EGU 2013 Splinter Meeting: FOSS in the Geosciences
EGU 2013 Splinter Meeting: FOSS in the Geosciences
 
2012 egu foss_splinter_session
2012 egu foss_splinter_session2012 egu foss_splinter_session
2012 egu foss_splinter_session
 
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
INTEGRATION OPTIONS FOR PERSISTENT IDENTIFIERS IN OSGEO PROJECT REPOSITORIES:...
 
Research Data Management for Econometrics
Research Data Management for EconometricsResearch Data Management for Econometrics
Research Data Management for Econometrics
 
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-ProjekteFOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
FOSSGIS 2015: Das audiovisuelle Erbe der OSGeo-Projekte
 
Unlocking conference videos by DOI/MFID for software project communities
Unlocking conference videos by DOI/MFID for software project communitiesUnlocking conference videos by DOI/MFID for software project communities
Unlocking conference videos by DOI/MFID for software project communities
 
Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...
Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...
Libraries in the Big Data Era: Strategies and Challenges in Archiving and Sha...
 
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
The TIB|AV Portal : OSGeo conference videos as a resource for scientific res...
 
TIB's action for research data managament as a national library's strategy in...
TIB's action for research data managament as a national library's strategy in...TIB's action for research data managament as a national library's strategy in...
TIB's action for research data managament as a national library's strategy in...
 
GIS Day 2015: Geoinformatics, Open Source and Videos - a library perspective
GIS Day 2015: Geoinformatics, Open Source and Videos - a library perspectiveGIS Day 2015: Geoinformatics, Open Source and Videos - a library perspective
GIS Day 2015: Geoinformatics, Open Source and Videos - a library perspective
 
GIS DAY 2015: Guerilla globes
GIS DAY 2015: Guerilla globes GIS DAY 2015: Guerilla globes
GIS DAY 2015: Guerilla globes
 
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
Acquisition of audiovisual Scientific Technical Information from OSGeo: A wor...
 
First public screening of the high resolution version of the GRASS GIS video...
First public screening of the high resolution version of the  GRASS GIS video...First public screening of the high resolution version of the  GRASS GIS video...
First public screening of the high resolution version of the GRASS GIS video...
 
GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...
GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...
GRASS GIS, Star Trek and old Video Tape – a reference case on audiovisual pre...
 
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
3D-printing with GRASS GIS – a work in progress in report FOSS4G 20143D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
3D-printing with GRASS GIS – a work in progress in report FOSS4G 2014
 
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
Tectonic Storytelling with Open Source and Digital Object Identifiers - a cas...
 
Data Science: History repeated? – The heritage of the Free and Open Source GI...
Data Science: History repeated? – The heritage of the Free and Open Source GI...Data Science: History repeated? – The heritage of the Free and Open Source GI...
Data Science: History repeated? – The heritage of the Free and Open Source GI...
 

Último (7)

1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf
 
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdfLAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf
 
Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 
Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!
 
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 

Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS

  • 1. Geoinformatik-Kolloquium GRASS GIS auf dem High Performance Cluster Peter Löwe, Jan Thaler (CeGIT)
  • 2. Gliederung  Überblick und Historie von GRASS GIS  GRASS GIS auf dem GFZ Compute Cluster  Praktische Beispiele aus dem TRIDEC Projekt
  • 3. GRASS GIS in seinen „Späten Zwanzigern“  1982: Entwicklung von GRASS GIS beginnt (US Army)  1987: Promotion-Video, erzählt von William Shatner  1997: Software veröffentlicht als Public Domain (GRASS 4.2)  1999: GRASS wird Free and Open Source Software (GPL)  2011: GRASS Version 7.0 in Entwicklung http://grass.osgeo.org/grass_movie_CERL_1987/ http://grass.fbk.eu/images/gbanner.gif
  • 4. Überblick  GRASS GIS ist Open Source Software (GPL-Lizenz)  Große Nutzerbasis  Umfangreiche Dokumentation  > 350 Module (Raster- / Vektor- /Volumenprozessierung)  Eingebaute 3D-Visualisierung (NVIZ)  Schnittstellen zu R, Paraview, PostGREs, und vielen weiteren  Module-Code: C  Scripting in Python, Shell, Perl, etc.  Verfügbar für MS Windows / OS X / Linux; embedded in Quantum GIS (QGIS)
  • 5. Beispiele Source: http://grass.fbk.eu/images/
  • 6. Anwendungsfälle für Clusternutzung  Langwierige Berechnungen – Der Cluster ist immer verfügbar – Zeitaufwändigste Berechnung bisher: 20 Tage  Gleichartige Berechnungen – Anwendung des gleichen Algorithmus auf verschiedene Ausgangsdaten bzw. auf die gleichen Daten mit unterschiedlichen Parametern – einfache Parallelisierbarkeit  „Teile und herrsche“ – Zeitaufwendige Berechnungen auf sehr großen Daten bei denen man an schnellen Ergebnissen interessiert ist. – Aufteilung der Daten in kleinere Teile, die parallel prozessiert werden. (GRASS Modul: r.tileset)
  • 7. Der GFZ Compute Cluster • Linux-Cluster aktuell: 234 Knoten, 480 CPUs, 3084 Kerne • Zu Beginn (2004) 32 Knoten, mehrere Erweiterungen • AMD Opteron CPUs, SLES 11 • Teilweise exklusive Nutzung, teilweise bevorrechtigte Nutzung für finanzierende Gruppen • Infiniband Netzwerk • Netzwerk-Dateisystem und lokaler Speicher auf Knoten • LSF Batch-System mit Queues für die verschiedenen Bereiche
  • 8. Benutzung des Clusters • Bedingung: Cluster-Account • Zu beantragen bei Marina Köhler (koe@gfz-potsdam.de)  Zugriff von jedem Computer im GFZ-Netzwerk  Linux: ssh  Windows: PuTTY  Zugriff von außerhalb via VPN  Dateitransfer: sftp, scp, (Filezilla)
  • 9. GRASS GIS auf dem GFZ Compute Cluster  Erste Experimente in 2008  GRASS GIS läuft auf dem Zugangsknoten und allen anderen 234 Knoten  Status:  GRASS 6.4.2 („stable“) ist für alle Nutzer installiert  GRASS 7 („trunk“) befindet sich in der Testphase  Ziel: Bereitstellung einer Auswahl von Versionen für alle Nutzer
  • 10. Nutzung von GRASS auf dem Cluster  GRASS kann benutzt werden via – Kommandozeile (Command line interface, CLI) – CLI + Kartenfenster bzw. GRASS „Monitore“: GRASS 6.4 – Grafische Benutzeroberfläche: GRASS 6.4 / 7.0 • Login am Zugangsknoten glic des Clusters • Laden des GRASS-Moduls • Ggf. Starten einer GRASS-Session • Ausführen einfacher Operationen auf dem Portalknoten möglich • Ausführen rechenintensiver Operationen auf den Knoten über ein GRASS-Skript mit dem speziellem Befehl grass_clusterjob
  • 11. Praxisbeispiel: Login PuTTY unter MS Windows
  • 12. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module
  • 13. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module Start GRASS
  • 14. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module Start GRASS
  • 15. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module Start GRASS Kommando- zeileneingabe
  • 16. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module Start GRASS Kommando- Graphisches zeileneingabe Interface
  • 17. Praxisbeispiel: Login PuTTY unter MS Windows Load GRASS module Start GRASS Kommando- Graphisches Darstellungs- zeileneingabe Interface fenster
  • 18. Wissensbasis Dokuwiki: GRASS GIS http://dokuwiki.gfz-potsdam.de/gis
  • 20. Datenhaltung und Beispiele • Geodaten werden in GRASS meist als „GIS-Projekt“ vorgehalten • „Projekt“ = GRASS-Location: – Projektionsinformation (aus EPSG, Daten, etc.) • Eine Location umfasst 1-n Mapsets: – Mapsets enthalten Vektoren, Rasterdaten und Volumen – Die Mapsets einer Location können unterschiedliche räumliche Ausdehnungen und Auflösungen haben – Mit Mapsets können Daten räumlich oder thematisch gegliedert werden – Inhalte können zwischen Mapsets ausgetauscht werden • Demo-Location: „Spearfish, North Dakota“ – Eine fertige GRASS-Location kann in das eigene Nutzerverzeichnis kopiert und benutzt werden. – Weitere Informationen und Tutorials liegen im Wiki.
  • 21. Extra-Modul zur Lastverteilung: grass_clusterjob • Syntax: grass_clusterjob [parameters] SCRIPT_NAME SCRIPT_PARAMETERS • Parameter: – -q QUEUE_NAME Benutze die genannte Queue – -o OUTPUT_FILE Schreibe Ausgabe in Datei (ansonsten per Mail) – -d GISDBASE Benutze das genannte Verzeichnis – -l LOCATION_NAME Benutze die genannte Location – -m MAPSET Benutze das genannte Mapset – -n Benutze das Netzwerkdateisystem anstatt des lokalen Speichers – -r Entferne das GRASS-Skript nach Ausführung • Das Skript muss ausführbar sein und gefunden werden (Angabe mit Pfad oder in PATH).
  • 23. Beispiel-Anwendungen im Dokuwiki Payload = Auf einem HPC-Kern auszuführende GRASS-Befehle GRASS Modul-Aufruf GRASS Modul-Aufruf Mehrfacher Aufruf des GRASS-Moduls in einer FOR-Schleife
  • 24. Geschachtelte parametrisierte Skripte • Inhalt des auszuführenden GRASS-Skript Templates: r.in.gdal –oe input=wave2d_XXX output=simulation_XXX Name: „TEMPLATE“ • Inhalt des steuernden Shell-Skripts: for i in {1..100} do cat TEMPLATE | sed "s/XXX/${i}/g" > SKRIPT_${i}.CLW grass_clusterjob SKRIPT_${i}.CLW done Delegieren der 100 konfigurierten r.in.gdal GRASS-Kommandos auf die HPC Knoten
  • 25. Hinter den Kulissen • Es wird eine neue GRASS-Session auf einem Knoten erzeugt, die unabhängig von einer evtl. aktiven GRASS-Session ist. • Aus GRASS heraus: Verzeichnis, aktive Location und Mapset werden übernommen. • Aus der Login-Shell: Nutzer muss Verzeichnis, Location und Mapset angeben. • Die Session ist nicht interaktiv und arbeitet nur das Skript ab. • Ein temporäres Mapset mit eindeutigem Namen wird angelegt • Alle Karten des Original-Mapsets sind weiter verfügbar. • In diesem Mapset wird das Skript ausgeführt. • Anschließend werden die Ergebnisse in das Original-Mapset zurückkopiert und das temporäre Mapset wird gelöscht.
  • 26. Was macht mein Skript? • Das Skript wird als normaler Job auf dem Cluster ausgeführt. • Zur Kontrolle dienen die üblichen Befehle – bjobs zeigt alle aktiven Jobs an – bpeek zeigt die Ausgabe – bkill beendet Jobs • Nach Beendigung des Jobs wird die Ausgabe per Mail verschickt oder in einer Datei abgelegt. • Ergebnisse, auch von längeren Skripten, stehen erst am Ende zur Verfügung.
  • 27. Aufgetretene Probleme • Überlastung des NFS bei vielen parallelen Jobs – Nutzung des lokalen Speichers auf den Knoten – Sequentielles Zurückkopieren der Ergebnisse? • Löschen der Daten bei Abbruch – Abbruch beendet Skript, daher separates Post-Execution-Skript – Daten auf Knoten werden gelöscht • Angehaltene und neu gestartete Jobs – Jobs niedriger Priorität können angehalten und auf anderem Knoten neu gestartet werden – Neues temporäres Mapset bei Neustart • Flutung des User-Mailaccounts durch „Erfolgsmeldungen“ – Job-Abschlußmeldungen können alternativ in Textdateien geschrieben werden
  • 28. Praxisbeispiele: Tsunami-Produkte • Kartierung und Analyse der Wellenausbreitungen – TRIDEC-Projekt: • Daten-Qualitätssicherung • Öffentlichkeitsarbeit im TRIDEC Projekt – GFZ Support der EXPO 2012 in Korea – Präsentationen im GeoLab (LangeNacht 2012)
  • 29. Praxis: Tsunamiatlas • Kartierung von Tsunami Simulationen für das östliche Mittelmeer – Ausgangsbasis: 391 Tsunamisimulationen – Aufgabe: Zwei unterschiedliche thematische Karten (Isochronen, Max. Wellenhöhen) pro Simulation
  • 30. Praxis: Visualisierung Tohoku-Tsunami • Testlauf am 13.April 2012: – Ableitung 751 thematischer Karten aus Tsunamisimulationen – Ausführung als parallele Jobs – Minimale Job-Dauer: 250 Sekunden, Maximale Dauer: 280 Sekunden • Der Cluster benötigte 68 Minuten um die 751 Jobs parallel zu bearbeiten • Anwendung: – Diskussionsbasis / QC – Globusanimationen
  • 31. Praxisbeispiel Visualisierung Tohoku-Tsunami • Abschätzung serielle Bearbeitung auf gleicher Hardware: – 751 Jobs a 250 Sekunden – = 187750 Sekunden – = ca. 3219 Minuten – = ca. 52 Stunden 9 Minuten Serielle Berechnung versagt als Basis für iterative Erstellungsprozesse und QC-Defintion !
  • 32. Fazit GRASS GIS auf dem High Performance Cluster: • … bietet den Cluster-Benutzern ein neues Werkzeug im GIS- Bereich • … bietet der Geoinformatik/GIS-Community eine neue mächtige Arbeitsumgebung jenseits der Limitierungen von Desktop- Maschinen • … wird als Zusammenarbeit von Rechenzentrum und CeGIT als „Software as a Service“ bereitgestellt Alle GFZ-Mitarbeiter sind eingeladen, dieses Service-Angebot zu nutzen.
  • 33. Ausblick • Weitere interne Tests mit sehr großen Datenmengen • In Erprobung: GRASS 7 (wxGUI, temporale Geodaten) • Externe Nutzungsmöglichkeit ohne Clusteraccount • Anpassung an Nutzerbedürfnisse – Einbindung von GRASS Add-on Modulen – Zusätzliche Geodaten-Formate – Zusätzliche Datenbanken – Verbesserung der Bedienbarkeit – Wir freuen uns auf Feedback! • Training: – Summer School ? – Winter School parallel zum GIS DAY 2012 ?
  • 34. Dank Die Arbeiten am GFZ basieren auf Vorarbeiten in der GRASS GIS Developer Community durch Markus Neteler und Luca Delucchi von der Fondazione Edmund Mach - Research and Innovation Centre).
  • 35. Danke für die Aufmerksamkeit ! Fragen ?