1. #1
    Membre à l'essai
    Homme Profil pro
    Statisticien
    Inscrit en
    juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2013
    Messages : 6
    Points : 10
    Points
    10

    Par défaut Package "parallel" de R

    Autre test, le parallélisme implémenté dans R.

    J'ai essayé le code suivant, qui me paraît idéal pour du parallélisme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    m=18
    dimension=6
    grosse=array(1,rep(m,dimension))
    
    system.time(somme<-apply(grosse,1,sum))
    # verification du resultat
    somme==m^(dimension-1)
    
    library(parallel)
    detectCores()
    cl <- makeCluster(getOption("cl.cores", detectCores())) 
    system.time(somme<-parApply(cl,grosse, 1, sum))
    somme==m^(dimension-1)
    stopCluster(cl)
    Résultats :
    pas de gain de temps
    les petits graphiques d'utilisation des cœurs restent tout plats.

    A moins que j'ai fait une grosse erreur d'utilisation (et alors la doc est une peu confusante), c'est pas bon.

  2. #2
    Membre éclairé

    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    septembre 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : septembre 2007
    Messages : 200
    Points : 714
    Points
    714

    Par défaut

    Bonjour,
    Super idée. Je viens de recevoir le livre "Parallel R". Je vais pouvoir tester tout ca...
    Christophe

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2013
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Pour le parallélisme dans R il vaut mieux regarder du côté de multicore (qui n'existe pas sous windows, seulement sur les systèmes posix), qui utilise de la mémoire partagée pour ne pas dupliquer les données.

    Le package parallel comme la plupart des paquets de parallélisation va créer autant de process R que de tâches à accomplir, sérialiser l'environnement nécessaire et le transmettre à chaque sous-process R, pour ensuite récupérer les sorties et tout remettre en ordre dans l'environnement d'origine.

    La conséquence est que, si on veut traiter 100Mo de données avec 10 tâches concurrentes, on utilise d'office 1Go de mémoire, et le temps passé à copier les données est conséquent.

    Par contre, c'est naturellement fait pour du parallélisme sur cluster. Mais pas tant pour un PC standard.

  4. #4
    Inactif
    Inscrit en
    août 2013
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 27
    Points : 52
    Points
    52

    Par défaut

    Pour info, Ricco Rakotomalala (j'ai parlé de lui dans une autre discussion) a parlé de parallel sur son blog : http://tutoriels-data-mining.blogspo...le-sous-r.html
    Il y a peu être des éléments qui peuvent vous intéresser dedans ? (et sur son blog en général, il compare souvent les implémentations de divers logiciels de stats)

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo