Evo und Fortschrittsanzeige + Checkpoints

Alles zum Projekt yoyo@home
Everything about the project yoyo@home
Nachricht
Autor
Ananas
WU-Schieber
WU-Schieber
Beiträge: 1184
Registriert: 27.04.2008 18:37
Wohnort: Nordlichter Köln

Evo und Fortschrittsanzeige + Checkpoints

#1 Ungelesener Beitrag von Ananas » 31.12.2011 03:45

Ich habe das inzwischen mal etwas laenger beobachtet und gerade ist auch was interessantes und unerwartetes in dem Zusammenhang passiert :

Evo zeigt anfangs (nach dem Starten von BOINC) immer sauber den Fortschritt an.

Nachdem etliche Results fertig gerechnet wurden, bleibt ploetzlich die Prozentanzeige stehen, die aktuell berechneten da, wo sie gerade stehen, neue bleiben bei 0%.

Gerade hat BOINC wieder mal aus unerfindlichen Gruenden einen Heartbeatfehler getriggert (seltsamerweise verursachen die Mini-WUs von Chess sowas gelegentlich) und seitdem laeuft die Fortschrittsanzeige, die vorher auf dem Rechner nicht funktionierte, wieder. Allerdings hat das Result bei 0% angefangen, da die Checkpoints ebenfalls nicht funktionieren, wenn die Fortschrittsanzeige klemmt. Der Ausstieg ueber den Heartbeat-Fehler bereinigt also irgend etwas, was das normale Programmende "vergisst".

Das Klemmen der Fortschrittsanzeige ist (nach Tagen gerechnet) ziemlich direkt von der Rechnergeschwindigkeit abhaengig, daher gehe ich davon aus, dass es genau nach einer bestimmten Anzahl von Results eintritt. Es passiert auf allen meinen Rechnern (WinXP und Win2k) und es tritt ausschliesslich bei Evo auf, bei keinem anderen Projekt.

Klar ist dadurch wohl, dass Evo irgend eine limitierte Ressource nicht wieder freigibt, da das Problem aber erst nach etlichen Tagen auftritt, ist es etwas schwierig, die genaue Ursache 'rauszubekommen. Der Hauptverdacht liegt m.E. auf Filehandles bzw. FILE *.

Vielleicht wuerde es helfen, vor dem Programm-Ende mal ein fcloseall() einzubauen. Interessant waere auch, ob das main() vom Evo-Hauptprogramm im Erfolgsfall mit return() oder mit exit() verlassen wird. Falls es derzeit ein return() ist, sollte das auf exit() umgestellt werden.

p.s.: return() und exit() - natuerlich jeweils aus dem main() - sind bei Programmen, die direkt von Kommandozeile aufgerufen werden, ziemlich gleichwertig. return() ist bei den meisten Compilern etwas "schlanker" und bereinigt einiges nicht, was aber meist wurscht ist, wenn die Task komplett beendet wird. exit() hat zwar etwas mehr Overhead, hinterlaesst aber eine besser aufgeraeumte Task. Bestimmte Fehler im Zusammenhang mit FILEs und dynamischem Speicher werden gelegentlich von return() uebergangen, waehrend exit() sie "bemerkt" und das Programm ganz am Ende abstuerzen laesst. Leider wird in solchen Faellen gelegentlich auf exit() verzichtet, weil das einfacher ist, als den Fehler zu suchen.
vi BOINC/checkin_notes
:1,$s/bug/feature/g
:wq!

Erzaehlen sich Biologen eigentlich Klein-RNA-Witze?

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 22418
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: Evo und Fortschrittsanzeige + Checkpoints

#2 Ungelesener Beitrag von Michael H.W. Weber » 31.12.2011 11:29

Danke, Volker - ich leite das mal an Laurence weiter. :D Er hat mir gerade erst mitgeteilt, dass EAH aktuell ganz ordentlich weiterentwickelt wird.

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

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

Re: Evo und Fortschrittsanzeige + Checkpoints

#3 Ungelesener Beitrag von yoyo » 31.12.2011 17:22

Ich glaub irgendwie nicht, dass das an der evo App liegt. Am Ende der WU wird ja die App (also der Wrapper) und das evo Binary beendet. Damit dürfte dann ja aller Speicher und alle Filedescriptoren ja wieder freigegeben sein.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Ananas
WU-Schieber
WU-Schieber
Beiträge: 1184
Registriert: 27.04.2008 18:37
Wohnort: Nordlichter Köln

Re: Evo und Fortschrittsanzeige + Checkpoints

#4 Ungelesener Beitrag von Ananas » 31.12.2011 20:20

Evo ist zwar ein separater Prozess, unter Windows werden aber - sofern das Sample verwendet wird - die Handles des Wrappers weiterverwendet (CreateProcess mit bInheritHandles=TRUE). Damit sind zumindest Wrapper und Evo-Anwendung gekoppelt.

Das kann z.B. zu einem Problem fuehren, wenn Evo ein Handle schliesst und der Wrapper dann nochmal.

Wie BOINC (bzw. meine BOINC-Version) die Anwendung aufruft, muesste ich mal nachsehen, ich habe momentan eine neuere Quelle hier.
vi BOINC/checkin_notes
:1,$s/bug/feature/g
:wq!

Erzaehlen sich Biologen eigentlich Klein-RNA-Witze?

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

Re: Evo und Fortschrittsanzeige + Checkpoints

#5 Ungelesener Beitrag von yoyo » 31.12.2011 21:00

Aber auch der Wrapper wird am Endo der evo wu beendet.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Ananas
WU-Schieber
WU-Schieber
Beiträge: 1184
Registriert: 27.04.2008 18:37
Wohnort: Nordlichter Köln

