BOINC in der Cloud

koschi

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
5.709
Renomée
705
Standort
0511
  • Spinhenge ESL
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • SETI@Home Intel-Race II
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
  • BOINC Pentathlon 2021
  • BOINC Pentathlon 2022
  • BOINC Pentathlon 2023
In diesem Thread sollen Erfahrungen mit BOINC in der Cloud bzw. auf extern gehosteten vServern ausgetauscht und gebündelt, sowie eventuelle neue Konzepte besprochen werden.
Gern können wir vServeranbieter sammeln die keine Probleme mit 24/7 Volllast haben (ich habe anscheinend so einen gefunden, auch in den AGBs kein Verbot).
Nachdem wir "die Cloud" bereits mehrfach anrissen haben, hatte ich mich hier einmal mit GPU computing in Amazons EC2 Cloud beschäftigt. Die Performance stimmt, ob es sich lohnt hängt angesichts des spürbaren Preises natürlich vom Einsatzszenario ab (zB. Pentathlon/Race vs. 24/7/365).

Interessant finde ich, dass zB. Amazon neben den herkömmlichen "on-demand" Instanzen, auch reservierte Instanzen (günstiger) und Spot Instanzen anbietet. In letzteren wird freie Rechenkapazität der Cloud quasi versteigert. Wessen VM nicht umgehend starten muss, kann hier individuelle Maximalpreise pro Stunde angeben. Fällt der Spot Preis unter diese eigene Einstiegsmarke, wird die eigene Spot-Instanz gestartet. Hier lassen sich laut Amazon Einsparungen von bis zu 90% erzielen, laut der internen "pricing history" sind 70-80% Einsparung durchaus realistisch. Ich konnte soeben eine c4.4xlarge Instanz (16 Threads Xeon E5-2666 v3 @ 2.9GHz (Haswell), 30GB RAM) ohne lange Tests anstatt für $0.838 für $0.1727 pro Stunde starten.
Zu beachten ist, dass jede neue VM wieder zu konfigurieren ist. Hier muss also Automation greifen, schließlich könnte eine Spot Instanz auch erst 4:27 Uhr für die gewünschten Rate verfügbar sein, sie sollte dennoch umgehend anfangen zu rechnen.

Zum Einstieg in "die Cloud" lässt sich zB. das Amazonangebot frei testen. Eine micro Instanz steht jedem Interessenten frei zur Verfügung:
https://aws.amazon.com/de/free/

Hat jemand Erfahrung mit Amazon oder anderen Cloud Hostern?
Gibt es zwischen kleinen und großen Instanzen einen "sweet spot", wo am meisten Bumms pro Dollar bei rauskommt? Oder gar mit Hardware der vorherigen Generation? (bei Amazon C1-C3, aktuell ist C4).
Nutzt ihr evtl. eher traditionellere vServer bei toleranten Anbietern?
Habt ihr Skripte die neue Hosts automatisch verBOINCen?
 
Zuletzt bearbeitet:
Grundsätzlich - und sorry für das hijacking dieses Threads - halte ich nicht viel von Cloud-Computing gegen Bares vor dem Hintergrund eines Races wie dem Pentathlon. Klar, wer sich lokal mehr Maschinen hinstellt ist halt auch so eine Sache nach dem Motto "wer viel Kohle hat", aber immerhin ist die Bereitschaft eine andere: DC-Verrückt.

Auch wenn diese Meinung vielleicht unpopulär ist, so bin ich dafür zumindest von unser Seite aus auf solche Mittel bei Races zu verzichten. Ich meine, da fährt ein total bekloppter DCler durchs halbe Land um Rechner neu zu starten, was neben ner Portion Wahnsinn halt auch echt Sportsgeist beweist. Wäre doch schade darum, wenn dieser "Geist" verloren gehen würde, wenn man sich auf solche Cloud-Geschichten einlässt nach der Devise, wer die meiste Kohle hat, der gewinnt. Verdammt, das widerspricht dem P3d-Team in Allem was uns ausmacht.

