How to manage scheduling on dual-core cpus ?

Message boards : BOINC client : How to manage scheduling on dual-core cpus ?
Message board moderation

To post messages, you must log in.

AuthorMessage
Rod Butcher
Avatar

Send message
Joined: 15 Nov 05
Posts: 5
Australia
Message 7202 - Posted: 1 Jan 2007, 2:00:11 UTC
Last modified: 1 Jan 2007, 2:04:56 UTC

I am running Linux on a dual-core AMD Athlon cpu. BOINC 5.4.11 manages to run 2 simultaneous work units quite happily - I set "maximum cpus to use" to 2.
However - I want it run the CPDN climate change experiment (2500 hours) continuously on 1 cpu and all my other BOINC projects to rotate on the other cpu. I haven't been able to achieve this - BOINC always seems to give priority to work units with the earliest expiry date - e.g. if I have work units for other projects with expiry dates 4 days away it will run these on both cpus and not run CPDN at all.
How do I make CPDN reserve 100% of 1 cpu for itself ?
I tried setting its resource share % to 1200, no effect.
ID: 7202 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 7203 - Posted: 1 Jan 2007, 3:13:11 UTC

Essentially there is no way to assign a project to a particular CPU. CPU affinity is not part of the current scheduler. Boinc will not run CPDN exclusively on one core unless the WU is in danger of missing its deadline. If you only run two projects and keep a very small cache, only one WU at the time from the second project (connect time under .1 days) then you might achieve what you want too some degree. This also means you may run out of work for the second CPU should the project go down and a second CPDN WU might get downloaded.

For more information on how Boinc assigns work see Work Scheduler and in particular the section on Goals of the Work Scheduler.


Boinc V 7.4.36
Win7 i5 3.33G 4GB NVidia 470
ID: 7203 · Report as offensive
Profile tekwyzrd
Avatar

Send message
Joined: 5 Jan 06
Posts: 23
United States
Message 7204 - Posted: 1 Jan 2007, 5:14:46 UTC
Last modified: 1 Jan 2007, 5:17:58 UTC

It would be nice to be able to dedicate processors on a per project basis. For months I argued the benefit of being able to run two different projects at once rather than running two of one then two of the other. The standard response I got was "there's no difference". Finally I gave up.

Though many disagree there is a difference. On one computer I observed that seti tasks took approximately 20% less time to run when running seti on one processor and einstein on the other.

Maybe some day they'll implement this feature.
I hope it happens, but I doubt it will.

Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
Douglas Adams (1952 - 2001)
ID: 7204 · Report as offensive
W-K ID 666

Send message
Joined: 30 Dec 05
Posts: 460
United Kingdom
Message 7233 - Posted: 3 Jan 2007, 12:41:44 UTC - in response to Message 7204.  

It would be nice to be able to dedicate processors on a per project basis. For months I argued the benefit of being able to run two different projects at once rather than running two of one then two of the other. The standard response I got was "there's no difference". Finally I gave up.

Though many disagree there is a difference. On one computer I observed that seti tasks took approximately 20% less time to run when running seti on one processor and einstein on the other.

Maybe some day they'll implement this feature.
I hope it happens, but I doubt it will.

Reading the Fix Linux Benchmark thread, it would appear if you get WCG interested it might happen.
And I totally agree with you about the Seti/Einstein dual cpu performance. If projects are up and there is no overdue debts then I found running very low 'connect to network' setting works.

Andy
ID: 7233 · Report as offensive

Message boards : BOINC client : How to manage scheduling on dual-core cpus ?

Copyright © 2024 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.