Der Firma Wolfram Research sei Dank - ich habe jetzt eine gridMathematica-Lizenz für meinen Demo-Cluster. Damit kann man sehr schön die Leistungsfähigkeit eines HPC-Clusters aus Standardrechnern zeigen(in diesem Fall der kleinstmögliche Cluster - zwei Notebooks mit Dual Core Prozessoren).

Wer mehr zu Compute Cluster wissen will - morgen startet unsere Roadshow, Details hier:
http://www.microsoft.com/germany/technet/seminare/2007/windows-compute-cluster-server.mspx

Die Verwendung ist ganz einfach: Wenn gridMathematica eingerichtet ist muss man nur den Clsuter-Support laden. Der verwendet wiederum das Parallel Computing Toolkit, mit dem man Mathematica sonst "manuell" auf mehrere Prozessoren oder Rechner verteilen kann. Nach dem Laden des Cluster-Package startet man die MathKernel.exe-Prozesse im Cluster und gibt einfach an, wie viele man davon haben möchte. Wer wie ich auf dem Headnode arbeitet sollte einen Kernel weniger starten als er Prozessor-Cores hat, sonst reagiert das System doch sehr zäh. Wer remote arbeitet kann ruhig alle Clusterprozessoren auslasten. In Mathematica sieht das so aus:

In[3]:= << ClusterIntegration`

Parallel Computing Toolkit 2.0 (November 11, 2004)
Created by Roman E. Maeder
Cluster Integration Package (Version 1.2)
Wolfram Research, Inc.

In[4]:= ClusterLaunchSlaves[3, CCS]
Out[4]={"slave1[
2601@192.168.213.1,2602@192.168.213.1], 
    "slave"\_2["2603@192.168.213.1,2604@192.168.213.1"],
    "slave"\_3["2605@192.168.213.1,2606@192.168.213.1"]}\)
In[5]:= RemoteEvaluate[$MachineName]
Out[5]= {steffenk-ccs2, steffenk-ccs1, steffenk-ccs2}

Jetzt kann man die Partallel-Operationen ausführen und damit die Last im Cluster verteilen, zum Beispiel ParallelMap oder ParallelEvaluate

Und was bringt das Ganze? Dafür lasse ich einfach mal die Zahlen für sich sprechen, und zwar die des in Mathematica eingebauten Benchmarks MathematicaMark:

In[1]:= << Utilities`Benchmark`
In[6]:= BenchmarkReport[]

Zuerst mal ein MathBench "normal", also mit einem Kernel und ohne Parallelisierung:

MathematicaMarkSingle

Jetzt in meiner empfohlenen Konfiguration - 3 Kernel:

MathematicaMark Cluster

Und nun alle 4:

MathematicaMark Cluster 4Slaves

In Summe - es lohnt sich!

Gruß,
Steffen