AG Verteiltes Rechnen/FAQ

< AG Verteiltes Rechnen
Version vom 8. Januar 2011, 11:47 Uhr von imported>Mendoza (→‎FAQ)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
AG Verteiltes Rechnen (last edit: imported>Mendoza)

FAQ

Frequently Asked Questions (regelmäßig gefragte Fragen) gibt es von vielen Neueinsteigern. Auf dieser Seite sollen Fragen zum Umgang mit BOINC erläutert werden. Das ist ein Wiki und jeder kann sich hier einbringen und auf diese Weise Neueinsteigern helfen, aufkommende Fragen zu erläutern und zu erklären.

Verteiltes Rechnen

Grundsätzliche Fragen wie:

  • Was ist Verteiltes rechnen?
  • Wozu soll das gut sein?
  • Wie kann ich mitmachen?

werden wohl hier beantwortet.

Tutorials

Windows

Für einen entspannten Einstieg in das Verteilte Rechnen mit der Rechenplattform Boinc sind die Video Tutorials gedacht.

Für Fortgeschrittene gibt es auch die Moeglichkeit die Clients remote zu bedienen, dazu muss dies in der Konifguration einstellen, ebenfallls wichtig dafür ist das Passwort in der gui_rpc_auth. Danach kann man einem beliebigen BoincManager den zu administrierenden Rechner und das Psswort angeben, sobald die Verbindung aufgebaut wurde kann man den Boinc Client steuern wie einen lokalen. (Ebenso kann man auch als nicht autorisierter Benutzer mit der Adresse 127.0.0.1 und dem entsprechenden Passwort den Client bedienen.)

Linux

Im BOINC-Wiki gibt es zur Installation eine entsprechende Kategorie, das Einrichten von Projekten ist analog zu Windows über die GUI, zusätzlich gibt es die Möglichkeit BOINC komplett von der Konsole aus zu bedienen.

  • bei gentoo ist zu beachten, dass das Init-Script zur Zeit einen nervigen Bug hat, der verhindert, dass das Script beendet wird, was beim bootup zum Hängen fuehren kann.
  • Es wurde auf mindestens einem System beobachtet, dass der Standard Linux-Kernel-Sheduler CFS Nicelevel ignoriert, so dass es sich empfiehlt, BOINC nur dann Rechnen zu lassen, wenn man den Rechner nicht benutzt. Wer auch während der Benutzung Idle-Time verbraten möchte, ohne dass es sich auf andere Prozesse auswirkt, dem sei der Brainfuck-Sheduler ans Herz gelegt - man beachte aber, dass dies ein Kernel-Patch ist und sich daher eher an an Leute richtet, die etwas tiefer in der Materie drinstecken (und willens sind mit custom-Kernel zu fahren ;)).
  • Hinweis für Besitzer von 64-bit Systemen

Remote

In

/etc/conf.d/boinc

befindet sich (unter gentoo) die Zeile

"ALLOW_REMOTE_RPC="""

dort kann man "yes" oder "no" eintragen, wenn man denn zulassen moechte, dass der Client auch remote gesteuert werden kann oder eben nicht. Das zugehörige Passwort findet sich in

/var/lib/boinc/gui_rpc_auth.cfg

.

Optimierte Clients

Alles zu den optimierten Boinc Clients gibt es hier

Externe FAQ Links

Hier sind mal ein paar Seiten verlinkt, die Antworten bereit halten.

Verteiltes Rechnen / BOINC

Statistik

Hier einige Hinweise wie die Statistiken funktionieren. Täglich werden die Informationen über die Mitglieder der einzelnen Projekt-Teams aktualisiert (gegen 4 Uhr morgens). Dann wird auch das Matching mit der Cross-Project-ID im Forenuser-Profil durchgeführt. Es kann daher zeitliche Verzögerungen bei der Eintragung neuer Mitglieder in die Statistik geben.

Die Credits der eingetragenen User werden ebenfalls täglich, die Team-Credits vier Mal täglich (etwa 4:00, 10:00, 16:00, 22:00 Uhr) per WAP-Stats aktualisiert.

