Thread 'Changing "Get Work" Projects'

Message boards : BOINC client : Changing "Get Work" Projects
Message board moderation

To post messages, you must log in.

AuthorMessage
MikeToth1001
Avatar

Send message
Joined: 23 Dec 06
Posts: 14
United States
Message 7350 - Posted: 8 Jan 2007, 23:48:45 UTC

OK. I want to automate some things, as some PCs are hard for me to get to on a daily/weekly basis.

After I ensure that the PCs can get work from a project, and successfully complete the work, I would like to set something up with either Windows Scheduling or CRON so that on a weekly basis, BOINC stops getting work from one project, and starts getting work from another project.

This wouldn't suspend/detach/reset the project. Any work still being crunched would still complete. But, in case I'm not making myself clear:

Lets say I'm attached to 4 projects. The PC has 1 CPU, and they all have different deadlines, so sometimes the shorter deadlines preempt the longer ones, which ends up crunching less than if they just had free run of the PC for the entire week. So, on Week 1, I crunch for project A. Week 2 I crunch for project B. Week 3 I crunch for project C. And week 4 I crunch for project D.

This should use the resources a bit more efficient, as no swapping/preempting of projects. The PC can crunch straight through the WUs.

So, is there some file that controls the getting of work in BOINC? One that I can edit and have different copies of for whatever scenario I need for that PC?

AdvTHANKSance

BTW. I didn't know if I should have put this in the core client, or the manager forum. Sorry if I posted in the wrong forum.
ID: 7350 · Report as offensive
Keck_Komputers
Avatar

Send message
Joined: 29 Aug 05
Posts: 304
United States
Message 7351 - Posted: 9 Jan 2007, 3:08:32 UTC

You should be able to do this using the boinccmd program, it should have arguments that turn on and off work fetch for individual projects.

However you will probably be better off just letting BOINC control the work fetch, especially if the hosts have constant internet connections. If a project goes down at the wrong time you could end up with idle hosts if that is the only project allowed to fetch work, the BOINC scheduler will just change the order projects are contacted in that case.

If you update to 5.8.x as soon as it is released it will be more efficient. That version tries to switch at checkpoints so no CPU time is lost to the switch.
BOINC WIKI

BOINCing since 2002/12/8
ID: 7351 · Report as offensive
MikeToth1001
Avatar

Send message
Joined: 23 Dec 06
Posts: 14
United States
Message 7383 - Posted: 10 Jan 2007, 19:26:10 UTC

OK. I looked, and found the params for boinccmd.exe. My question is the "--project URL" param. What would go there, and where do you find it? Is it the URL you use to attach to the project? And, if it uses a non-standard port, seperated with the ":" character, how do you specify that.

BTW. The boinccmd.exe program will work just fine for my needs. Seems that you can turn on or off a single project, even if you're attached to 10+ projects, which is what I needed.

And, I have a backup project for all my single CPU machines, just in case. SMP machines, normally, run multiple projects. So, running out of work wouldn't be a concern.

Thanks for the reply, Keck.
ID: 7383 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15588
Netherlands
Message 7389 - Posted: 11 Jan 2007, 0:55:56 UTC - in response to Message 7383.  

OK. I looked, and found the params for boinccmd.exe. My question is the "--project URL" param. What would go there, and where do you find it? Is it the URL you use to attach to the project?

Yes, it's the project's URL you use, the same that you attach with.

Example given: boinccmd --http://setiathome.berkeley.edu detach

And, if it uses a non-standard port, seperated with the ":" character, how do you specify that.

I think with the --set_proxy_settings switch. No colons used.

Otherwise the port is still 80 or 443 for internet use (standard port and https port).
ID: 7389 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15588
Netherlands
Message 7433 - Posted: 12 Jan 2007, 13:10:50 UTC - in response to Message 7432.  

Does not seem to be elegant. If the command does what it suggests -detach, than would any work still in the buffer or not reported, not get lost? Rather would have liked a -suspend type command.

I gave it as an example.

http://boinc.berkeley.edu/boinc_cmd.php shows all the possible commands.
Now about using the colon or not to set the port on the proxy settings, I am not sure. I'll leave that to someone else to explain, or until I've spoken to Rom. ;)
ID: 7433 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15588
Netherlands
Message 7442 - Posted: 13 Jan 2007, 0:39:35 UTC

As I suspected, the command doesn't need a colon to set a port on the proxy server.

--set_proxy_settings http_server_name http_server_port http_user_name http_user_passwd socks_server_name socks_server_port socks_version socks5_user_name socks5_user_passwd

Meaning --set_proxy_settings http://servername 4023
This sets the proxy server at its http address and the port number it uses.

ID: 7442 · Report as offensive
Pepo
Avatar

Send message
Joined: 3 Apr 06
Posts: 547
Slovakia
Message 7462 - Posted: 14 Jan 2007, 1:07:31 UTC

Mike, if your primary concern is to "use the resources a bit more efficient, as no swapping/preempting of projects", and would not necessarily need the "switching on a daily/weekly basis", you could simply set the "Switch between applications every" preference to say twice the longest observed crunch time on your PC. This way Boinc should mostly let one app crunch it's WU until finished, then decide what to do next. (Except maybe when some project with small resource share gets a WU with very short deadline and could preemp a running one.)

I did never try out this scenario, but already suggested it multiple times. Would you mind trying it and letting know? ;-)