Re: Evo und Fortschrittsanzeige + Checkpoints

#6 Ungelesener Beitrag von Ananas » 01.01.2012 07:45

Waere es nicht Windows, dann wuerde ich Dir zustimmen.

Wenn man z.B. die Windows-SDK-Funktionen anstelle der C-Funktionen zur Speicherverwaltung verwendet, wird absolut nicht automatisch beim Programmende bereinigt. Ich nehme an, dass das auch fuer das Dateihandling gilt und es gibt auch noch weitere Scherze im Windows, auf die man selbst achten muss, um das Betriebssystem nicht instabil zu machen (z.B. Hooks). Bei C++ sieht das meines Wissens wieder etwas anders aus, muesste das compilerseitig etwas besser abgesichert sein - aber auch da ist es eben nicht Windows, das die Umgebung sauber haelt.


Evo scheint ja auch gar nicht zu pruefen, ob das Erstellen der Dateien funktioniert hat, sonst muesste ja zumindest mal eine Warnung kommen, evtl. mit dem Fehlercode aus der Open-Funktion. Ich wuerde daher fast wetten, dass die Ausgaberoutinen lustig in die ungueltigen Filehandles schreibt und sie am Ende auch wieder zumacht (bzw. es versucht).

Theoretisch kann es natuerlich auch sein, dass das Programm den falschen Slot erwischt und zwei Evos in die gleiche Checkpointdatei schreiben. Das wuerde grundsaetzlich nicht auffallen, solange das Programm ununterbrochen laeuft. Edit : Korrektur, das kann doch nicht sein, sonst muesste ja zumindest eine existieren, es existiert aber in keinem Slot eine passende Datei.

p.s.: Vom Wrapper bekomme ich uebrigens die korrekte Fehlermeldung im richtigen Slot :

Code: Alles auswählen

wrapper: starting
running S005r6gSimulatorWin32.exe
can't open eProgress.txt file
can't open eProgress.txt file
...
Dass es am Wrapper liegt, kann ich mir aber ohnehin kaum vorstellen, der laeuft ja bei allen anderen Anwendungen problemlos.
vi BOINC/checkin_notes
:1,$s/bug/feature/g
:wq!

Erzaehlen sich Biologen eigentlich Klein-RNA-Witze?

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 22418
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: Evo und Fortschrittsanzeige + Checkpoints

#7 Ungelesener Beitrag von Michael H.W. Weber » 01.01.2012 10:37

...Laurence wird sich das hier anschauen. :wink:

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

Ananas
WU-Schieber
WU-Schieber
Beiträge: 1184
Registriert: 27.04.2008 18:37
Wohnort: Nordlichter Köln

Re: Evo und Fortschrittsanzeige + Checkpoints

#8 Ungelesener Beitrag von Ananas » 01.01.2012 18:06

Es gibt uebrigens noch einen moeglichen Ansatz :

Da Evo eine Standalone-Anwendung ist, schreibt sie vermutlich die eProgress- und IntermediateResult-Dateien nur, wenn sie erkennt, dass sie ueber den Wrapper gesteuert wird.

Wenn das Flag, das dieses Feature steuert, nicht oder nicht korrekt initialisiert (Problem beim Parsen von S005_Preferences.txt?) oder z.B. von einem zu kurz dimensionierten Array ueberschrieben wird, haette das wohl den gleichen Effekt.

edit : hmmmm, das scheint's auch nicht zu sein, die Angaben in minimal_log_file.txt stimmen soweit ich das beurteilen kann
vi BOINC/checkin_notes
:1,$s/bug/feature/g
:wq!

Erzaehlen sich Biologen eigentlich Klein-RNA-Witze?

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

Re: Evo und Fortschrittsanzeige + Checkpoints

#9 Ungelesener Beitrag von yoyo » 01.01.2012 18:13

Nein, diese Dateien werden immer geschrieben. Laurence hatte die evo app nicht extra für den Wrapper angepasst.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Benutzeravatar
Rincewind
Vereinsmitglied
Vereinsmitglied
Beiträge: 1166
Registriert: 25.08.2006 14:42
Wohnort: Mannheim

Re: Evo und Fortschrittsanzeige + Checkpoints

#10 Ungelesener Beitrag von Rincewind » 11.07.2013 19:52

[OT]Ich will kein neues Thema aufmachen, daher poste ich hier rein.
Gibt es irgendwo eine Seite mit aktuellen Infos zu Evolution@home? Die alte/ofizielle Seite ist nicht mehr wirklich aktuell.[/OT]
Ihr sagt DC ist schlecht für die Umwelt? Ich hab Öko-Strom!

Bild

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 22418
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: Evo und Fortschrittsanzeige + Checkpoints

#11 Ungelesener Beitrag von Michael H.W. Weber » 12.07.2013 23:54

Laurence Loewe sitzt inzwischen in Madison/USA. Dort vielleicht mal recherchieren, ob er eine neue Seite hat?

Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.

http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B

Bild Bild Bild

Benutzeravatar
Rincewind
Vereinsmitglied
Vereinsmitglied
Beiträge: 1166
Registriert: 25.08.2006 14:42
Wohnort: Mannheim

Re: Evo und Fortschrittsanzeige + Checkpoints

#12 Ungelesener Beitrag von Rincewind » 02.08.2013 15:03

Danke für den Hinweis.
Aber Neues zu dem DC-Projekt gibt es anscheinend nicht. Schade wo Yoyo doch sicher einiges an Leistung für Ihn organisiert hat.
Ihr sagt DC ist schlecht für die Umwelt? Ich hab Öko-Strom!

Bild

Antworten

Zurück zu „Number crunching“