Sollte ein Projekt zum Zeitpunkt der Aktualisierung gerade nicht erreichbar sein, so werden die alten Werte beibehalten. Wenn du dich etwa 'doppelt' in den Statistiken findest, so liegt das daran, dass du unterschiedliche Cross-Project-IDs (CPID) hast. Um diese abzugleichen, achte darauf, dass du in jedem Prokjekt den gleichen Namen, Email, etc. verwendest. Melde dann einfach Mal alle Projekte an einem Host an, damit sich die CPID abgleichen kann.

Sinn und Unsinn

1. Was habe ich davon?

Spaß, so unwahrscheinlich das auch erscheinen mag. Aber es macht Spaß, seine Werte steigen zu sehen und zu wissen, dass man damit etwas Gutes tut. Womit wir ganz nebenbei den wichtigsten Punkt hätten: Man tut etwas Gutes, hilft der Forschung auf Gebieten, die einem persönlich interessieren, sei es Mathematik und Physik oder die Suche nach Außerirdischen oder nach Medikamenten. Außerdem lernt man fast nebenbei eine Menge über die verschiedensten wissenschaftlichen Themen.

2. Was hat die Piratenpartei davon?

Die Partei hat vor allem einen Werbeeffekt. Die erste Partei (bald) unter den weltweit besten Teams! Wir reden nicht nur von Bildung und Forschung, wir tun auch was dafür. Und das im Geiste des Teilens: Gib, was du im Überfluss hast (Rechenkraft) denen, die es benötigen (z.B. den Menschen, für die ein Heilmittel berechnet wird). Dann schweißt das Team die Mitglieder natürlich auch noch mehr zusammen.

3. Stört BOINC mich beim arbeiten oder spielen?

Die Berechnungen per CPU definitiv nicht. Es werden nur ungenutzte Rechenzyklen benutzt.
Bei der Grafikkarte (GPU) sieht das anders aus. Je nach "Größe" der GPU und der Anwendung kann teil eine extreme Beeinträchtigung auftreten. Aus diesem Grund ist standardmäßig die Benutzung der Grafikkarte ausgeschaltet, wenn der Computer benutzt wird. Nach 3 Minuten (einstellbar) Untätigkeit erst fängt die GPU zu rechnen an. Man kann die GPU auch vollkommen aus den Berechnungen heraushalten.

4. Was ist mit dem Stromverbrauch?

Wenn der Prozessor mehr rechnet, verbraucht er mehr Strom. Das produziert Wärme und kostet Geld. Universitäten haben Rechenzentren. Also ist das doch nicht sinnvoll, oder?

Die Antwort lautet ja und nein. Rechenzentren arbeiten mit niedriger getakteten, stromsparenden Prozessoren. Aber im Gegensatz zum Heimcomputer werden sie (mit teuren, hochqualitativen Teilen) extra zum Rechnen angeschafft und - aufgrund der Konzentration der Prozessoren - sie produzieren eine Menge Wärme, die stromfressend abtransportiert werden muss. Wer schon einmal in einem Rechenzentrum war, der weiß was das heißt ;)
Außerdem muss man in einem Rechenzentrum auch noch Leute bezahlen (entweder vor Ort oder vom Hersteller), die sich darum kümmern, zu Hause macht man das selbst. Alles das kostet Geld, und die Unis haben davon chronisch zu wenig.

Wenn man einen Computer extra für BOINC anschafft oder auch einen existierenden über Nacht nur aus dem Grund laufen lässt, um zu rechnen, ist man damit wahrscheinlich uneffektiv. Wenn man aber ganz normal den Computer benutzt und die CPU im Hintergrund arbeiten lässt, ist BOINC sehr sehr effektiv und gesamtgesellschaftlich äußerst preisgünstig.

5. Strom = Geld

Um zu wissen, wie viel einem BOINC maximal kostet, braucht man nur einen Taschenrechner und den Watt-Verbrauch des Copmuters.

Über den Daumen gepeilt kostet 1W etwa 2€ im Jahr, die Zahl schwankt natürlich mit dem Stromtarif. Die genau Rechnung läuft so:

