- Για να αποκτήσετε πρόσβαση στην Ιδρυματική συστοιχία μπορείτε να υποβάλετε την online αίτηση εδώ.
-
Μόλις ενεργοποιηθεί ο λογαριασμός σας, μπορείτε να συνδεθείτε στο UI μέσω SSH.
Μπορείτε να βρείτε σχετικές οδηγίες για Linux ή για Mac OS X εδώ και για Windows εδώ.
Για την μεταφορά αρχείων από και προς τον server ακολουθούμε τις οδηγίες για Linux ή για Mac OS X εδώ και για Windows εδώ.
Εναλλακτικά μπορείτε να χρησιμοποιήσετε τον client MobaXterm για να συνδεθείτε μέσω SSH στο User Interface και να μεταφέρετε αρχεία μέσω sftp.
Πληροφορίες για το Login Node της Ιδρυματικής συστοιχίας και την πρόσβασή σας στο $HOME και στο scratch storage volume, μπορείτε να βρείτε εδώ.
Μπορούμε να ξεκινήσουμε την κονσόλα της R στο User Interface, εκτελώντας την εντολή:
$ R
Εάν θέλουμε να τρέξουμε κάποιο R script στο User Ιnterface, για παράδειγμα το r_script.R, μπορούμε να χρησιμοποιήσουμε την παρακάτω εντολή:$ Rscript r_script.R
$ cd $SCRATCHDIR
Έπειτα, δημιουργούμε ένα καινούργιο φάκελο R-job για την εργασία που θέλουμε να υποβάλουμε και μεταφερόμαστε στο directory εκτελώντας τις παρακάτω εντολές στο User Interface :
$ mkdir R-job
$ cd R-job
Εδώ μεταφέρουμε τα αρχεία της εργασίας και το script που φτιάξαμε.
Για την μεταφορά αρχείων από και προς τον server ακολουθούμε τις οδηγίες για Linux ή για Mac OS X εδώ και για Windows εδώ.
Εναλλακτικά μπορείτε να χρησιμοποιήσετε τον client MobaXterm για να συνδεθείτε μέσω SSH στο User Interface και να μεταφέρετε αρχεία μέσω sftp.
Παράδειγμα
Έστω πως θέλουμε να τρέξουμε το r_script.R που εμφανίζεται στην δεξιά στήλη. Για να τρέξουμε το script στην συστοιχία θα πρέπει να δημιουργήσουμε το script υποβολής run_R.sh
Περιεχόμενα αρχείου run_R.sh:
#PBS -q see
#PBS -N R-job
#PBS -j oe
#PBS -l nodes=1:ppn=1
cd $PBS_O_WORKDIR
Rscript r_script.R &> R-job-output
Περιεχόμενα αρχείου r_script.R:
A = c(65, 70, 75)
ls()
print(object.size(A),units="Kb")
save.image()
save(A, file = "A.RData")
Αφού μεταφέρουμε τα αρχεία run_R.sh και r_script.R στο $HOME directory, μπορούμε να μεταφέρουμε τα αρχεία στο directory από όπου θα τρέξει η εργασία, εκτελώντας στο User Interface την παρακάτω εντολή:$ cp run_R.sh r_script.R $SCRATCHDIR/R-job
$ cd $SCRATCHDIR/R-job
$ qsub run_R.sh
Mπορούμε να ελέγχουμε το status της εργασίας με την εντολή:
$ qstat
Μπορούμε να δούμε τα αρχεία εξόδου που παράγονται στο directory από όπου έγινε η υποβολή της εργασίας με την εντολή:
$ ls
Για να ελέγξουμε τις τελευταίες γραμμές των output logs, όσο ακόμη η εργασία βρίσκεται σε εκτέλεση, μπορούμε να χρησιμοποιούμε την εντολή:$ tail R-job*
Αναλυτικές πληροφορίες για την υποβολή εργασιών στην Ιδρυματική συστοιχία είναι διαθέσιμες εδώ
Χρησιμοποιούμε το script R-param.sh για την υποβολή του R script r_param.R για παραμέτρους από 1 έως 5.
Τα αντίστοιχα scripts βρίσκονται εδώ.
Οι εργασίες για τις πέντε διαφορετικές παραμέτρους (1 έως και 5) θα εκτελεστούν παράλληλα.
Με το παρακάτω PBS directive στο script υποβολής ορίζουμε ένα array παραμέτρων:
#PBS -t 1-5
Με την εντολή:
$ qsub R-param.sh
θα υποβληθούν ταυτόχρονα 5 εργασίες στην συστοιχία. Κάθε εργασία θα λαμβάνει στη μεταβλητή $PBS_ARRAYID μία τιμή από το array (1 έως και 5).
Περιεχόμενα αρχείου R-param.sh:
#PBS -q see
#PBS -N R-param-job
#PBS -j oe
#PBS -l nodes=1:ppn=1
#PBS -t 1-5
##### Change to current working directory
cd $PBS_O_WORKDIR
##### Obtain Parameters from input.txt file using $PBS_ARRAY_INDEX as the line number #####
parameters=`sed -n "${PBS_ARRAYID} p" input.txt`
parameterArray=($parameters)
x=${parameterArray[0]}
y=${parameterArray[1]}
z=${parameterArray[2]}
##### Execute R script #####
printf "Values used are %d %f %d\n" $x $y $z
Rscript r_param.R $x $y $z &> output_${PBS_ARRAYID}.log