climateprediction.net (CPDN) home page
Thread 'Forced download'

Thread 'Forced download'

Message boards : Number crunching : Forced download
Message board moderation

To post messages, you must log in.

AuthorMessage
old_user22652

Send message
Joined: 3 Oct 04
Posts: 39
Credit: 13,172,838
RAC: 0
Message 30111 - Posted: 21 Aug 2007, 20:11:43 UTC

I’ve been lurking on the message boards for a while now, and I feel sure I should know the answer to my problem, but can’t find a relevant thread. I shall be away for much of September, and I see that several of my computers will run out of work during this period. I have a dial-up connection, and nobody who will be here in my absence will have the remotest interest in bringing computers from the garage to the house to upload finished work and download a new work-unit. Can I therefore force a download of a “spare” work-unit to keep things running while I’m away? I can see how to prevent download of new work, but not the reverse. Help gratefully received.
ID: 30111 · Report as offensive     Reply Quote
Les Bayliss
Volunteer moderator

Send message
Joined: 5 Sep 04
Posts: 7629
Credit: 24,240,330
RAC: 0
Message 30112 - Posted: 21 Aug 2007, 20:37:44 UTC


Allow New tasks in the Projects tab.
Click on current model in Tasks tab.
Click on Suspend button.

BOINC will download a new work unit.
When this has started to run, click on No new tasks.

You now have a choice:
1) Unsuspend old model to allow it to finish.
2) Leave new model running while you\'re away with the old model still suspended, and finish the old model when you get back, then continue with the new model.

Using the first method will mean that both models will alternate at the rate specified in your General prefs, usually about one hour.

If there will be no internet access while you\'re away, don\'t forget to set this to \"Network activity suspended\", otherwise you\'ll get lots of messages, and probably lose the model when it exceeds the \"14 days to finish uploading\" limit.


Backups: Here
ID: 30112 · Report as offensive     Reply Quote
old_user22652

Send message
Joined: 3 Oct 04
Posts: 39
Credit: 13,172,838
RAC: 0
Message 30113 - Posted: 21 Aug 2007, 22:18:58 UTC

Thanks, works like a charm!
ID: 30113 · Report as offensive     Reply Quote
old_user8065

Send message
Joined: 1 Sep 04
Posts: 24
Credit: 10,865,773
RAC: 0
Message 30116 - Posted: 22 Aug 2007, 11:23:05 UTC - in response to Message 30112.  
Last modified: 22 Aug 2007, 11:30:38 UTC

You now have a choice:
1) Unsuspend old model to allow it to finish.
2) Leave new model running while you\'re away with the old model still suspended, and finish the old model when you get back, then continue with the new model.

Using the first method will mean that both models will alternate at the rate specified in your General prefs, usually about one hour.


My experience goes a bit different: if BOINC client is attached to one project and has more than one WU in queue, then it\'ll run the one received earliest to the end. Then it\'ll start another one (received second earliest), etc. It\'ll only run WU received at some later time iff it runs into some kind of timing problem (EDF or some such): then it\'ll run WU with earliest deadline.

Alternation only occurs between different projects.

In GW3PRV\'s case, if he lets new WU to start, then BOINC will probably run the second WU until either BOINC gets restarted or BOINC needs to run benchmarks or BOINC gets into EDF mode. Most probably the benchmarking would happen first.

I\'d generally follow Les\' advice. I\'d just unsuspend the old WU right after BOINC client gets assigned new WU but before all the needed files for new WU get downloaded (which can take some time if one doesn\'t have broadband). This prevents BOINC from immediately starting the new WU. This is not really an issue, just saves some disk space.

Metod ...
ID: 30116 · Report as offensive     Reply Quote
old_user17401

Send message
Joined: 13 Sep 04
Posts: 60
Credit: 1,124,063
RAC: 0
Message 30119 - Posted: 22 Aug 2007, 14:25:06 UTC

Assuming one did the suspend / get workunit / resume thing, I guess it doesn\'t matter if BOINC does a round robin between the two work units. The original one will finish soon enough, even if BOINC timeslices in the new one too. This way the machine will be constantly working which I guess is the most important goal.
ID: 30119 · Report as offensive     Reply Quote
old_user428438

Send message
Joined: 1 Feb 07
Posts: 26
Credit: 885,216
RAC: 0
Message 30123 - Posted: 22 Aug 2007, 22:46:04 UTC

I\'m sure that I am not the only one confused by the references to alternating of app\'s according to the setting of General Prefs. I\'m running both Seti@Home and CPDN on my C2D (nominally one per core). Because I did not have Seti running when I downloaded CPDN I got 2 models. Both Seti and CPDN are set for 100% of CPU time. I have tried leaving it crunching for a number of days and it happily continues to crunch one CPDN model on one core and the allocated Seti WU\'s on the other with no sign of any switching (either one app taking over both cores or between CPDN models on the \"CPDN core\"). To ensure that neither CPDN model be chopped for not responding I have resorted to periodically suspending the running model (usually shortly after a trickle) to allow the dormant model to kick off but I would prefer not to have to resort to manual intervention. No doubt, if I left things alone, the second model would eventually get to a state where EDF would kick it off but that would mean leaving it dormant for several months.
ID: 30123 · Report as offensive     Reply Quote
old_user8065

Send message
Joined: 1 Sep 04
Posts: 24
Credit: 10,865,773
RAC: 0
Message 30146 - Posted: 23 Aug 2007, 7:44:48 UTC - in response to Message 30123.  
Last modified: 23 Aug 2007, 8:08:13 UTC

