Grid computing in der geobranche
Download
1 / 39

Grid-Computing in der Geobranche - PowerPoint PPT Presentation


Grid-Computing in der Geobranche. Aktueller Stand, Chancen und Risiken Geoinformatik 2009 Osnabrück, 31.03. – 02.04.2009 Prof. Dr.-Ing. habil. Gerd Buziek Dr. Eberhard Tscheuschner. Agenda. Engagement im Projekt GDI-Grid Überblick zu Motivation, Anlaß, Basics

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Grid-Computing in der Geobranche

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Grid-Computing in der Geobranche

Aktueller Stand, Chancen und Risiken

Geoinformatik 2009

Osnabrück, 31.03. – 02.04.2009

Prof. Dr.-Ing. habil. Gerd Buziek

Dr. Eberhard Tscheuschner


Agenda

  • Engagement im Projekt GDI-Grid

    • Überblick zu Motivation, Anlaß, Basics

  • Integration ArcGIS & Grid (AGREE)

    • Einstieg in Architektur, Schnittstellen

  • Programmiermodelle (AGREE)

    • Übersicht zu Funktionalitäten

  • Perspektiven

    • Ausblicke


G

G

R

I

G

D

D

S

Engagement im Projekt GDI-Grid

  • Ein Überblick…


Initiale Motivation

  • Spezifische Interessenlage: Grid und GDI

    • Ausgangsposition: GIS-Technologie und GDI/SDI

      • Skalierung hochauflösender GIS/SOA- und GDI/SDI-Dienste

    • INSPIRE: GDI/SDI auf supranationaler Ebene…

  • Grid-Computing – High End Skalierung

    • Supercomputing auf COTS Hardware

  • Das nationale Umfeld: Die D-GRID Initiative

    • BMBF: Förderung und Nachhaltigkeitsbestrebungen

    • Forschungs-Communities mit Industrie-Beteiligung

    • Nationale Infrastruktur für Supercomputing

       Perfekter Anlaß zum Einstieg in GDI-Grid!


G³-Formel: Grid, GIS, GDI

  • Fokus: Grid im Kontext…

    • GIS/SOA, GDI/SDI…

      Sehr große Datenmengen

      Bedarf an Rechenleistung

  • Spontane Assoziationen…

    • Flächenhafte Aufteilung

    • Verteilung über Gitter/Raster

  • Computing- und Service-Infrastruktur

    • Statusfreie, statushafte Dienste, dynamische Fortschreibung

  • Geodaten/Services im nationalen Maßstab: GDI/SDI


GDI – Basics…

  • Digitale Geodaten im nationalen Maßstab

    • Definition standardisierter Geodatenprodukte

    • Realisierung über zwei sehr verschiedene Teilprozesse:

    • Produktion, Herstellung wohldefinierter Produkte

      • Beschaffung, Standardisierung, Qualitätssicherung, Fortschreiben

      • Aufwand linear mit Flächenmaß des Nationalstaats

    • Distribution, Abgabe der Produkte an die Nutzer

      • Physische Bereitstellung, Abgabe und Verteilung in den Markt

      • Aufwand quadratisch mit Fläche und Bevölkerung [ IGN 2006]

    • Unterscheidung von Produktion und Distribution…

      • Vermeidung des (quadratischen) Mehrfachaufwands ist essentiell

      • Qualitätssicherung wohldefinierter Produkte


Produktion

¹

Produkt-Repository

D

Distribution

Geodaten

Pool

C

D

B

A

¹

²

D

Viele Prozesse zur

Qualitätssicherung

GIS = GeoERP

Abgabe-Prozesse

³

GDI – Basics…

  • Separate Produktion und Distribution bei GDI/SDI

    • Voraussetzung für qualitätsgeprüfte Geodatenprodukte

    • Konsequentes Ausschöpfen eines 1:N Kopiernutzens

    • Aufwand:

      • (A+B+C) * Flächenmaß  Flächenmaß * D * N [Anzahl Nutzer]


Quadratische Lastwirkung gegeben als

äußerer Faktor,nicht steuerbar…

Multiplikative Lastwirkungen, steuerbar…

GDI – Basics…

  • GDI/SDI Distribution: Einige Kenngrößen…

    • Thematisch reichhaltige, differenzierte Informationsangebote

      • Geobasisdaten, Geofachdaten, Metadaten, …

    • Vermittlungsmechanismen IP-basiert, unicast [multicast…]

      • Multiplikatoren im sekundären, tertiären, … Geodatenmarkt

      • Digital-mediale Vermittlungsketten, Veredelungsprozesse

    • Effektivität im Gesamtprozess nur dann garantiert, wenn…

      • Relation 1:N beim Kopiernutzen aufrechterhalten werden kann

    • Gebietsfläche

    • Nutzerkreis

    • Aktualität

    • Qualität


GIS-Analyse: GDI – Sizing

  • Nationale Geodaten-Produktion und Distribution

    • Aufwand hochgerechnet an Schweiz

      • Effektivität ~2 CPUs/Mio Einwohner

      • Geobasisdaten, Geofachdaten *)

*) Minimal erforderliche Prozessleistung für die

Bereitstellungs- und Abgabefunktionen nationaler

Geobasisdaten, partiell Geofachdaten


GIS-Analyse: GDI – Sizing

  • Verhältnis #CPU (TCO) von Produktion zu Distribution

    • Aufwand für sekundäre usw. Multiplikatoren nicht gerechnet!

    • Break Even etwa bei USA (Fläche, Bevölkerung/Markt)

    • EU mit höherem Proliferationsaufwand (Bevölkerung/Markt)

  • Möglichkeiten zur Regulierung des Aufwands

    • Fokusierung auf autokorrelierte Räume (Flächenfaktor)

      Dezentralisierung,Regionalisierung, Segmentierung, …

    • Intensivierung sekundärer Multiplikatoren (Marktfaktor)

       “Out-Sourcing“, Kommerzialisierung, Veredelung, …

    • Standardisierung, Normierung im Rahmen von GDI/SDI

    • Standard-Softwareprodukte (GIS als „Geo-ERP“)


G

G

R

I

G

D

D

S

Integration ArcGIS und Grid

  • Der Einstieg…


Integration ArcGIS und Grid

  • Was ist Grid-Computing in technischer Hinsicht?

    • Verwaltete Rechenleistung, abrufbar je nach Bedarfslage

    • Eine Job-Control, wie man sie immer schon haben wollte

D-GRID Monitor

LRZ-München

  • Site-Info Cluster/Hosts

  • Topologie/Karte


Integration ArcGIS und Grid

  • Integration von ArcGIS-Technologie und Grid

    • Frage nach der System-Architektur einer Integration

      • „Grid-ifizierung“ von ArcGIS: Nein, weil Standardsoftware!

      • „Gis-ifizierung“ eines Grid: Ja, weil COTS Plattformen!

    • Analyse der Integrations-Komponenten

      • ArcGIS Server: Skalierender SOM/SOC Cluster

      • Z.B. Globus Toolkit: Skalierender GRAM/Grid Cluster

  • Strukturelle/architektonische Übereinstimmungen

    • ArcGIS Server und Grid: beides sind skalierende Cluster!

  • Integration zweier Cluster-skalierender Systeme

    • Duale Architektur für Status-Management: Kaskadierung


ArcGIS Server Architektur

  • ArcGIS Multi-Tier Integrations-Architektur

MS ADS, MS ISA, MS CCS, MS BizTalk

Microsoft Internet Security and Acceleration (ISA) Server

Microsoft Compute Cluster Server

Microsoft BizTalk Server

HTTPD

(MS IIS, WebSphere, Apache, Tomcat)

IIS Cluster

ArcGIS Server ADF

AGS SOM Cluster

ArcGIS Server Object Mgr. (SOM)

ArcGIS Server ADF

Development Cluster

(Visual Studio 2005)

ArcGIS Server Object Cont. (SOC) Cluster

COM+/DCOM

(LRPC/RPC)

sde_5151, direct connect

RDBMS

(SQL Server, Oracle, DB2, Informix, Postgres)

