This concerns wrapper.cpp provided under boinc/samples/wrapper/wrapper.cpp.
Seems like we're getting wrong CPU times calculating under Linux, and I
believe same goes for Mac.

Section of code this concerns (as subtasks finish in main()):

804 checkpoint_cpu_time = task.starting_cpu + task.final_cpu_time;
805
806 fprintf(stderr, "checkpoint_cpu_time = starting_cpu (%f) +
final_cpu_time (%f)\n",
807 task.starting_cpu, task.final_cpu_time);
808
809 write_checkpoint(i+1, checkpoint_cpu_time);

Note: I added the above fprintf line for debugging.

We see this in stderr.txt file as subtasks run (and checkpointed as they
finish)

$tail -f stderr.txt
wrapper: starting
17:52:25 (9875): wrapper: running fit_sed (1 filters.dat observations.dat)
checkpoint_cpu_time = starting_cpu (0.000000) + final_cpu_time (447.131944)
17:59:53 (9875): wrapper: running fit_sed (2 filters.dat observations.dat)
checkpoint_cpu_time = starting_cpu (447.131944) + final_cpu_time
(897.368082)
18:07:25 (9875): wrapper: running fit_sed (3 filters.dat observations.dat)
checkpoint_cpu_time = starting_cpu (1344.500026) + final_cpu_time
(1350.548404)
18:14:59 (9875): wrapper: running fit_sed (4 filters.dat observations.dat)

See how the final_cpu_time is causing the checkpoint_cpu_time to be
incorrect and therefore the starting_cpu_time in the next task since it
uses this value. If I change the checkpoint_cpu_time to be final_cpu_time
only, the problem goes away.

Something else that we noticed is that the CPU time reported on Windows
machines is nearly always 0.0 seconds. Not sure if this is related as I
haven't looked into it further.

One more thing to note, I don't see this issue on Linux with the wrapper
provided at server_stable branch on old SVN repo.

I'm hoping that David A. Picks this up.  Tried to keep it as short as
possible - let me know if more details required.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to