Peter
ID: 7462 · Report as offensive
MikeToth1001
Avatar

Send message
Joined: 23 Dec 06
Posts: 14
United States
Message 7478 - Posted: 14 Jan 2007, 16:39:27 UTC

That's one of the reasons. I like some projects, but to put it bluntly, their checkpointing really sucks. I can be crunching for a couple hours, and something with a short deadline comes in, and pre-empts the already running WU. When it goes back, I'm at a much lower percentage, and have to re-crunch what I already crunched. (I won't say here which ones, but most people can guess.)

So, I want to make a few boxes that will be able to do their jobs with minimal micro-managing from me, allow me to put time into these projects, and minimize the problems with checkpointing, or lack thereof. I also need to make sure I can do the exact thing on both Windows and Linux.

The idea about doing the nomorework portion is that after a week/month/whatever of crunching on one project, when you switch to another project, the first one should be down far enough that the new work won't prempt the first work. So, the first one finishes, and smoothly flows to the next project. Only problem would be if something happens and you get slammed with work from the second one, and go into EDF mode. I don't see that happening too often, so those times it does can just be chalked up to a random "ooppss".

I've also had a problem with some projects crashing, and not cleaning out the "slot" folders, and I'll have to look into a script I can run to do that. This seems to be why you might find a SETI result in a BURP result, Einstein in a PrimeGrid, etc.

And the part about switching between apps every so often. I already have most of my machines switching every 4 to 5 hours. Problem is, some WUs are so different in times that they can be between a couple of minutes to almost a day. So for me, this way seems to cover all my bases, gives me the ability to put a good amount of time into some projects with "problems", and gives me my SMP machines to do other work that comes in infrequently, and does need a bit of micro-management.

I know I would have to choose a simple project that has a relatively long deadline. I was looking at XtremeLab as a backup project, and setting the resource share to 1. (Which, isn't that the actual idea behind it. To show the extra, unused CPU time not used by other BOINC projects?) But, I wonder if I shouldn't choose another project. Maybe something long, like the CPDN or BBC WU. That way, even if I pass over the deadline, it really doesn't matter as they still accept it.

BTW. If I didn't make it clear before. These would be on single CPU PCs, with no HT. I want my SMP machies crunching other projects that do play nicely with others, and can run multiple projects. They also can grab work from some of the alpha and beta projects that have work whenever.
ID: 7478 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 7642 - Posted: 20 Jan 2007, 22:42:23 UTC - in response to Message 7462.  

Mike, if your primary concern is to "use the resources a bit more efficient, as no swapping/preempting of projects", and would not necessarily need the "switching on a daily/weekly basis", you could simply set the "Switch between applications every" preference to say twice the longest observed crunch time on your PC. This way Boinc should mostly let one app crunch it's WU until finished, then decide what to do next. (Except maybe when some project with small resource share gets a WU with very short deadline and could preemp a running one.)

I did never try out this scenario, but already suggested it multiple times. Would you mind trying it and letting know? ;-)

Peter

I recently read on the mailing lists that "Switch between applications every" preference was candidate for being removed.
ID: 7642 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15588
Netherlands
Message 7647 - Posted: 21 Jan 2007, 0:08:37 UTC - in response to Message 7642.  

I recently read on the mailing lists that "Switch between applications every" preference was candidate for being removed.

I wrote that... but it wasn't a request to remove it, just a question if it was still needed. :)
ID: 7647 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 7662 - Posted: 21 Jan 2007, 2:14:27 UTC - in response to Message 7647.  

I recently read on the mailing lists that "Switch between applications every" preference was candidate for being removed.

I wrote that... but it wasn't a request to remove it, just a question if it was still needed. :)

I think it should be kept (users like tweaking it, keep users happy), but the minimum maybe needs increasing. I have seen users setting it to 10 minutes, which would mean a lot of wasted time if he also uses "leave applications in memory: no".

@Miketoth: see if setting it to 1440 minutes or more works, and if it is similar to what you wanted.
ID: 7662 · Report as offensive
Keck_Komputers
Avatar

Send message
Joined: 29 Aug 05
Posts: 304
United States
Message 7690 - Posted: 21 Jan 2007, 21:36:05 UTC - in response to Message 7662.  

I think it should be kept (users like tweaking it, keep users happy), but the minimum maybe needs increasing. I have seen users setting it to 10 minutes, which would mean a lot of wasted time if he also uses "leave applications in memory: no".

@Miketoth: see if setting it to 1440 minutes or more works, and if it is similar to what you wanted.

You missed why it was a candidate for removal. The new scheduler generally only swithes at a checkpoint. So even if the switch time is set to 1 and apps are not left in memory there is still less wasted time than with the current client.
BOINC WIKI

BOINCing since 2002/12/8
ID: 7690 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 7692 - Posted: 21 Jan 2007, 22:42:59 UTC

The switch setting doesn't actually cause Boinc to change WU. It only tells Boinc how often to recalculate if it should switch jobs to maintain resource shares or verify if other WU needs the time to meet its due date. It wait for the next checkpoint to do this. This calculation is also done after a WU is completed, uploaded or downloaded. Personally I set it to 2.5 hrs so that the majority of my WUs are not interrupted before it is completed.

Boinc V 7.4.36
Win7 i5 3.33G 4GB NVidia 470
ID: 7692 · Report as offensive

Message boards : BOINC client : Changing "Get Work" Projects

Copyright © 2025 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.