DB Cluster

FC, iSCSI

SAN

Storage Cluster


Globus Toolkit Architektur

  • Grid Middleware Cluster/Integration Architektur

Apache/Sun/Oracle AS, JBOSS, Websphere, Weblogic I+II

HTTPD

(Apache, Tomcat, WebSphere, …)

Globus TK Java WS Core, WSRF/WSN

Apache/Tomcat Cluster

Java J2EE

Globus Toolkit GRAM

Development Cluster

(Eclipse Java/CDT)

Linux Cluster Node Array

Torque, Ganglia, Nagios, …

OGSA/DAI, JDBC

RDBMS

(PostgreSQL, Oracle, DB2, Informix)

DB Cluster

FC, iSCSI

SAN

Storage Cluster


Integration ArcGIS und Grid

  • Statushafter Betrieb von ArcGIS Desktop/Server

    • Statusbehaftete Services, Replikation, Transaktion, Editing…

    • Konfigurierte Services auf den Server Object Containern

    • Load-Balancing zwischen den Server Object Containern

  • Statusfreier Betrieb des Grids

    • Grid-Job Ausführung ist statusfrei

    • Kein Service-Status auf den Grid Worker Nodes

    • Bibliotheken im Cluster SW-Pool: ArcGIS Engine =OK

  • Kaskadierung für Status-Management

  • Kaskadierung für Service-Kopplung


Integration – AGREE Approach

  • Lösungsansatz: AGREE System-Architektur

    • AGREE = ArcGIS Grid Enabled Environment

    • Integration der Grid-Middleware in die ArcGIS Architektur

  • Anwendermodell konform zu Industrie-Standard GIS

    • Grid-Aktivierung über Geoprocessing Tools und Service Tasks

    • Nahtlose Integration in GIS-Anwendungsszenarien

  • Verschiedene Szenarien der Grid-Aktivität, Datenbezug

    • Generisch (OGSA-DAI), Webservices, ArcSDE, ArcGIS Server

  • Authentifizierung durch Grid-Zertifikate (z.B. DFN CA)

    • Über Grid-Middleware-Adapter (z.B. Globus TK APIs)


Integration – AGREE Approach

  • AGREE als konfigurierbarer Lösungsraum…

    • Client-seitige Integration mit ArcGIS Geoprocessing

      • „Klassische“ Grid-Jobs im Kontext des Scientific Computing

    • Grid-seitige Integration mit ArcGIS Engine

      • Grid-Jobs mit Nutzung von ArcObjects-Funktionalität

        • In situ Geoprocessing auf den Grid-Knoten

        • Delegation von Geoprocessing an ArcGIS Server GP Services

        • Austausch von Geodaten mit assoziierten Geodatabase-Servern

    • GIS-seitige Integration mit ArcGIS Engine + ArcGIS Server

      • Grid-Jobs aktiviert über ArcGIS Server Service-Requests

      • Grid-Jobs nutzen ArcGIS Server Service-Requests

    • Große Vielfalt unterstützter Anwendungsfälle, Szenarien…


Python/GTK-Adapter

AGREE Szenario 1

  • ArcGIS Desktop Geoprocessing Tools

    • Konventionelle Grid-Jobs

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Desktop

      • z.B. Gitter-Interpolation eines DOM aus LIDAR-Rohdaten

Status-freie

Ausführung

Asynchrones

Geoprocessing

ArcGIS Desktop

(Windows)

Grid Cluster

(Linux)


Python/GTK-Adapter

AGREE Szenario 2

  • ArcGIS Desktop Geoprocessing Tools

    • Konventionelle Grid-Jobs und ArcGIS Server (OGC W*S)

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Desktop

      • z.B. unter Nutzung von ArcGIS Server Standard OGC-Services

Status-freie

Ausführung

Aktivierung

OGC W*S

Status-behafteter

Service, Speicher

Asynchrones

Geoprocessing

ArcGIS Server

(Linux, Windows)

ArcSDE Geodatabase

ArcGIS Desktop

(Windows)

Grid Cluster (Linux) mit

installierter ArcGIS Engine


