MD@home auf off-line Rechnern betreiben - Anleitung

Analyse und Vorhersage von Struktur und Faltungsweg (Folding@home, GPUGRID, Rosetta@home, ...)
Nachricht
Autor
Benutzeravatar
Wurmi
Rechenkraft.net-Sponsor
Rechenkraft.net-Sponsor
Beiträge: 314
Registriert: 09.07.2002 22:44
Wohnort: Stuttgart

MD@home auf off-line Rechnern betreiben - Anleitung

#1 Ungelesener Beitrag von Wurmi » 12.06.2003 23:40

Hallöle!

Die folgenden Zeilen sollen eine Art Anleitung für alle sein, die komplett offline bei MD mitfalten wollen. Es ist ziemlich einfach und einsichtig, wenn man es einmal selbst probiert hat :blush: . Super wäre es natürlich, wenn sich ein Held fände, der mal ein paar Zeilen (z.B. Perl-) Skript hierfür schriebe 8).

Ziel: MD@home in Netzen ohne freien Zugriff aufs Internet verlustfrei betreiben. Der Cache soll nie leerlaufen, die Clients also ununterbrochen arbeiten können.

Grundproblem: Wie kopiere ich geschickt die Caches / WUs zwischen einem up/down-load-Rechner und dem Client-Cache.

Vorbereitung: Zuerst gilt es, abzuschätzen, wie lange die Clients ohne äußeren Eingriff auskommen müssen und wieviele WUs die Clients insgesamt schaffen können. Z.B. 4 tage a 15 WUs -> 100 WUs wäre eine gute Cachegröße, da wir gut 50% Aufschlag brauchen.

Das Client-Setup ist einfach: alle Rechner greifen auf einen gemeinsamen Cache zu. In allen client.ini Dateien ist er als "local" (cache_type=1) gekennzeichnet. Ebenso sollte die Cachegröße überall korrekt eingetragen sein (100 im Bsp.).

Start: Eine eigene MD@home-Installation anlegen, die gewünschte Cachegröße angeben und den Cache per updateCache.bat füllen. Diesen Cache 1:1 an seine Zielposition (oben eingerichter geshareter Clientcache) kopieren. Clients loslaufen lassen.

Nachschub: Auf dem up/down-load-Rechner den Cacheinhalt (wuXYZ-Verzeichnisse) löschen und per updateCache.bat füllen. Später geschieht das beim Upload automatisch.

Datenaustausch: Den 2. Satz von WUs (Cache) zu den Clients in ein extra Verzeichnis (z.B "cache2") kopieren. Sobald die Clients eine Reihe von WUs (z.B. 60) berechnet haben, werden die zugehörigen WU-Unterverzeichnisse (hier WU1 .. WU60) zwischen "cache" und "cache2" ausgetauscht (versschieben nach temp\..., dann cache\...->cache2\..., temp->cache\...). Es müssen nicht unbedingt alle ausgetauscht werden. Ggf. ist es leichter, nur die ersten 50 zu kopieren und beim nächsten mal die andere Hälfte.

Welche WUs fertig sind, kann man neben der RSpy.EXE auch einfach per Suche in den Dateien (wu-stat.dat, Inhalt: done ) herausfinden. Ich persönlich finde letzteres etwas angenehmer.

Sobald die Caches einmal komplett ausgetauscht wurden (z.B. nachdem nun WU61 .. WU100 fertig waren), kann der 2. Satz (cache2) auf den up/down-load-Rechner kopiert werden. Von dort gelangt der Inhalt mittels updateCache.Bat in die Stats und neue WUs wieder in den 2. Satz

:attention:Beachte: Alle Berechnungen der Clients finden immer im 1. Satz (cache) statt; der 2. Satz (cache2) ist ein reiner Transportbehälter.:attention:

Bemerkung: updateCache.Bat lädt selten mehr als 20 WUs am Stück hoch oder runter. Verbessern kann man das, indem man in der client.ini den Wert von cache_buffer auf etwa die Hälfte der Cachegröße einstellt. Sind alle WUs gefüllt, steht in jeder "filled".


Verteilte Grüße,
Wurmi :Fade-color.
Recently, I tweaked the universe to appear even weirder. Now, e^(i*pi) equals -1. Ain't that cool?

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8170
Registriert: 17.12.2002 14:09
Wohnort: Berlin

#2 Ungelesener Beitrag von yoyo » 13.06.2003 19:36

Wenn die beiden Rechner vernetzt sind, dann kann doch der 2. Rechner auf den Cache des Online Rechners zugreifen, oder geht das nicht?

Oder sind in Deinem Szenario die beiden Rechner nicht vernetzt und die Caches werden per Diskette ausgetauscht?

yoyo

Benutzeravatar
Patrick Keller
Vereinsmitglied
Vereinsmitglied
Beiträge: 1202
Registriert: 25.03.2003 15:06
Wohnort: Mainz

#3 Ungelesener Beitrag von Patrick Keller » 13.06.2003 20:14

Wenn die Rechner vernetzt wären, könnte man einen Netzwerk-Cache-Ordner anlegen oder auch gleich über Netzwerk die Daten aus dem Internet holen ... Hier geht es um Rechner, die NICHT über eine Kommunikationsmöglichkeit verfügen

Patrick1984
CPU-Load-Pusher
CPU-Load-Pusher
Beiträge: 232
Registriert: 01.05.2003 16:17
Wohnort: Gotha (th)

