Chi utilizza R con il pacchetto multicore, SNOW o CUDA per il calcolo intenso delle risorse?


16

Chi di voi in questo forum usa "> R con il multicore , i pacchetti neve o CUDA , quindi per i calcoli avanzati che richiedono più potenza di una CPU workstation? Su quale hardware calcolate questi script? A casa / lavoro o avete accesso al data center da qualche parte?

Lo sfondo di queste domande è il seguente: sto scrivendo il mio M.Sc. tesi su R e High Performance Computing e ho bisogno di una forte conoscenza di chi effettivamente utilizza R. Ho letto che R aveva 1 milione di utenti nel 2008, ma questa è più o meno l'unica statistica utente che ho trovato su questo argomento - quindi spero per il tuo risposte!

Cordiali saluti Heinrich


Una possibile domanda correlata, stats.stackexchange.com/questions/825/… .
chl

Risposte:


6

Sono un biologo che modella gli effetti delle variazioni climatiche inter-annuali sulla dinamica della popolazione di diverse specie migratorie. I miei set di dati sono molto grandi (dati spazialmente intensi), quindi eseguo il mio codice R utilizzandomulticore su server Amazon EC2. Se il mio compito è particolarmente dispendioso in termini di risorse, sceglierò un'istanza extra large quadrupla ad alta memoria che viene fornita con 26 unità CPU, 8 core e 68G di RAM. In questo caso di solito eseguo 4-6 script contemporaneamente, ognuno dei quali sta lavorando attraverso un set di dati abbastanza grande. Per attività più piccole, scelgo server con 4-6 core e circa 20 GB di RAM.

Lancio queste istanze (di solito individuano le istanze perché sono più economiche ma possono terminare ogni volta che la tariffa corrente supera quella che ho scelto di pagare), eseguo lo script per diverse ore e quindi termino l'istanza una volta terminato lo script. Per quanto riguarda l'immagine della macchina (Amazon Machine Image), ho preso qualcuno che installa Ubuntu, ha aggiornato R, installato i miei pacchetti e l'ho salvato come AMI privato sul mio spazio di archiviazione S3.

La mia macchina personale è un macbook dualcore pro e ha difficoltà a effettuare chiamate multicore. Sentiti libero di e-mail se hai altre domande.


Puoi dire qual è la dimensione del tuo set di dati.
suncoolsu

Sicuro. I set di dati con cui sto attualmente lavorando sono ~ 14 concerti
Maiasaura,

4

Da quando mi chiedi, sto usando il pacchetto foreach con il backend multicore . Lo uso per dividere un carico di lavoro imbarazzantemente parallelo su più core su una singola scatola Nehalem con molta RAM. Questo funziona abbastanza bene per l'attività da svolgere.


Grazie per la tua risposta! Fai il calcolo per il tuo lavoro / ricerca accademica o per i tuoi progetti su un PC?
Heinrich,

Questo viene fatto in un ambiente commerciale. Per questo compito, sto usando un singolo box Intel con 32 GB di RAM e dischi RAID (la difficoltà principale è un sacco di dati, mentre l'elaborazione stessa non è molto impegnativa dal punto di vista computazionale.)
NPE

Va bene @aix, quanto spesso esegui questi calcoli. Il box funziona tutto il giorno o è inattivo?
Heinrich,

Domanda veloce a @NPE: in quale sistema memorizzi i dati? usi un back-end di database?
nassimhddd,

3

Lavoro in accademia e sto usando il multicore per alcuni benchmark pesanti di algoritmi di machine learning, principalmente sulla nostra Sun Constellation basata su Opteron e alcuni cluster più piccoli; questi sono anche problemi piuttosto imbarazzanti paralleli, quindi il ruolo principale del multicore è diffondere il calcolo sul nodo senza moltiplicare l'uso della memoria.


Qui ad Amburgo abbiamo sempre il problema che i tempi di attesa per i data center accademici sono davvero lunghi. è lo stesso per te?
Heinrich,

@Heinrich Lavoro per una sorta di data center accademico, quindi non ho tali problemi (- Seriamente, a Varsavia la disponibilità di tempo scientifica della CPU è maggiore della domanda, quindi credo che sia abbastanza facile ottenere una sovvenzione. Penso che dovresti provare D-Grid o EGEE, la mia esperienza è che le griglie in generale sono molto sottoutilizzate

Oh. È interessante. Come sai in che tipo di attività viene utilizzata la R in questi settori?
Heinrich,

2

Uso neve e nevicate per la parallelizzazione dei corsi sui cluster HPC e CUDA per l'elaborazione parallela dei dati. Sono in epidemiologia facendo modelli di trasmissione della malattia. Quindi uso entrambi.


Grazie per le tue informazioni Cosa intendi con parallelizzazione del corso?
Heinrich,

La parallelizzazione del corso sarebbe qualcosa di simile a percorsi indipendenti di un cambio MCMC, ovvero mandrini molto grandi che possono essere eseguiti in parallelo senza sincronizzare i thread. Un esempio di grana fine sta calcolando la probabilità in cui i calcoli possono essere eseguiti in modo indipendente sui punti dati.
Andrew Redd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.