Python/GTK-Adapter

AGREE Szenario 3

  • ArcGIS Desktop Geoprocessing Tools

    • Grid-Jobs mit Nutzung der ArcGIS Engine Library

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Desktop

      • z.B. unter Nutzung von ArcObjects durch den Grid-Job

Status-freie

Ausführung

Asynchrones

Geoprocessing

Aktivierung

ArcObjects

ArcGIS Desktop

(Windows)

Grid Cluster (Linux) mit

installierter ArcGIS Engine


Python/GTK-Adapter

AGREE Szenario 4

  • ArcGIS Desktop Geoprocessing Tools

    • Grid-Jobs mit ArcGIS Engine, ArcSDE und ArcGIS Server

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Desktop

      • z.B. unter Nutzung von ArcGIS Server Services über ArcGIS Engine

Status-freie

Ausführung

Aktivierung

AGS Services

Asynchrones

Geoprocessing

Aktivierung

ArcObjects

Aktivierung

ArcSDE

ArcGIS Server

(Linux, Windows)

ArcSDE Geodatabase

ArcGIS Desktop

(Windows)

Grid Cluster (Linux) mit

installierter ArcGIS Engine


Java/GTK-Adapter

AGREE Szenario 5

  • ArcGIS Server Geoprocessing Service Tasks

    • Konventionelle Grid-Jobs

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Server

      • z.B. Gitter-Interpolation eines DOM aus LIDAR-Rohdaten

Asynchrones

Geoprocessing

Status-behafteter

Service, Speicher

Status-behafteter

Service, Speicher

Status-freie

Ausführung

ArcGIS Server

(Linux, Windows)

ArcSDE Geodatabase

ArcGIS Desktop

(Windows)

Grid Cluster

(Linux)


Java/GTK-Adapter

AGREE Szenario 6

  • ArcGIS Server Geoprocessing Service Tasks

    • Grid-Jobs mit ArcGIS Engine und ArcSDE Geodatabase-I/O

      • Grid-basierte Rechenprozesse mit Geodaten-I/O in ArcGIS Server

      • z.B. unter Nutzung von ArcObjects durch den Grid-Job

Aktivierung

ArcObjects

Asynchrones

Geoprocessing

Status-behafteter

Service, Speicher

Status-behafteter

Service, Speicher

Status-freie

Ausführung

ArcGIS Server

(Linux, Windows)

ArcSDE Geodatabase

ArcGIS Desktop

(Windows)

Grid Cluster (Linux) mit

installierter ArcGIS Engine


ArcGIS auf Linux…


G

G

R

I

G

D

D

S

Programmiermodelle (AGREE)

  • Eine Übersicht…


Software-Architektur

  • Lösungen im Grid-Kontext: Software-Architektur…

    • Software-Architekturen entscheiden über Effektivität

      • Bei Anwendungen, Realisierung eines Nutzens

    • Programmiermodelle entscheiden über Produktivität

      • Bei Software-Engineering, Portierungen, Performanz

    • Anwendung von Grid-Jobs erfordert Management-Tools

      • Programmieren, verwalten, parametrisieren, aktivieren

      • Deployment, Datenbindung, Staging, Ausführung

    • Konzeption von Grid-Jobs in systematischer Form

      • Integration verschiedenster Codesysteme, Libraries

  • ArcGIS & Grid: sehr viele Programmiermodelle…


Software-Architektur

  • Grid Middleware-Adapter

    • ArcGIS Desktop Geoprocessing: Globus TK Python Core

    • ArcGIS Server

      • .NET Server, Geoprocessing Services: Globus TK Python Core

      • Java Server, Tomcat: Globus TK Java Core Libraries

  • Grid-Job Repository

    • Grid-Job Binaries & Scripts als Properties von GP Tools

    • Ablage in den TBX und/oder Geodatabase BLOBs

  • Grid-Job Parametrisierung und Aktivierung

    • ArcGIS Geoprocessing Tools, Geoprocessing Model Builder

    • ArcGIS Server Geoprocessing Services/Tasks