Wattverbrauch mal 24 (Stunden) mal 365 (Tage) durch 1000 (=kWh/Jahr) mal 0,XX€ (Euer kWh-Preis) gleich =X

Beispiel: Computer rechnet nur für BOINC: Ein Computer verbraucht 300W (Vierkerner mit Mittelklasse-Graka ohne Bildschirm):
300(W)*24(h)*365(d)/1000*0,23c/kWh= 604,44€ - Der Computer kostet also im Jahr etwa so viel Strom, wie die Hardware gekostet hat.

Computer rechnet "nebenbei" (CPU+GraKa): Unterschied zwischen idle und Last: 100W
100(W)*3(h am Tag genutzt)*365/1000*0,23c/kWh= 25,19€ - das ist deutlich weniger.

Tip für Punktescheffler

Wer so heiss auf Punktescheffeln ist wie Hase, der lässt seine Grafikkarte mitrechnen.
Aktuelle Grafikkarten haben erheblich mehr Leistung als eine CPU - wenn man ihnen die richtigen Aufgaben gibt. Nicht jede Aufgabe eignet sich zur parallelen Berechnung (weswegen die schnellen Dual-Cores von vielen Gamern den etwas langsameren Quad-Cores ja immer noch vorgezogen werden).

Aber alle Aufgaben, die sich veteilt rechnen lassen, sind gute Kandidaten auch für die Parallelverarbeitung auch wenn nicht alle automatisch für die Parallelverarbeitung auf Grafikkarte geeinet sind: so profitiert eine Brute-Force-Attake auf einen Kryptokey zwar von vielen verteilten CPUs, aber nicht von den vielen Prozesoren einer Grafikkarte.

Aber Butter bei die Fische: Wenn wir uns Die aktuelle Statistik für die Piratenpartei Deutschland ansehen, dann fällt auf, dass ein Teilnehmer hier über 60k Credits pro Tag zusammensammelt.
Und das auf einem harmlosen Rechner: Phenom X4/3,0 GHz.
Aber es steckt halt eine ATI 4870 darin, die bei Milkyway@home und Collatz Conjecture (beides BOINC Projekte) ein wenig hilft: einen Collatz-Datensatz rechnet ein Phenom-Kern in ca. 10 Stunden aus. Die Grafikkarte erledigt das in 20 Minuten (!).

Was muss man dafür tun?
Ein Projekt auswählen, das von der eigenen Grafikkarte profitiert. Die neueren Nvidia-Karten benutzen das System CUDA für Berechnungen auf der Grafikkarte, das äquivalente - aber inkompatible - System von AMD/ATI heisst Stream.
CUDA supporten diverse BOINC-Projekte (leider nicht World Community Grid), Stream nur Collatz Conjecture und Milkyway@home.
Einrichten muss man nicht viel.
Aktuelle Treiber für die Grafikkarte installieren, aktuellen BOINC Client installieren und dann die Nutzung der Grafikkarte in den Einstellungen erlauben. Dabei hat sich bei mir bewährt, die Nutzung nicht immer einzuschalten sondern nach 0,2 Minuten ohne Mausbewegung, sonst macht die Karte eben keine Grafik mehr, wenn man die haben will :-)

Also ran: Client updaten, Milkyway@home als Projekt dazutun und zusehen, wie sich die diversen hundert Prozessoren auf dem Grafikchip durch die Daten brennen wie ein Lötkolben durch Butter.

Achja: ein Energiekosten-Messgerät solltet Ihr an den Computer hängen und ausrechnen, was der Spass kostet und ob Euch das die Sache wert ist: eine moderne Grafikkarte unter Vollast, dazu er Prozessor, das kann schnell 300 bis 500 Watt verbrauchen.
Beispielrechnung: 500 Watt = 1/2 kWh/h = 12 kWh/Tag => 12 kWh/Tag * 0,2 Euro/kWh = 2,4 Euro/Tag. Zigaretten oder Kino ist teurer. Zwanzig Cent kostet die kWh Ökostrom hier bei Vattenfall.