| Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
| World Community Grid Forums
|
| No member browsing this thread |
|
Thread Status: Active Total posts in this thread: 8
|
|
| Author |
|
|
cjslman
Master Cruncher Mexico Joined: Nov 23, 2004 Post Count: 2082 Status: Offline Project Badges:
|
When a cruncher specifies a certain amount of time to be queued up, how does BOINC calculate the amount of work to assign? Specifically, I have the following questions:
----------------------------------------- Does BOINC take into consideration the user's computer history? - Does BOINC know the number of CPU's that the computer has (sorta related to the question above)? Still trying to learn how all this works... hopefully so that my future crunching can be more efficient. Thanks, CJSL |
||
|
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
When a cruncher specifies a certain amount of time to be queued up, how does BOINC calculate the amount of work to assign? Specifically, I have the following questions: - Does BOINC take into consideration the user's computer history? Yes - Does BOINC know the number of CPU's that the computer has (sorta related to the question above)? Yes Still trying to learn how all this works... hopefully so that my future crunching can be more efficient. Thanks, CJSL The manuals/developer documentation/FAQ's/Help is the best place to look for in-depth answers. It's a chore to repeat the repeated [and then make mistakes explaining this]. There's too many but's and if's in the whole client operation. In a nutshell, BOINC looks at many aspects, to include efficiency, allowed time per day, throttling, user activity etc. On bases of that it comes up with factors such as on_frac, active_frac, connected_frac, DCF, stirs this in a pot and computes how much work needs fetching to satisfy such settings as Connect Every and Additional Buffer. The "how much" includes safeties, so the overfetching is as much as possible prevented. If a job runs much longer, then every other cached job [for the grid] is also assumed to run by that factor longer, to again stop work fetching when the sum of all jobs pushes the total over the set limits. Want the gory details, as it seems to change with every major release, then set aside a few weeks of reading and months of close-up observing, then run HCMD2 for a while and you'll see the reverberations of what can happen with a cache of say 3 days, with running just 1 science. Enjoy the studies :D --//-- [Edit 1 times, last edit by Former Member at Jan 20, 2012 1:54:40 PM] |
||
|
|
mikey
Veteran Cruncher Joined: May 10, 2009 Post Count: 826 Status: Offline Project Badges:
|
When a cruncher specifies a certain amount of time to be queued up, how does BOINC calculate the amount of work to assign? Specifically, I have the following questions: - Does BOINC take into consideration the user's computer history? - Does BOINC know the number of CPU's that the computer has (sorta related to the question above)? Still trying to learn how all this works... hopefully so that my future crunching can be more efficient. Thanks, CJSL As SekeRob said it is a VERY complicated formula that is STILL evolving with each new release of Boinc. Throw in the fact that instead of just cpu's people are now able to use their gpu's too to crunch with and the potential problems can skyrocket! VERY basically...you choose the amount of time you want to cache units on your pc, meaning you don't have to download a new unit every time you finish the current unit, and then Boinc tries to maintain that amount of work on your pc. Boinc will only get new work when it is almost out of the work it currently has cached on your pc. This does two things, it keeps the Server connections to a minimum, we users are many while they only have so many ports for us to connect to, and 2nd it keeps our pc's busy even when the Server has a hiccup and runs out of work or is down for a limited amount of time. I would guess that MOST people with cable type internet connections try to keep a smaller cache, while those with other types of connections tend to have a larger cache. My personal cache is about 1 day but I do extend it when a project has a planned outage coming up, just so my pc's can keep crunching. Too long of a cache though can cause its own problems because each unit has a deadline and if you miss the deadline you probably will NOT get credit for the unit. In that case it is better to abort the unit and just get a fresh one from the Server, the Server will just resend your uncrunched unit out to another pc. ![]() ![]() |
||
|
|
cjslman
Master Cruncher Mexico Joined: Nov 23, 2004 Post Count: 2082 Status: Offline Project Badges:
|
Thanks Sekerob and Mikey for the enlightenment. I generally keep a queue between half and one day, so I really never had any reason to question how BOINC assigned work. With the rain of DDDT2, I ventured into a whole lot of stuff (high priority, waiting to run) which I'm still trying to wade through and that triggered my curiosity as to how BOINC worked.
----------------------------------------Thanks again, CJSL |
||
|
|
mikey
Veteran Cruncher Joined: May 10, 2009 Post Count: 826 Status: Offline Project Badges:
|
Thanks Sekerob and Mikey for the enlightenment. I generally keep a queue between half and one day, so I really never had any reason to question how BOINC assigned work. With the rain of DDDT2, I ventured into a whole lot of stuff (high priority, waiting to run) which I'm still trying to wade through and that triggered my curiosity as to how BOINC worked. Thanks again, CJSL Part of the 'high priority' crunching is that you probably run other Boinc projects too, causing an abundance of work that Boinc thinks it can't finish before the individual workunit deadlines. If this is true you should consider aborting some of the units, if it isn't then Boinc WILL figure it out eventually, although it can take a while. Although Boinc has been around a LONG time it is still not very good at some things, which is why there are always new versions coming out. Some of those work well, some don't, which is why WCG 'certified' a version that works for it. In actuality MOST versions will work with WCG, some just MUCH better than others. IF you ONLY crunch for WCG stick with the 'certified' version, if you do venture out into other projects it is what it is. ![]() ![]() |
||
|
|
cjslman
Master Cruncher Mexico Joined: Nov 23, 2004 Post Count: 2082 Status: Offline Project Badges:
|
Mikey... thanks for the info. I'm only crunching WCG with the installed BOINC client (6.10.58). I have suspended some WUs and I'm baby sitting them as best as possible. The moment I calculate that I'm not going to be able to finish a WU on time, I'll abort it. So far, I have been able to get rid of the "high priority" WUs (by suspending) and everything is crunching as expected. Hopefully I won't loose to many WUs and can make it to bronze.
----------------------------------------CJSL |
||
|
|
Falconet
Master Cruncher Portugal Joined: Mar 9, 2009 Post Count: 3315 Status: Offline Project Badges:
|
Mikey... thanks for the info. I'm only crunching WCG with the installed BOINC client (6.10.58). I have suspended some WUs and I'm baby sitting them as best as possible. The moment I calculate that I'm not going to be able to finish a WU on time, I'll abort it. So far, I have been able to get rid of the "high priority" WUs (by suspending) and everything is crunching as expected. Hopefully I won't loose to many WUs and can make it to bronze. CJSL Don't abort. My machine runs at high priority all the time and won't miss a deadline unless it's turned of. Unless a task's deadline is a few hours away and at very low percentage complete, don't abort any tasks. Also, if it's on high priority, it doesn't mean that the tasks that are being processed won't finish in time but rather the ones that haven't started yet. So lower your cache. ![]() - AMD Ryzen 5 1600AF 6C/12T 3.2 GHz - 85W - AMD Ryzen 5 2500U 4C/8T 2.0 GHz - 28W - AMD Ryzen 7 7730U 8C/16T 3.0 GHz |
||
|
|
cjslman
Master Cruncher Mexico Joined: Nov 23, 2004 Post Count: 2082 Status: Offline Project Badges:
|
Falconet... I've lowered my cache a couple of days ago (when the high priority party started). The problem is that I already have a big cache (and that's why I asked the question of this thread, because it seems that I got TOO much cached). So far, with the suspended WUs, I don't have any high priority WUs and I'm managing the WUs as their due date time comes up. My next due date is tomorrow (Sunday) at aprox 10:30pm (CT). So I'm crunching those WUs that are closest to that date/time. I will try to avoid aborting any WUs if possible... I really need them to get me to the bronze.
----------------------------------------Again, thanks for all the advice. CJSL |
||
|
|
|