Wer nutzt R mit Multicore-, SNOW- oder CUDA-Paketen für ressourcenintensives Computing?


16

Wer von euch in diesem Forum verwendet „> R mit dem Multi - Core , Schneepakete oder CUDA , so für komplexe Berechnungen , die mehr Leistung als eine Workstation - CPU benötigen? Auf welcher Hardware Sie diese Skripte Sie berechnen? Zu Hause / Arbeit oder haben Sie Rechenzentrumszugriff irgendwo?

Der Hintergrund dieser Fragen ist folgender: Ich schreibe gerade meinen M.Sc. Ich habe gelesen, dass R im Jahr 2008 1 Million Benutzer hatte, aber das ist mehr oder weniger die einzige Benutzerstatistik, die ich zu diesem Thema finden konnte - also hoffe ich auf Ihre Antworten!

Ihr Heinrich


Eine mögliche verwandte Frage ist stats.stackexchange.com/questions/825/… .
chl

Antworten:


6

Ich bin ein Biologe, der die Auswirkungen der jährlichen Klimaschwankungen auf die Populationsdynamik mehrerer wandernder Arten modelliert. Meine Datensätze sind sehr groß (raumintensive Daten), daher multicoreführe ich meinen R-Code auf Amazon EC2-Servern aus. Wenn meine Aufgabe besonders ressourcenintensiv ist, wähle ich eine besonders große High Memory Quadruple-Instanz mit 26 CPU-Einheiten, 8 Kernen und 68 GB RAM. In diesem Fall führe ich normalerweise 4-6 Skripte gleichzeitig aus, von denen jedes einen ziemlich großen Datensatz durchläuft. Für kleinere Aufgaben wähle ich Server mit 4-6 Kernen und etwa 20 GB RAM.

Ich starte diese Instanzen (normalerweise vor Ort, weil sie billiger sind, aber immer dann beendet werden können, wenn die aktuelle Rate die von mir gewählte Rate überschreitet), führe das Skript mehrere Stunden lang aus und beende die Instanz dann, wenn mein Skript beendet ist. Was das Maschinen-Image (Amazon Machine Image) anbelangt, habe ich eine andere Ubuntu-Installation durchgeführt, R aktualisiert, meine Pakete installiert und dieses als mein privates AMI auf meinem S3-Speicherplatz gespeichert.

Mein persönlicher Computer ist ein Dualcore-MacBook-Pro, und es fällt mir schwer, Multicore-Anrufe zu tätigen. Wenn Sie weitere Fragen haben, senden Sie uns bitte eine E-Mail.


Können Sie uns sagen, wie groß Ihr Datensatz ist?
Suncoolsu

Sicher. Die Datensätze, mit denen ich gerade arbeite, sind ~ 14 Konzerte
Maiasaura

4

Da Sie fragen, verwende ich das foreach- Paket mit dem Multicore- Backend. Ich benutze es, um eine peinlich parallele Arbeitslast auf mehrere Kerne auf einer einzigen Nehalem-Box mit viel RAM aufzuteilen . Dies funktioniert ziemlich gut für die anstehende Aufgabe.


Danke für deine Antwort! Berechnen Sie für Ihre Arbeit / akademische Forschung oder für eigene Projekte auf einem eigenen PC?
Heinrich

Dies geschieht in einem kommerziellen Umfeld. Für diese Aufgabe verwende ich eine einzelne Intel-Box mit 32 GB RAM und RAID-Festplatten (die Hauptschwierigkeit sind viele Daten, während die Verarbeitung selbst nicht sehr rechenintensiv ist.)
NPE

Okay @aix, wie oft führen Sie diese Berechnungen durch. Läuft deine Box den ganzen Tag oder mehr im Leerlauf?
Heinrich

Kurze Frage an @NPE: In welchem ​​System speichern Sie die Daten? Verwenden Sie ein Datenbank-Backend?
Nassimhddd

3

Ich arbeite in der Akademie und verwende Multicore für einige strenge Benchmarks von Algorithmen für maschinelles Lernen, hauptsächlich auf unserer Opteron-basierten Sun Constellation und einigen kleineren Clustern. Dies sind auch ziemlich peinliche Parallelprobleme. Daher besteht die Hauptaufgabe von Multicore darin, die Berechnung auf den Knoten zu verteilen, ohne die Speichernutzung zu vervielfachen.


Wir hier in Hamburg haben immer das Problem, dass die Wartezeiten für die akademischen Rechenzentren sehr lang sind. ist es das selbe für dich?
Heinrich

@Heinrich Ich arbeite für eine Art akademisches Rechenzentrum, daher habe ich keine derartigen Probleme (- Im Ernst, in Warschau ist das Angebot an wissenschaftlicher CPU-Zeit größer als die Nachfrage, und ich glaube, es ist ziemlich einfach, ein Stipendium zu erhalten. Und Ich denke, Sie sollten versuchen, D-Grid oder EGEE, meine Erfahrung ist, dass Grids im Allgemeinen sehr wenig genutzt werden

Oh. Das ist interessant. Wissen Sie, in welchen Geschäftsbereichen R in diesen Bereichen verwendet wird?
Heinrich

2

Ich verwende Schnee und Schneefall für die Parallelisierung von Kursen auf HPC-Clustern und CUDA für die parallele Verarbeitung feiner Daten. Ich bin in der Epidemiologie und arbeite an der Modellierung der Krankheitsübertragung. Also benutze ich beide.


Danke für deine Information. Was meinst du mit Kursparallelisierung?
Heinrich

Die Parallelisierung von Kursen wäre so etwas wie ein unabhängiger Lauf eines MCMC-Wechsels, dh sehr große Spannfutter, die ohne Synchronisierung von Threads parallel ausgeführt werden können. Ein Beispiel für feine Körnung ist die Berechnung der Wahrscheinlichkeit, mit der Berechnungen für die Datenpunkte unabhängig voneinander durchgeführt werden können.
Andrew Redd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.