2010-01-27 17 views
11

Unter den Möglichkeiten, die ich für die schnelle Parallelisierung von einfachem Code (snowfall, foreach und so on) habe, was sind meine Möglichkeiten, den Fortschritt aller Slave-Prozesse anzuzeigen? Ist eines der Angebote in dieser Hinsicht herausragend?Überwachungsfortschritt/Debugging parallele R-Skripte

Ich habe gesehen, dass Schneefall 1,70 hat sfCat(), aber es scheint nicht zu der Master-R-Sitzung ausgegeben.

+1

Ich habe eine ähnliche Frage hier beantwortet: [http://stackoverflow.com/questions/8860470/how-to-output-a-message-in-snowfall/9608013#9608013][1] [1]: http://stackoverflow.com/questions/8860470/how-to-output-a-message-in-snowfall/9608013#9608013 – Rappster

+0

Bitte nehmen Sie auch einen Blick auf [dieser Antwort (http://StackOverflow.com/a/10916333/2026975)](http://Stackoverflow.com/a/10916333/2026975) und die anderen Antworten auf [diese Frage (wie kann ich-drucken-wenn-verwenden -dopar)] (http://stackoverflow.com/questions/10903787/how-can-i-print-when-using-dopar). – imriss

Antwort

6

Das ist, wo es in schwarze Kunst verwandeln kann ... Ich merke, dass Sie MPI oder PVM nicht auflistet - diese alten Arbeitspferde der parallelen Berechnung haben Monitore. Sie können Lösungen finden, indem Sie außerhalb von R und verlassen sich auf Job-Scheduler (Slurm, Drehmoment, ...)

Wenn Sie das nicht können (und hey, es gibt Gründe, warum wir die Einfachheit des Schnees, foreach mögen , ...) dann können Sie vielleicht Ihre Jobs ändern, um einen "Herzschlag" oder eine Fortschrittsnachricht alle N Schritte zu protokollieren. Sie können sich in Textdateien einloggen (wenn Sie eine NFS- oder SMB/CIFS-Freigabe haben), sich bei einer Datenbank anmelden oder eine Nachricht senden: tweet with R. Es wird höchstwahrscheinlich spezifisch für Ihre App sein, und ja, es wird einige Kosten verursachen.