E-Mail Drucken PDF

gridMathematica- Technical Computing mit Multicore-Technologie und Rechenclustern

gridMathematica führt Mathematica, die weltweit führende Umgebung für technische Berechnungen mit modernen Rechenclustern und -netzen zusammen, um den Herausforderungen in der Mathematik, in Ingenieur- und Naturwissenschaften und in den Finanzwissenschaften zu begegnen. gridMathematica setzt die Mathematica-Technologie, die ursprünglich für Single-Prozessor-Maschinen entwickelt wurde, für komplexe Berechnungen mit hohem Datenaufkommen auf Clustern, Multiprozessormaschinen und Rechnernetzen um.
gridMathematica bietet einen schnellen Zugriff auf die Vorbereitung und Ausführung komplexer Berechnungen. Es verfügt über eine hochstehende Programmiersprache, eine große Sammlung schneller und verlässlicher mathematischer Algorithmen und benutzerfreundliche Konstrukte für das parallele Programmieren.
Typische Anwendungsbereiche von gridMathematica können in der Bioinformatik, der Verarbeitung und Analyse großer Datensätze, dem Data Mining und großen Berechnungen in der Physik, der Mathematik und den Life Sciences gesehen werden.

Jede Mathematica Einzelplatz oder Netzwerklizenz (ab V8) besitzt 4 x Mathematica-Compute-Kernels und damit hat quasi jeder Nutzer von Beginn an "sein kleines Grid" am Start.Der Neuling in dieser Thematik kann sofort loslegen und der erfahrene Cluster-Experte kann über Konfigurationselemente in die Steuerung eingreifen. Mathematica läßt sich so auf beliebige viele Kernels erweitern, um z.B. auf einem HPC mit 512 Kernels zu rechnen.

gridMathematica ist verfügbar als Mathematica Core Extension (Einzelplatzlizenz) und als gridMathematica Server (Netzwerklizenz).

Beschleunigung von Prozessen mit gridMathematica

gridMathematica implementiert zahlreiche Primitive der Parallelprogrammierung und enthält höhere Kommandos für die parallele Ausführung von Matrixoperationen, Plotting u.v.a. gridMathematica wird mit Beispielapplikationen zahlreicher neuer populärer Programmieransätze, wie z. B. der parallelen Monte-Carlo-Simulation, Visualisierung, Datensuche und -optimierung ausgeliefert. Die Implementierung für alle höheren Kommandos zur Parallelverarbeitung sind als Mathematica-Sourcen enthalten, können also als Vorlagen für den Benutzer dienen, um eigene Parallelprogramme zu entwickeln.

Mit gridMathematica können jedoch nicht alle Berechnungen beschleunigt werden. Operationen wie "Integrate" oder "DSolve" wurden für die Verwendung auf einem Single-Prozessor-Rechner konzipiert. Eine Beschleunigung dieser Berechnungen kann dennoch erreicht werden, indem verschiedene “slave kernels”, d. h. untergeordneten Kernel im Netzwerk, die einzelnen Kalkulationen abarbeiten, anstatt sie durch einen Kernel sequentiell nacheinander zu berechnen.

CCS

CCS - Microsoft Windows Compute Cluster Server 2003

Mathematica kann von Haus aus mit vielen verschiedenen Protokollen und Systemen Parallelberechnungen durchführen. Bei folgendem Beispiel muss immer das Cluster Integration Paket mitgeladen werden.

Needs["ClusterIntegration`"]

CCS["name"] repräsentiert einen Windows Compute Cluster Server mit spezifiziertem Namen. Hier werden zwei Kernel gestartet.

ccs

HPC

HPC - Windows High Performance Computing Server

Mathematica kann von Haus aus mit vielen verschiedenen Protokollen und Systemen Parallelberechnungen durchführen. Bei folgendem Beispiel muss immer das Cluster Integration Paket mitgeladen werden.

Needs["ClusterIntegration`"]

HPC["name"] repräsentiert einen Windows High Performance Computing Server mit spezifiziertem Namen. Hier werden zwei Kernel gestartet.

hpc

LSF

LSF - Load Sharing Facility

Mathematica kann von Haus aus mit vielen verschiedenen Protokollen und Systemen Parallelberechnungen durchführen. Bei folgendem Beispiel muss immer das Cluster Integration Paket mitgeladen werden.

Needs["ClusterIntegration`"]

LSF["name"] repräsentiert ein Platform Load Sharing Facility Cluster mit spezifiziertem Namen. Hier werden zwei Kernel gestartet.

lsf

PBS

PBS - Altair Portable Batch System

Mathematica kann von Haus aus mit vielen verschiedenen Protokollen und Systemen Parallelberechnungen durchführen. Bei folgendem Beispiel muss immer das Cluster Integration Paket mitgeladen werden.

Needs["ClusterIntegration`"]

PBS["name"] repräsentiert ein Altair Portable Batch System mit spezifiziertem Namen. Hier werden zwei Kernel gestartet.

pbs

SGE

SGE - Sun Grid Engine

Mathematica kann von Haus aus mit vielen verschiedenen Protokollen und Systemen Parallelberechnungen durchführen. Bei folgendem Beispiel muss immer das Cluster Integration Paket mitgeladen werden.

Needs["ClusterIntegration`"]

SGE["name"] repräsentiert eine Sun Grid Engine mit spezifiziertem Namen. Hier werden zwei Kernel gestartet.

sge

SSH
webpaket Dieser Artikel enthält ein webPaket. Ein Download ist nur möglich,
wenn Sie einen ADDITIVE Professional Support abgeschlossen haben.

SSH - Secure Shell

Die Arbeit mit Mathematica und dem Parallel Computing Toolkit bzw. mit gridMathematica erfordert eine möglichst sichere Verbindung zwischen einem Master PC und mehreren Slave PC’s. Der Mathematica Master Kernel muß auf den Slave PC weitere Mathematica-Prozesse starten und beenden können, damit eine verteilte Berechnung möglich ist. Dafür gibt es für unterschiedliche Betriebsysteme diverse Ansätze. Unter Windows können Werkzeuge aus dem Windows Ressource Kit (rshsvc), Windows-Prozesstools (psexec) aber auch SecureShell (ssh) verwendet werden. Unter UNIX/LINUX/OSX verwendet man RSH oder SSH. Das nachfolgende Dokument erklärt:

  • wie man mehrere LINUX PC mittels der freien Software Openssh verbindet
  • wie man mehrere WindowsXP/2K PC mittels der freien Software cygwin per openssh verbindet
  • wie man die bestehende Verbindung benutzt um Mathematica - Kernels auf bestimmten Ports zu verbinden
  • wie man ohne Portangabe Mathematica - Kernels verbindet
  • wie man mittels Windows-Prozesstools (psexec) ungesicherte Verbindungen erstellt

Download des Dokuments:

Grafische Einstellung

Grafische Einstellung

In allen obigen Pakten haben wir das Cluster Integration Paket per Needs["ClusterIntegration`"] nachgeladen. Mathematica bietet uns aber auch die Möglichkeit komfortabel per grafischer Oberfläche ein Cluster einzurichten. In Mathematica unter "Evaluation" sw_mkt_pfeil_rot"Parallel Kernel Configuration..."sw_mkt_pfeil_rot"Parallel"sw_mkt_pfeil_rot"Cluster Integration" findet man folgendes Menü.

5

Dies ermöglicht dem Benutzer schnell und einfach einen Rechencluster einzurichten.

 

Screencasts

Parallel Computing in Mathematica
David Morrison
(06:13)

Using the Wolfram Lightweight Grid System
Jon McLoone
(02:30)


Features

Features

gridMathematica bietet folgende Funktionen für parallele Berechnungen:

  • Verteilten Speicher
  • Master/Slave Parallelisierung
  • Maschinenunabhängige Implementierung
  • Quellcode für alle höheren Befehle
  • Interkernel-Kommunikation mit MathLink
  • Unterstützung für Multiprozessor-Rechner, heterogene Netzwerke, LAN und WAN
  • Unterstützung von zeitgesteuerten virtuellen Prozessen oder Verteilung von Prozessen auf verfügbare Rechner
  • Unterstützung von virtuellem gemeinsamem Speicher
  • Unterstützung von Synchronisation, Locking und Latency Hiding
  • Unterstützung von Prozess-Warteschleifen und Gleichzeitigkeit
  • Unterstützung von paralleler funktionaler Programmierung
  • Unterstützung von Fehlerbeseitigung und automatischer Neuordnung totgelaufener Prozesse
  • Parallel Debugging und Profiling mit Wolfram Workbench.
Systemvoraussetzungen

Systemvoraussetzungen von gridMathematica

gridMathematica ist unter Windows, Mac OS X, Linux und Unix verfügbar. Weitere Informationen entnehmen Sie bitte der Verfügbarkeitsliste von Mathematica. Computer innerhalb eines Rechenclusters müssen nicht mit demselben Betriebssystem arbeiten. Die Rechner eines Clusters müssen dann über TCP/IP vernetzt sein.

Weitere Anforderungen: Der Benutzer muß Mathematica auf den Rechnern im Cluster starten können, üblicherweise über RSH, REXEC oder SSH.

gridMathematica unterstützt desweitern gleichwertige and unheitliche Windows, Linux, Unix, und Mac OS X Cluster.

Mathematica Systemvoraussetzungen

Datenblätter und FAQ's

Datenblätter und FAQ's

freeSeminars

- Thema 1 von 4 -

 
ID=3118