Différences entre les versions de « Snow »
Ligne 73 : | Ligne 73 : | ||
}) | }) | ||
− | # Avec nbcpus <- 80: 58s | + | <span style="color:#0000FF"># Avec nbcpus <- 80: 58s</span># Avec nbcpus <- 80: 58s |
− | # Avec nbcpus <- 20: 70s | + | <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 20: 70s |
− | # Avec nbcpus <- 15: 84s | + | <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 15: 84s |
− | # Avec nbcpus <- 10: 111s | + | <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 10: 111s |
</pre> | </pre> | ||
− | ''' | + | '''Remarque ''' Des messages tels que : |
<pre> | <pre> | ||
The authenticity of host 'leopard (132.204.53.53)' can't be established. | The authenticity of host 'leopard (132.204.53.53)' can't be established. | ||
Ligne 87 : | Ligne 87 : | ||
</pre> | </pre> | ||
− | peuvent | + | peuvent apparaître. Il faut alors répondre par «yes». Ces messages n'apparaitont qu'une seule fois (pour une machine donnée). |
== Voir aussi == | == Voir aussi == |
Version du 6 mai 2013 à 13:13
Les calculs statistiques qui exigent des longues procédures, peuvent être accéléré de manière significative en utilisant plusieurs ordinateurs en parallèle.
Le package «snow» (Simple Network Of Workstations) nous donne la possibilité d'avoir un cluster de postes de travail pour les calculs parallèles dans R.
Lancer le script Snow au DMS
- Ouvrez un terminal
- Taper la commande suivante: makeKey.sh (ceci est pour empêcher le SSH de vous demander votre mot de passe à chaque fois que vous tentez de vous connecter à d'autres machines du réseau)
- Répondez par «y» à la question suivante :
Generating public/private rsa key pair. /home/bayani/.ssh/id_rsa already exists. Overwrite (y/n)?
- Faites juste «Enter» lorsque vous voyez :
Enter passphrase (empty for no passphrase):
- De nouveau faites juste «Enter» lorsque vous voyez :
Enter same passphrase again:
- Lancer R, en tapant :
/usr/local/stat/R/R-3.0.0/bin/R
Exemple explicatif
Une fois dans R, tapez les commandes suivantes:
require(snow) myfunc <- function(M=1000) { decision <- 0 for (i in 1:M) { x <- rnorm(100) if (shapiro.test(x)$p < 0.05) decision <- decision + 1 } return(decision) } system.time({ M <- 6000000 decision <- myfunc(M) print(decision/M) }) # Temps de calcul: 814s nbcpus <- 10 cpus <- strsplit(system(paste("snowdms.sh ",nbcpus),intern=TRUE),split=" ")[[1]] system.time({ cl <- makeCluster(cpus, type = "SOCK") clusterSetupSPRNG(cl) M <- 6000000 out <- clusterCall(cl, myfunc, round(M/nbcpus)) stopCluster(cl) decision <- 0 for (cpus in 1:nbcpus) { decision <- decision + out[[cpus]] } print(decision/(round(M/nbcpus)*nbcpus)) }) <span style="color:#0000FF"># Avec nbcpus <- 80: 58s</span># Avec nbcpus <- 80: 58s <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 20: 70s <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 15: 84s <span style="color:#0000FF">blue writing</span># Avec nbcpus <- 10: 111s
Remarque Des messages tels que :
The authenticity of host 'leopard (132.204.53.53)' can't be established. RSA key fingerprint is a6:a3:80:c8:52:22:d8:de:be:5a:d8:f4:04:cf:2c:01. Are you sure you want to continue connecting (yes/no)?
peuvent apparaître. Il faut alors répondre par «yes». Ces messages n'apparaitont qu'une seule fois (pour une machine donnée).
Voir aussi
Références externes
La dernière modification de cette page a été faite le 6 mai 2013 à 13:13.