Ansonsten; top @koschi für deinen Einsatz!
 
Kein Problem, der von dir angesprochene Aspekt gehört nun mal dazu und darf hier gern betrachtet werden.
Ich sehe das jedoch nicht ganz so eng. Wenn Geld (brauche ich für MX130 Türme und Systeme in der Wolke) und BOINC Begeisterung vorhanden sind, Platz, Lautstärke und Abwärme aber berücksichtigt werden müssen, kann externe Kapazität eine Möglichkeit sein.

Derzeit betrachte ich meine Tests als Prove of Concept und für Vollzeitbetrieb nicht tauglich, voll allem angesichts des Preises.
Selbst eine aktuell laufende 8 Thread Haswell VM zum Spotpreis (nicht Spottpreis) von ~8c pro Stunde kostet im Monat 57,60€...
Mittels eines kleinen Scriptes (eigentlich nur eine Befehlsauflistung, apt install boinc, kopieren einiger Konfigurationsdateien, boinccmd --project_attach) hat sich diese Maschine gleich während des Starts selbst konfiguriert und war schon am crunchen als ich mich einloggte.
 
http://www.planet3dnow.de/vbulletin/threads/425601-7-BOINC-PENTATHLON-2016/page151
Um mal hier die letzten beiden Punkte aufzugreifen, die kleinsten Skylake & Haswell-Systeme (letztere ohne Setupgebühr!) bei Hetzner sind schon sehr günstig... Darauf kann man tun und lassen was man will.

Zu den vServern, ich bin aktuell bei Contabo. Brauchte ohnehin einen neuen vServer im Netz und habe den VPS L gewählt. 4 threads auf einem i7-3930K, 14GB RAM und knapp ein TB Speicher.
Ich will hierher auch verschlüsselte Backups anfertigen, daher die (Platten-)Größe. Bis dato habe ich die threads für mich, muss keine Leistung abgeben, es wird nicht gedrosselt. Das läuft jetzt schon seit Ende April ohne Beanstandungen. In den AGBs habe ich keine Beschränkungen gefunden die BOINC betreffen würden, Dienste wie IRC aber hingegen schon...

EC2:

habe die GPU Instanz (Nvidia GRID K520, 1.5k CUDA cores) kurz Einstein anrechnen lassen (Binary Radio Pulsar Search (Parkes PMPS XT) v1.54 (BRP6-Beta-cuda55)):
4616 Sekunden, meine 750Ti (640 CUDA cores) braucht dafür 6250 Sekunden

POEM:
poempp_2dx3cl_1466743666_921954174_0, 3050 Sekunden, 5500 #auf 750Ti ~2800 Sekunden, GT730/64bit/PCIx2.0 1x ~11300 Sekunden
poempp_2dx4cl_1466694885_2041247992_0, 3073 Sekunden, 5500 Credits
poempp_1vii_1466694892_1587138569_0, 9913 Sekunden, 9600 Credits

Collatz Sieve
630 Sekunden, 4,600.41 Credits, #auf 750Ti ~600 Sekunden

Ansonsten gehen mir die Ideen/Accounts aus, SETI lohnt die GPU nicht, GPU Grid läuft mit Sicherheit super lange. Collatz vielleicht, mal gucken...

@Sightus

biste noch am Kompilate kompilieren?

edit:

Wer mit Spotinstanzen arbeiten will, braucht ein init Skript. Denn wer knackig kalkuliert und zB. bei nur 20-30% des on-demand Preises als max. Bietpreis ansetzt, muss damit rechnen dass die Maschinen unter Umständen nicht lange laufen, sprich das eigene Gebot überboten wird. In kurzer Zeit nach dem möglicherweise verzögerten Start muss also unmittelbar begonnen werden.

So könnte das dann aussehen, um POEM und WCG automatisiert auszurollen:
Code:
#!/bin/bash
apt update
apt -y install htop boinctui boinc boinc-nvidia-cuda gcc make dkms xserver-xorg-core