#4 Ungelesener Beitrag von Patrick1984 » 13.06.2003 20:21

Lass auf den online Rechner normal weiter laufen.
Erstelle einen neuen Ordner mit MD drin und auf den offline Rechner auch.
Dann mußt du nur immer die veränderlichen Dateien (upload/download files) per Diskette austauschen.
Kannst ja dann so viele Wu/s bunkern wie du brauchst, und tauschst die halt aus wenns kritisch wird, oder wenn du weißt das der Bunker leer laufen könnte wenn du es jetzt nicht tust.

Benutzeravatar
Patrick Keller
Vereinsmitglied
Vereinsmitglied
Beiträge: 1202
Registriert: 25.03.2003 15:06
Wohnort: Mainz

#5 Ungelesener Beitrag von Patrick Keller » 13.06.2003 20:23

Patrick1984 hat geschrieben:Lass auf den online Rechner normal weiter laufen.
Erstelle einen neuen Ordner mit MD drin und auf den offline Rechner auch.
Dann mußt du nur immer die veränderlichen Dateien (upload/download files) per Diskette austauschen.
Kannst ja dann so viele Wu/s bunkern wie du brauchst, und tauschst die halt aus wenns kritisch wird, oder wenn du weißt das der Bunker leer laufen könnte wenn du es jetzt nicht tust.
Das ist oben bereits erklärt :)

Patrick1984
CPU-Load-Pusher
CPU-Load-Pusher
Beiträge: 232
Registriert: 01.05.2003 16:17
Wohnort: Gotha (th)

#6 Ungelesener Beitrag von Patrick1984 » 13.06.2003 20:24

Mist, bin wohl total mit den Nerven runter. Tschuldigung dachte es wird danach gefragt. Ist halt besser wenn man lesen kann.

Benutzeravatar
S_Garbe
Rechenkraft.net-Sponsor
Rechenkraft.net-Sponsor
Beiträge: 1219
Registriert: 09.11.2001 01:00
Wohnort: Kohlstädt

#7 Ungelesener Beitrag von S_Garbe » 13.06.2003 20:26

ehrlich gesagt, ich bin da etwas zu faul den Kram auseinanderzunehmen - ich kopier immer gleich das komplette Verzeichnis :blush: - auf dem Online-Rechner wird der Client in X Verzeichnisse installiert jeweils die gewünschte Cachegröße einestellt und dann mit der update_cache.bat der Cache gefüllt - anschließend geht der ganze Kram auf einen USB-stick und zum Offline-Rechner - der kann dann rechnen bis mehr oder weniger alle WU's bearbeitet sind - dann bekommt der Offline-Rechner gleich den nächsten bestückten Client verpasst und das Verzeichnis mit den fertigen WU's geht auf den USB-Stick - wenn ich dann genug fertige Client-Verzeichnisse auf dem USB-Stick hab geht es zurück zum Online-Rechner zum Ergebnisse abliefern und neue WU's holen

Gruß
Stefan
Bild

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8170
Registriert: 17.12.2002 14:09
Wohnort: Berlin

Re: MD@home auf off-line Rechnern betreiben - Anleitung

#8 Ungelesener Beitrag von yoyo » 14.06.2003 16:27

Wurmi hat geschrieben:Super wäre es natürlich, wenn sich ein Held fände, der mal ein paar Zeilen (z.B. Perl-) Skript hierfür schriebe
Hallo,

da mich das schon immer interessiert hat und Du eine so schöne Anleitung geschrieben hast. Hab ich mir dafür mal ein Perl Skript geschrieben. Zu finden ist es unter yoyo.e7.to. Das Skript funktioniert so:

ready.pl <from> <to>

Es werden alle fertigen WU's aus <from> mit neuen WU's aus <to> getauscht. Wenn keine Parameter angegeben werden gelten folgende Defaults:
<from> = cache2
<to> = cache

Schöne Grüße
yoyo

Benutzeravatar
exec
Projekt-Fetischist
Projekt-Fetischist
Beiträge: 604
Registriert: 28.04.2002 10:55
Wohnort: München

#9 Ungelesener Beitrag von exec » 14.06.2003 22:55

Danke für das Skript, wenn ich jetzt auch eine Linuxversion von MD@Home bekommen würde, dann hätte ich auch eine realistische Umgebung, um es zu testen.
Bild
Aktive Projekte: Seventeen or Bust
Einstige Projekte: TSC, DF, D2OL, Seti@Home, MD@Home

MaFi

#10 Ungelesener Beitrag von MaFi » 15.06.2003 13:38

exec hat geschrieben:Danke für das Skript, wenn ich jetzt auch eine Linuxversion von MD@Home bekommen würde, dann hätte ich auch eine realistische Umgebung, um es zu testen.
hi,
wenn der linux client kommt, bin ich auch dabei.
es gibt auch perl für windows. einfach mal google anwerfen - sollte leicht zu finden sein.

gruss,
markus

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8170
Registriert: 17.12.2002 14:09
Wohnort: Berlin

#11 Ungelesener Beitrag von yoyo » 15.06.2003 20:22

wenn der linux client kommt, bin ich auch dabei.
es gibt auch perl für windows. einfach mal google anwerfen - sollte leicht zu finden sein.
Ich hab's unter Win98 geschrieben und getestet. Das Perl für Windows stammt von http://www.activestate.com.

yoyo

Zurück zu „Protein- und Nukleinsäureforschung“