Why not use whole numbers instead of % for multiprocessor usage?

Message boards : BOINC client : Why not use whole numbers instead of % for multiprocessor usage?
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
robsmith
Volunteer tester
Help desk expert

Send message
Joined: 25 May 09
Posts: 1207
United Kingdom
Message 98585 - Posted: 17 May 2020, 19:19:50 UTC

You can say "92%" or "91" rather than working out the exact n-decimal place figure.
Also "use 50% is portable between any number of cores greater than one, where as "use 12 cores" is only applicable to CPU with 12 cores or greater.
ID: 98585 · Report as offensive
robsmith
Volunteer tester
Help desk expert

Send message
Joined: 25 May 09
Posts: 1207
United Kingdom
Message 98606 - Posted: 18 May 2020, 9:00:28 UTC

Just join the BOINC dev team and start asking your questions there. Or you could go ahead and cut your own version of the BOINC client and interface that work exactly as you want.
ID: 98606 · Report as offensive
ProDigit

Send message
Joined: 8 Nov 19
Posts: 713
United States
Message 98614 - Posted: 18 May 2020, 17:50:28 UTC

Just test it out?
Set it to 99%, and one core goes passive.
I don't think it's a process you want to do many times over.
Once your initial setup is completed, you probably want to keep it running in that state?
ID: 98614 · Report as offensive
Les Bayliss
Help desk expert

Send message
Joined: 25 Nov 05
Posts: 1654
Australia
Message 98619 - Posted: 18 May 2020, 21:43:00 UTC

This matter, about percentage or a number, has been discussed several times over the years.
The developers have settled on percentage, so that's it.
Unless you want to join them and argue differently on their web site.
ID: 98619 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15176
Netherlands
Message 98620 - Posted: 18 May 2020, 22:24:23 UTC

https://github.com/BOINC/boinc/issues/2695:
% is future-proof, # is not

ID: 98620 · Report as offensive
robsmith
Volunteer tester
Help desk expert

Send message
Joined: 25 May 09
Posts: 1207
United Kingdom
Message 98634 - Posted: 19 May 2020, 7:06:16 UTC

Most people don't worry as much as you do - they build a system, set a figure that works for them and carry on with daily life.
ID: 98634 · Report as offensive
Profile Dave
Help desk expert

Send message
Joined: 28 Jun 10
Posts: 2000
United Kingdom
Message 98636 - Posted: 19 May 2020, 11:42:20 UTC - in response to Message 98621.  

This matter, about percentage or a number, has been discussed several times over the years.
The developers have settled on percentage, so that's it.


Doesn't surprise me, considering how many other nonsensical things Boinc does.

Unless you want to join them and argue differently on their web site.


This IS the Boinc website. I selected "Software development and testing", "Boinc client". Sounds like the place to me.
...


However, you may or may not convince people here about a number being better than a percentage but even if you do, it won't make any difference. On the developers' website you have a chance to possibly convince the people who can change it or perhaps give you a better reason why it isn't likely to be changed.
ID: 98636 · Report as offensive
robsmith
Volunteer tester
Help desk expert

Send message
Joined: 25 May 09
Posts: 1207
United Kingdom
Message 98643 - Posted: 19 May 2020, 15:49:16 UTC

And, as has been said, you can go ahead and do your bit of development - BOINC is open source, but if you feel that is a bit beyond either your knowledge or available tools then here are a few simple guidelines on how to make a request for a feature change:

Don't frame a request for a modification in such a ways as it looks like a complaint (unless it is a REAL bug that needs to b sorted out)
Make it very clear that you have an idea for the future direction
Explain exactly what your idea is, and how it is "better" for the BOINC user base as a whole
Consider whether the proposed feature change is highly project specific, or applies across a wide range of projects.
Make sure your idea is not covered by an "open issue" at GitHub (Jord has already provided a link to where your current idea was last discussed - here's a link to the list of issues that have been considered https://github.com/BOINC/boinc/issues - split into two major groups, "open" & "closed")
Join the BOINC GitHub community, where you will have more direct access to the developers.
Don't whine when someone explains that your "new idea" is actually one that was tried some time ago and has ben rejected, or that what you are asking for is contrary to the chosen development path - neither of these will endear you to the developers.
ID: 98643 · Report as offensive
Ian&Steve C.

Send message
Joined: 24 Dec 19
Posts: 226
United States
Message 98645 - Posted: 19 May 2020, 16:19:42 UTC

you could also just set your system to use 95/99/100% of the CPU in global compute preferences, then use a <project_max_concurrent> statement in each projects to fine tune the core use in a number more reflective of number of cores used.

for simplicity's sake, say you have a 24 thread system and you want to use 17 cores on Einstein. set your compute preferences to a high percentage, then set <project_max_concurrent>17</project_max_concurrent> in your app_config.xml file in the Einstein project folder. running multiple projects you should set them so that the SUM of them will be the number of total cores used, up to your global limit % set in the compute preferences. So say you have 2 projects running. and you still want 17 total threads, set one project (einstein) to 10 and another project (milkyway) to 7, or whatever ratio combination you desire.

keep in mind this method is not flexible. you will not expand work from one project into another this way. in the above example, if einstein were to go offline, you would only be running 7 WUs of milkyway.
ID: 98645 · Report as offensive
ProDigit

Send message
Joined: 8 Nov 19
Posts: 713
United States
Message 98650 - Posted: 19 May 2020, 17:30:56 UTC
Last modified: 19 May 2020, 17:32:58 UTC

to be fair,
It's really not that hard to build in a converter in BoincMGR, to convert % back to CPU cores.
It can fit in like like what, a 10 line code?
One can write a calculator or app for it in Python, or even Excel.

With the data CPU = x cores, and percentage = %, it's easy to create a slider showing the # of cores or threads.
if CPU = 16 cores, 100% utilization = 16 cores.
If CPU is 340 cores, 100% utilization is 340 cores.
The slider instead of showing % can easily convert the % to the amount of CPU cores.

Talking about % is future proof; it is not!
Not when cores > 100.
Unless one can increase in 0.1%, and even then we'll be good until CPU cores reach 1000.

Considering the way technology has gone with GPUs (15-20 years ago, 5 GPU cores/shaders, 10 years ago 12, 6 years ago 384, 3 years ago 1920, today 4,5K, and by the end of the year we'll see 5,5+k cores; I think it's entirely possible for CPUs to start utilizing a few fixed X86 cores, and add to that several ARM cores, reaching in the hundred of cores.
Today our desktop CPUs went from 8 threads a year ago, to 16 threads.
And next year, current threadripper will be in our desktops (32c/64t).
I think 100 cores aren't very far off...

I would recommend Peter to either wait for the 100 core CPU, which we'll probably get in the next 4 to 5 years, for easy % calculation,
Or to suggest the idea to the devs to implement a % to core converter built in the MGR.
It's really not that hard.
All the MGR needs to know is an accurate count of the #of threads the CPU has.
It can still use the % counter, but underneath show core count.
ID: 98650 · Report as offensive
1 · 2 · Next

Message boards : BOINC client : Why not use whole numbers instead of % for multiprocessor usage?

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