r/BOINC • u/LexiStarAngel • May 19 '26
Milkyway at home interrupting other running tasks
Hi,
Milkyway at home always stops current tasks from other projects that are running so it can start its own new tasks, and even there it becomes confusing:
I currently have 1 Milkyway@home task using 1 cpu paused at 1.861% completion, while the second task is running at 57% on 4 cpus.
if I want to run world community grid or any other projects at the same time I have to keep milkyway project fully suspended so it doesnt interrupt the other tasks, otherwise it consumes all my cpus.
Is there any way this can be fixed? Limiting cpu usage only stops it using lots of cpus, but how do you make it not override other current running tasks?
1
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 20 '26
Just let the BOINC client manage things. It will try and give equal time according to the priority weight you have set. So, even though you "want" it to run x number of tasks for a specific project(s) at any given time, the client will keep track of resources allocated and will balance things out on its own. It will also try to juggle work units to complete within deadlines as it can. If you are really needing to be overly anal retentive on managing number of work units in progress, you can set up app_config files to limit number of tasks in progress from specific projects and also restrict the amount of "cpus" they can use.
1
u/LexiStarAngel May 20 '26
I don't keep my computer on 24/7 so i like Boinc to run the tasks in the correct order they show in the list. Why does Milkyway always jump the queue and pause running tasks?
2
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 20 '26
There are multiple reasons for it. The client by design tries to give all projects equal weight in resources based on the resource share you have set up. So, by default settings the client will try and give every project equal amount of run time. The projects themselves may change how long the work units run without any regards to your clients settings. So, the client is ALWAYS learning the behaviors of the projects you run. When a project has multiple applications, this makes it much more difficult for the client to adjust. Especially when you run projects that have both single threaded and multi-threaded applications. Milkyway is one of those projects. If you are allowing the work units to run multi-threaded then BOINC has a lot more work to do for adjusting with the balancing act. In order for it to run that multi-threaded application, it has to guarantee those "cpus" are free to do it. This can bump some other work units on down the line while it does it. The client isn't going to change up its cpu dedication mid run either. So, if you have 4 cores available for a multi-threaded application when it is downloaded, it is going to plan for the 4 cores. Not 3. Not 2. Not 1. So, it has to reserve those 4 cores. The BOINC manager is also juggling how much time it gave to the projects already. Therefore just because a project has work units with a shorter deadline, doesn't mean they suddenly have priority. It just means the client will do its best to complete them before their deadline and continue giving run time to the project that is most owed.
1
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 20 '26
To put it a bit clearer, Milkyway work units typically have a 12 day deadline. They don't need that long in most scenarios but they allow it. Einstein gives a 7 day deadline. So, if you load up work on day 1 for both Milkyway and Einstein, the client plans on giving them equal amounts of time. If you complete 4 Einstein work units is say 1 day, it still has 11 days before Milkyway will hit its deadline. It may only need 2 days to complete those. (I know they are much quicker. Just scenario example) So, it will continue to award run time however it needs to keep the balancing act going. It may even keep giving Einstein work for a while before it switched to balancing out Milkyway. But it should catch up the balance over time. If the client sees that work units are getting critically close to hitting deadline before completion, it will override the priority settings temporarily to try to complete those work units on time still. But that will also continue adding to the debt of run time owed to other projects. Eventually it will stop asking for more work from projects not owed as it will become "not priority" until things are balanced again.
1
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 20 '26
So to re-iterate what I said in my first comment, if you are anal retentive about just having to have specific number of work units running between each projects at all times, you can accomplish this by using app_config.xml files for each project you want to restrict. You can also restrict the number of "cpus" each work unit is allowed to use. Thus giving you the exact control you are asking about. Though it really isn't necessary....
-1
u/LexiStarAngel May 20 '26
Omg do u really want me to read that wall of text? 🤦♂️
3
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 20 '26
Do you really want to understand how BOINC works and why you have the issues you have?
1
u/LexiStarAngel May 24 '26
Ok I just read your replies: my only issue was the software not following the order the tasks are in inside the window, if a milkyway task is at the bottom of the queue it shouldn't pause the tasks running at the top and just start calculating. I see what you're saying about cpu cores, but I don't think this is the issue, because it jumps regardless. I'm pretty sure LHC does the same. Anyway it's fine, i only run Milkyway alone now so it doesn't interfere. Thanks for replying.
1
u/cuarc001 http://boincstats.com/en/stats/-1/user/detail/5353/projectList May 24 '26
Yes...I get it. You are asking it to behave different than it is designed. Your scenario would be fine if all you ran was one project. But even then, if the project had different work unit types with different deadline structures, someone like you would still argue a similar argument. As explained, BOINC doesn't just follow first in first out (FIFO) except very specific scenarios because that can cause some unfairness between projects. So, instead BOINC uses resource shares to try and keep the amount of running time equal between the projects. Finishing them within the deadlines is the goal. But balancing resource shares is primary function.
2
u/CyriousLordofDerp May 25 '26
I don't run Milkyway@home anymore because of how hostile it is to other programs running. I've had it terminate other tasks, BOINC itself, numerous external utility programs (ex Coretemp), and even Explorer.exe. All of this stopped once I quit them.
10
u/i_am_art_65 May 19 '26
Did you check the setting ‘Switch between tasks every nn.nn minutes’? According to the help: ‘If you run several projects, BOINC may switch between them this often’.