I\'m sure that I am not the only one confused by the references to alternating of app\'s according to the setting of General Prefs. I\'m running both Seti@Home and CPDN on my C2D (nominally one per core). Because I did not have Seti running when I downloaded CPDN I got 2 models. Both Seti and CPDN are set for 100% of CPU time. I have tried leaving it crunching for a number of days and it happily continues to crunch one CPDN model on one core and the allocated Seti WU\'s on the other with no sign of any switching (either one app taking over both cores or between CPDN models on the \"CPDN core\"). To ensure that neither CPDN model be chopped for not responding I have resorted to periodically suspending the running model (usually shortly after a trickle) to allow the dormant model to kick off but I would prefer not to have to resort to manual intervention. No doubt, if I left things alone, the second model would eventually get to a state where EDF would kick it off but that would mean leaving it dormant for several months.


Wording about resource share being set as percent is unfortunate. For one you can set it to a value well higher than 100, which doesn\'t really make any sense if it was percent. What you really do is set resource share and one shoud consider it with consideration of all projects. Relative resource share is then calculated as follows:

project_share (in percent) = this_project_setting / ( sum_of_settings_for_all_projects_this_machine_participates_in ) * 100%


In your case this yields in 50% for S@H and 50% for CPDN.

Now, when considering what it really means for particular machine, one has to consider also number of cores/CPUs BOINC is allowed to use. Normally it would equal to number of cores/CPUs present in machine, but user can lower it as wished.

The resource share is then observed by BOINC client scheduler (eg. BOINC programme that makes decission about what project and task to run next) on long term basis. This is done through leveraging long term debts.

In your case in simple words: BOINC makes sure that in a week time both projects (S@H and CPDN) will get each half of available CPU seconds. Available as in: whatever idle \'process\' would consume otherwise. BOINC tries not to steal CPU cycles from other processes that run in your machine.

So in your case with two cores it\'s only natural to run one project on one core and second project on other core, both all the time and both get 50% of CPU cycles available.

If, for example, you\'d decide that you want to give CPDN more CPU cycles and you\'d set resource share for CPDN to 200, then this would mean that S@H is supposed to get 33% of CPU cycles and CPDN 67%. A way to achieve this is that there\'s a CPDN WU running on one core all the time while on the other core another CPDN WU would alternate with S@H WU every now and then (depending on setting of switch between applications every). If you set it to default value of 1 hour, it\'ll run two CPDN WUs for an hour, will suspend one CPDN WU and start(resume) a S@H WU and run it for an hour. In two hours CPDN will accumulate 180 minutes of CPU time and S@H will accumulate 60 minutes of CPU time. With ratio of 3:1 rather than desired 2:1 it will continue to run S@H WU for another hour when accumulated CPU time ratio will be 2:1 (240 minutes vs. 120 minutes). At this point it might decide to run the same setup for another hour thus reaching ratio of 5:3 (vs. desired 6:3) at which point it would suspend S@H WU and resume (the previously suspended) CPDN WU.

As you can see from above it really doesn\'t make any sense to suspend one CPDN WU to run the other CPDN WU - resource shares are observed on per project basis and application switching normally only occurs to stick to resource shares division.

In event of the other CPDN WU starting to get late (deadline is getting close), then the whole BOINC client will enter Earliest Deadline First mode. I\'m not entirely sure about behaviour of BOINC CC in this mode as it differs between major versions of BOINC significantly. My observation about recent versions is the following: BOINC will temporarily disobey settings about resource shares and will run WUs (from any project) with shortest deadlines. It will continue to do so until it decides that matching a deadline is no longer in danger. It will also suspend work fetch until in EDF.

In case of mixing S@H and CPDN with S@H deadlines much shorter than those of CPDN it means that if CPDN WU gets into danger of missing deadline, it\'ll first run down S@H WU cache and when S@H WUs are done, it\'ll run CPDN exclusively. At first sight it\'s a bit counter intuitive, but makes sense: if it suspended all S@H WUs and run CPDN for a week, all S@H WUs would also start to get late ...

To summarize: you don\'t need to suspend one CPDN WU in order to get the other some CPU time. CPDN scheduler won\'t panic about it for a couple of months. Your \'first\' CPDN WU will probably get done well before that. If BOINC on your machine doesn\'t get enough CPU cycles, it\'ll get into EDF and will stop fetching new S@H work for a while and will concentrate on CPDN - and will almost certainly get itself out of troubles without your care about it.

[edit] Can\'t tipe [/edit]

Metod ...
ID: 30146 · Report as offensive     Reply Quote
ProfileKeck_Komputers
Avatar

Send message
Joined: 5 Aug 04
Posts: 426
Credit: 2,426,069
RAC: 0
Message 30147 - Posted: 23 Aug 2007, 8:01:39 UTC

Metod\'s answer is correct, however he overlooked a reason for suspending one of the models. If the CPDN server does not hear from a model for about 4 to 6 weeks it may reissue it. Suspending the running model once a month should prevent this.
BOINC WIKI

BOINCing since 2002/12/8
ID: 30147 · Report as offensive     Reply Quote
Les Bayliss
Volunteer moderator

Send message
Joined: 5 Sep 04
Posts: 7629
Credit: 24,240,330
RAC: 0
Message 30149 - Posted: 23 Aug 2007, 8:14:53 UTC


Another thing to keep in mind, is the concept of SPARE cpu clock cycles.
If you run a computer for, say, 8 hours a day, but use it during ALL of that time for something like video editing, and then turn off the computer, BOINC may only have gotten a minute or so to run it\'s science apps while you where setting up the other program.

With this usage, you\'d need to leave the computer running for several hours extra WITHOUT using it at all, to get some project work done.


Backups: Here
ID: 30149 · Report as offensive     Reply Quote

Message boards : Number crunching : Forced download

©2024 cpdn.org