cd /etc/boinc-client
wget http://kerbodyne.com/boinc/global_prefs_override.xml -O /etc/boinc-client/global_prefs_override.xml
wget http://kerbodyne.com/boinc/cc_config.xml -O /etc/boinc-client/cc_config.xml
sed -i 's/<max_ncpus_pct>100/<max_ncpus_pct>99/g' global_prefs_override.xml
echo BOINC > /etc/boinc-client/gui_rpc_auth.cfg
echo 77.23.96.99 >> /etc/boinc-client/remote_hosts.cfg
boinccmd --set_gpu_mode always
boinccmd --set_run_mode always

cd /tmp
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/367.27/NVIDIA-Linux-x86_64-367.27.run && chmod +x NVIDIA-Linux-x86_64-367.27.run && ./NVIDIA-Linux-x86_64-367.27.run --no-questions --accept-license --dkms --silent


service boinc-client restart

sleep 15

boinccmd --host localhost --passwd BOINC  --project_attach http://boinc.fzk.de/poem/ 8624093e67217a32d8adfc9d4g569c6c 
boinccmd --host localhost --passwd BOINC  --project_attach http://www.worldcommunitygrid.org/ 6f6bcda44af0b41f95049dd3fdhjika4


wget http://kerbodyne.com/boinc/boinc_cronjobs -O /tmp/boinc_cronjobs
crontab -l -u root | cat - /tmp/boinc_cronjobs | crontab -u root -

- Der BOINC Manager kann sich anschließend verbinden. Sicher ließe sich auch die remote_hosts.cfg auf dem http Server aktuell halten (dyndns), dann gibt es da keine Probleme mit evtl. noch vorhandener Zwangstrennung etc...
- Die angepassten cc_config und global_prefs_override.xml setzen die Cachesettings auf 0.01/0.01 und aktivieren report_results_immediately. Damit werden nicht unnötig viele WUs gezogen, die im Falle eines Shutdown verloren gehen und damit Quorumpartner warten lassen.
- Womöglich lässt sich mit Ubuntu-Repositories für die Nvidiatreiber ein wenig Zeit sparen (hier wird das Kernelmodul noch erst kompiliert).
- Nein dass sind nicht wirklich meine Kontoschlüssel...
- Ja mir ist langweilig
 
Zuletzt bearbeitet:
Grundsätzlich - und sorry für das hijacking dieses Threads - halte ich nicht viel von Cloud-Computing gegen Bares vor dem Hintergrund eines Races wie dem Pentathlon. Klar, wer sich lokal mehr Maschinen hinstellt ist halt auch so eine Sache nach dem Motto "wer viel Kohle hat", aber immerhin ist die Bereitschaft eine andere: DC-Verrückt.

Auch wenn diese Meinung vielleicht unpopulär ist, so bin ich dafür zumindest von unser Seite aus auf solche Mittel bei Races zu verzichten. Ich meine, da fährt ein total bekloppter DCler durchs halbe Land um Rechner neu zu starten, was neben ner Portion Wahnsinn halt auch echt Sportsgeist beweist. Wäre doch schade darum, wenn dieser "Geist" verloren gehen würde, wenn man sich auf solche Cloud-Geschichten einlässt nach der Devise, wer die meiste Kohle hat, der gewinnt. Verdammt, das widerspricht dem P3d-Team in Allem was uns ausmacht.

Ansonsten; top @koschi für deinen Einsatz!

*greater*
seh ich genau so.
 
Beitrag #4 noch reichlich überarbeitet.
Zumindest die GPU in EC2 lohnt sich nicht.
In Collatz & POEM wird die genutzte Nvidia GRID K520 von einer GTX 750Ti geschlagen.
Bei Einstein liegt sie vorn, jedoch fernab dessen was man angesichts der 2.4x vorhandenen CUDA Prozessoren erwarten würde.

Die GPU Leistung ist damit nicht wirklich interessant.
Die Performance der auf CPU orientierten C4 Instanzen (Haswell) stimmt und steht auch uneingeschränkt zur Verfügung.
 
Zuletzt bearbeitet:
Zurück
Oben Unten