Programmiermodelle

  • Grid-Job Programmierung, konventionell…

    • Native GNU C/C++ Programmierung, Linux ELF Binaries

    • Shell Script(s) zur Aktivierung, LD_LIBRARY_PATH usw.

    • Runtime Libraries, zusätzliche Libraries, ggf. Java VM

    • tar/gzip/Zip-Archive für die Job-Komponenten

  • Grid-Job Programmierung mit ArcGIS Engine…

    • ArcObjects COM/DCOM Typelibraries, im Cluster vorinstalliert

      • Unter Linux (Unix, Solaris) als Mainsoft Crosscompile verfügbar

      • MW RPCSS und MW REGSS COM/DCOM Services (watchdog)

    • ArcGIS Engine Developer Kit: ArcSDK.h + AO Link Libraries

    • ArcObjects COM/DCOM mit nativ GNU C/C++, ELF Binaries


Programmiermodelle

  • Programmiermodell C/C++ DTC (Direct to COM)

    • Nutzen der bestehenden ArcObjects Funktionsbasis

    • Zugriffe auf ArcObjects über COM DTC Smart Pointer Typen

    • ArcObjects Code-Komplexität vergleichbar zu Visual Basic 6

    • Integration in beliebige bestehende C/C++-Codesysteme

    • Native Plattform-Performanz (GNU C/C++ ELF binaries)

  • Programmiermodell C/C++ ATL 8 (Visual Studio 2005)

    • Erweiterung der bestehenden ArcObjects Funktionsbasis

    • Implementierung von IExtension, IServerObjectExtension, …

    • Erzeugung eigener COM/DCOM DLLs (Shared Objects)

    • Crosscompilation mit Mainsoft Visual Studio Plug-In


Programmiermodelle

  • Programmiermodell Java

    • Nutzen der bestehenden ArcObjects Funktionsbasis

    • Zugriffe auf ArcObjects über J-Integra Proxy Objekte

    • ArcObjects Code-Komplexität vergleichbar zu Visual Basic 6

    • Integration in beliebige bestehende Java-Codesysteme

    • Native Java-VM Plattform-Performanz

  • Programmiermodell Java Extensions

    • Ankündigung von Java-basierten ServerObjectExtensions

      • Ab ArcGIS 9.3.1 native Java Klassen für Geoprocessing…


ArcObjects entities summary, based on all COM type libraries:

Enum

Struct

Interface

Coclass

Total

ArcGIS 9.2

1106

40

4824

3847

9817

ArcGIS 9.3

1194

51

5206

4049

10500

ArcObjects & nativ GNU C/C++

#include <iostream>

#include "ArcSDK.h"

#include "age_test.h"

int main(int argc, char** argv) {

HRESULT hr;

// initialize ArcGIS Engine and COM...

hr = ::AoInitialize(NULL);

// initialize ArcGIS Engine licensing...

if (SUCCEEDED(hr)) {

IAoInitializePtr ipInit; // smart pointer declaration...

ipInit.CreateInstance(CLSID_AoInitialize);

esriLicenseStatus licenseStatus;

hr = ipInit->Initialize(esriLicenseProductCodeEngine, &licenseStatus);

// all your ArcObjects code comes here...

if (SUCCEEDED(hr)) {

std::cout << "ESRI ArcGIS Engine (Runtime) initializing..." << std::endl;

switch (licenseStatus) {

case esriLicenseAvailable: // here comes your code!!!

break;

default:;

}

std::cout << "ESRI ArcGIS Engine (Runtime) shutdown..." << std::endl;

}

// finally shutdown ArcGIS Engine...

ipInit->Shutdown();

}

// uninitialize ArcGIS Engine and COM...

::AoUninitialize();

// exit the application...

AoExit(0);

}

ArcGIS Engine Initialisierungssequenz

in nativer C/C++ Codierung (GNU gcc)

auf Scientific Linux 4.6


G

G

R

I

G

D

D

S

Perspektiven aus industrieller Sicht

  • Ein Ausblick…


