2010-04-12 18 views
5

Ho un ciclo annidato che sto utilizzando foreach, DoSNOW e un cluster di socket SNOW da risolvere. Come dovrei andare a profilare il codice per assicurarmi che non stia facendo qualcosa di grossolanamente inefficiente.Come profilare il codice R che include il cluster SNOW

È inoltre necessario misurare i flussi di dati tra il master ei nodi in un cluster Snow?

Grazie,

James

risposta

2

Questa è un'ottima domanda. Dalla cima della mia testa, iniziare con un confronto tra

  • una soluzione di serie (senza neve),
  • una soluzione seriale con la neve (per avere un'idea di overhead) e
  • una soluzione parallela forse controllando N per vedere quale tipo di aumento ottieni.

La versione non rilasciata su CRAN 0.3.4 di snow dispone inoltre di comandi di tracciamento aggiuntivi utili per l'analisi. Puoi ottenerlo dal this directory at Luke Tierney's site.

La vera profilazione, ovviamente, è difficile data la natura distribuita.

+0

Ciao, grazie per il suggerimento. Ho provato ad aumentare il controllo per N e ho ottenuto un aumento piuttosto lineare (dal momento che il problema su cui sto lavorando è essenzialmente un problema di ricampionamento e quindi piuttosto parificabile). C'è un modo per misurare il flusso di dati tra i nodi? Ho la sensazione che questo sia il collo di bottiglia. –

+0

Non con R, temo, ma potrei mancare qualcosa. Potresti provare gli strumenti di rete standard. –

Problemi correlati