Seite druckenPDF Version herunterladenSeitenstruktur anzeigenSeite durchsuchen
nach oben
Es ist R, Version 2.11.1, mit folgenden Paketen installiert:
base                    The R Base Package
boot                    Bootstrap R (S-Plus) Functions (Canty)
class                   Functions for Classification
cluster                 Cluster Analysis Extended Rousseeuw et al.
codetools               Code Analysis Tools for R
cubature                Adaptive multivariate integration over
                        hypercubes
datasets                The R Datasets Package
flexmix                 Flexible Mixture Modeling
foreign                 Read Data Stored by Minitab, S, SAS, SPSS,
                        Stata, Systat, dBase, ...
graphics                The R Graphics Package
grDevices               The R Graphics Devices and Support for Colours
                        and Fonts
grid                    The Grid Graphics Package
KernSmooth              Functions for kernel smoothing for Wand & Jones
                        (1995)
lattice                 Lattice Graphics
MASS                    Main Package of Venables and Ripley's MASS
Matrix                  Sparse and Dense Matrix Classes and Methods
methods                 Formal Methods and Classes
mgcv                    GAMs with GCV/AIC/REML smoothness estimation
                        and GAMMs by PQL
modeltools              Tools and Classes for Statistical Models
multcomp                Simultaneous Inference in General Parametric
                        Models
mvtnorm                 Multivariate Normal and t Distributions
nlme                    Linear and Nonlinear Mixed Effects Models
nnet                    Feed-forward Neural Networks and Multinomial
                        Log-Linear Models
np                      Nonparametric kernel smoothing methods for
                        mixed data types
npRmpi                  Parallel nonparametric kernel smoothing methods
                        for mixed data types
Rmpi                    Interface (Wrapper) to MPI (Message-Passing
                        Interface)
rpart                   Recursive Partitioning
snow                    Simple Network of Workstations
spatial                 Functions for Kriging and Point Pattern
                        Analysis
splines                 Regression Spline Functions and Classes
stats                   The R Stats Package
stats4                  Statistical Functions using S4 Classes
survival                Survival analysis, including penalised
                        likelihood.
tcltk                   Tcl/Tk Interface
tools                   Tools for Package Development
utils                   The R Utils Package

Geben sie im Batchfile an: source /G/home/env/R/2.11.1

Beispiel-Batchfile

#!/bin/bash
#PBS -V

IN=$HOME/R/Prg.r
OUT=$HOME/R/rout.log
source /G/home/env/R/2.11.1
R --vanilla < $IN > $OUT

Beispiel-Skript

wrapper<-function(instanz){ 
# Die Funktion summiert hier als Bsp nur die Zahlen auf.
# Das wird wahrscheinlich so schnell gehen, dass man das auf dem Cluster nicht sieht.

        tmp <- 0
        for (r in 1:i){
                tmp <- tmp + r
        }

        Return(tmp)

}

nodefile<-Sys.getenv("PBS_NODEFILE")
nodes<-read.table(nodefile)

library(snowfall)

sfInit(parallel=TRUE, type="SOCK", socketHosts=t(nodes))
sfExport("VARIABLENNAME1"," VARIABLENNAME2","FUNCTIONSNAME1","
FUNCTIONSNAME2")  #Alle Variablen und Funktionen auf die die Nodes
zugreifen können müssen.

      Result <- sfClusterApplyLB(1:20,wrapper)
# Parallelisierte Version von Apply. Hier muss nur der Name der Funktion und die Parameter, für die die Funktion ausgeführt werden soll angegeben werden. Z.Z funktioniert das nur mit Zahlen. Damit wird die Funktion wrapper mit den Zahlen im Bereich 1 bis 20 als übergebener Parameter aufgerufen. Das Verteilen auf die Nodes funktioniert dann automatisch.
sfStop()

Result  # Ausgabe der Ergebnisse

Die MPI - Variante läuft fast genauso, nur dass man R mit mpirun bzw. orterun starten muss und der Funktion sfInit type="MPI" statt "SOCK" übergeben muss. Leider gibt es, im Fehlerfall, so gut wie keine Ausgaben für die MPI-Version, so dass das nicht so benutzerfreundlich ist.

Bitte beachten sie, dass eine Ressourcen-Angabe entweder innerhalb des Batch-Files oder per Parameter an den Befehl "qsub" erfolgt, da ansonsten ein leeres Nodefile erzeugt und auf nur einem Prozessor gerechnet werden würde. Informationen hierzu finden sie unter dem Menü-Punkt: Bedienung.

Hier geht's zum Artikel:
State-of-the-art in Parallel Computing with R von der Ludwig-Maximilians-Universität München.

Autor: Elisabeth Kahnert, Alexander Fitterling, Stand: 25.01.2011 13:32 Uhr

 Impressum