Grid – Fazit…

  • Klassischer Einsatz von Grid-Computing

    • Wissenschaftliche Modellierung („Number Crunching“)

    • Unterstützung des „Scientific Computing“ Anwendermodells

    • CPU-intensive und Datenmengen-intensive Problemstellungen

  • Grid-Computing allein ist kein Allheilmittel, weil…

    • Integrationsaufwand für COTS Softwareprodukte

      • Konfigurationsmanagement? Es muß programmiert werden…

    • Plattform- und Middleware-Spezifität/Affinität

      • Problemstellungen müssen dem Grid angepaßt werden

    • Praktisch nur Asynchronverarbeitung möglich („Job-Control“)

    • Hohe Latenzzeiten (Minuten, Stunden, …)


Grid – Kritik

  • Granularität, Skalierung, Verteilung von Prozessen

    • Generische, integrierte Lösungen unter Applikationskontrolle

    • Bevorzugt: Betriebssystem-nah bzw. integriert

  • Kommunikations-API für verteilte Prozesse

    • Bestehende Standards (Pipes, Sockets, Protokolle…)

    • Bevorzugt: Betriebssystem-nah bzw. integriert

  • Windows Server 2003, Server 2008 („post Vista“)

    • Windows CCS, HPC: integrierte Clusterfähigkeit/APIs

    • Windows Server, APIs für Content/Application Streaming

  • Authentifizierung, integriertes ID-Management

    • ADS, Kerberos, PKI, Zertifikate, Shibboleth, …


Grid – Positionierung

  • Grid-Computing – Eigenschaften:

    • Infrastruktur spezifischer Middleware auf COTS Hardware

    • Management von Rechenkapazität (Cluster, Knoten, Cores, …)

    • Ein Grid ist kein COTS Softwareprodukt [Instant-Grid…]

  • Grid-Computing – Stärken:

    • Anwendung dieser Infrastruktur auf hochskalare Probleme

    • BalancierteSkalierungs-Architekturen (CPU/Bandbreite)

      • „Kaltes“ Supercomputing: hohe, nicht extreme Datendurchsätze

    • Massiv parallele Problemstellungen, sehr große Datenmengen

    • „Langsame“ Problemstellungen, Monte Carlo-Modellierungen

    • z.B. Geodaten-Management, Geo-Processing (GDI/SDI)


Ausblick…

  • Nationale Geodateninfrastrukturen: wie geht es weiter?

    • Potentieller Kandidat für den Einsatz von Grid-Computing

      • Bei Produktion über große Flächenstaaten („Petabyte-Level“)

      • Bedingt bei Distribution, Proliferation über Service-Kaskaden

    • Potentieller Kandidat für mediale Vermittlungsketten

      • … in Regionen mit sehr hoher Bevölkerungszahl und -Dichte!

    • Zunehmender Bedarf an hochqualitativen Angeboten

      • Standardisierte Geodaten und Geodatendienste

      • Hochauflösend, thematisch differenziert, aktuell, …

      • Vollständige Flächenabdeckungen

    • Wo liegt der Nutzen, wo liegen die Grenzen?

      • Entwicklung eines Dienstleistungsmarktes…


Zusammenfassung

  • GIS-Marktanalyse zu Grid-Computing…

    • Fakten: Grid ist bekannt (Wissenschaft), aber nicht im Einsatz

    • Einwertung: Skalierungsbedarf ja, techn./org. Aufwand hoch

    • Wunsch: Flexible, am Bedarf orientierte Rechenkapazität

    • Zitat 1: „Sehr innovativ, mit Grid Anschluß an IT-Trends“

    • Zitat 2: „Sehr wichtig, weil Parallelisierung erforderlich“

    • Zitat 3: „Mehr Informationen zu GDI-Grid erwünscht“

  • Antwort seitens der GIS-Technologie:

    • Anwendungs-Standards für räumliche Datenverarbeitung

    • Integrales Betriebsmittel für Geodatenproduktion/Distribution

    • Integration: Geo-ERP für GDI/SDI, Grid als Skalierungsbasis


G

G

R

I

G

D

D

S

Grid, GDI und GIS…

Anregungen?

Geographie

Fragen?

Informationen

Diskussion!

Systeme


ad
  • Login