CPU Usage |
![]() |
| log in |
Questions and Answers : Wish list : CPU Usage
| Author | Message |
|---|---|
|
I would like to suggest a performance option that allows to select what amount of power will be taken from what core. 25% * 15% = 3.75% of all my CPU power. Now with this settings in 15% of times my CPU usage boosts up to 25%, making other work what I'm doing not smooth (harder to finish). Now with possibility of constant control over the CPU usage, I would set first CPU to 0%, second, third and fourth CPUs to 13.3% and life time 100% . In result program takes ( (13.3% / 4) + (13.3% / 4) + (13.3% / 4) + (0.0% / 4) ) * 100% = 9.975% of all my CPU power. This is a good setting, cause my other work on the computer becomes more smooth than it was before (cause CPU usage is constant, stable and not too high), and I allow BIONIC to do more work (9.975% > 3.75%). This is good not only for 4 cores, but for any amount of them, cause you wont have to limit BIONICs time of work, in order to allow yourself to actually do something on PC in short period of time. Like I said, this allows users to set properties what will actually fit them most, making CPU usage more constant, stable and not too high. And in the same time, most probably it also will allow BIONIC to use more power. In result it's better for everyone. :) So what do you think? | |
| ID: 1046192 · | |
|
It's BOINC, it stands for Berkeley Open Initiative for Network Computing. | |
| ID: 1046215 · | |
|
One more addition to the suggestion would be... Take a look at this image. Now let me explain. First of all computer has only 1 processor what, and BOINC is allowed to take 12.5% of it's power. Next number is maximum allowed processor work with BOINC - for example 60.0% . For example if user runs a program what takes 53% of CPU, than BOINC will be allowed to use only 60.0% - 53% = 7% Of CPU. If CPU usage without BOINC goes above 60.0%, than BOINC and its tasks are automatically paused. And same stuff for when computer is in idle state. I am suggesting this features, cause I noticed that when in idle state, BOINC takes massive amount of power - temperature on my computers mini-screen goes up to 79°C (that's 174°F). And that is above critical (65°C = 149°F). Ow, and also a button in BOINC that will set the application in idle state and resume it for 10 seconds no mater what (after wards go back in normal state when mouse movement/keyboard input is detected). This will be useful for test purposes and in case if user knows that he will go away, so why not allow BOINC to work harder from now on. // EDIT:
Ok, sorry, am new to this program and am telling my opinion on this and that. About explanations - well, all good programs/applications do have tutorials/video guides actually... After each hard function check CPU usage. And in case if it goes above limits pause the application until CPU usage becomes available... All I see is a need to create a function what gets current CPU usage of all applications and only BOINC application, and do static bool bPaused if( (TOTAL_ALLOWED_CPU-TOTAL_CURRENT_CPU)<BOINC_CURRENT_CPU || BOINC_CURRENT_CPU>=BOINC_ALLOWED_CPU ) { bPaused = true; func_pause_the_app(); } else if( bPaused ) { bPaused = false; func_unpause_the_app(); } Well... The math part looks easy, and I know that it's possible to get total CPU of any core and current CPU usage of current program for every core for all Win/Linux/Mac. Ok, than a function "Set for all" on the first core, and "Use classic properties"/"Use advanced properties" in the page what will change the page. Also I can't imagine anyone having 128 cores on a single computer. If I'm right best processor in the world is Intel® Core™ Xeon (if I got that name right) what costs 25.000$ (or euros - don't remember) and is used for servers in big companies. And that one only has 4 cores of about 2GHz (but they are created differently, therefor are actually much faster - about 2-3-4 times the usual speed). Now a processor with 128 cores... Not only that it should cost about 800 grand, but it also sounds impossible for it to have a size less than a car and even exist. If I'm wrong, and a processor with 128 cores does exist, than sorry... But I am talking now about nothing more than this 4 tables what show me how hard my computer works. And the part where you said "BOINC being a one source" - I didn't really understand what you had in mind? A single-core computer will not support the program? Also it seems that you'r being a bit offensive here on me. That usually happens when people had a hard day, and/or they don't like changes even if they'r good, and/or when they know that I'm right, but are too lazy to do anything about it (admin/developer/moderator/high-face-in-the-project case scenario). Cause of points what you told and the way you presented them I prefer to think that it's second and/or third case scenario. | |
| ID: 1046216 · | |
And the part where you said "BOINC being a one source" - I didn't really understand what you had in mind? A single-core computer will not support the program? No, BOINC is open source. You can download its source and compile it yourself. You can add to the source, take out of the source, then recompile it. Etc. etc. And this you can do for Windows, Linux, Mac OS X, FreeBSD and whatever other (obscure) platform you can think of, with the exact same source code (specific porting changes not included in the example). Thus, anything you add to the code needs to be able to run on any of the platforms (operating systems) out there without it relying on any application programming interface (API) specialized towards one platform (OS) only. Which in the case of tampering with how you add specifics on how many CPUs you want to run and how much CPU time you want to give each CPU is quite easily done, when for instance you're programming for Windows, but not that easily done for (all the different distros of) Linux. Is all I wanted to convey. And whether or not you wanted that be told with flowers surrounding the text, or with lightning bolts, is all your choice. it's merely text, there wasn't any emotion given to it; so it's all in the eye of the beholder reading (things into) it. Oh and PS: Even with all that in there, you're posting it on the wrong forums. These are the Seti forums, with the Seti Wish List. Seti doesn't make any changes to BOINC. The BOINC developers don't read all project forums out there, as then they'd have a day job trying to get all that information in. There's a shortcut though, it's called the BOINC forums, where --after you registered for an account-- you can leave specific things like that. Where then I (yes, I will be there as well) or someone else can point out to the BOINC developers that 'hey, this may be something to look into'. The BOINC developers do have an account on those forums, and this way you don't make them register for all other projects out there and read them... ____________ Jord - BOINC FAQ Service - BOINC User Wiki Real is just a matter of perception. | |
| ID: 1046237 · | |
|
The problem(s) with your suggestion are as follows: | |
| ID: 1046238 · | |
Well, as I know there are/should be functions to determine what system the program is running on. Ok, than I apologize. But just so you'd know, it wasn't quite pleasant reading though some of the parts. In anyway I'm glad it was a simply misunderstanding. And thanks for directing me to the right forum. However I'm still new to this, so I would like to ask in what section I should post this kind of a thread? Also pure interest/curiosity - so you would agree with the idea or no? It's just that this situation didn't really actually made me understand what you personally are looking towards. ---
1. If I'm right, a good coding language must have a function what tells what system program is running on. And based on the return of the function, coders should be able to code differently for each OS. 2. Well yes, that's why my second post includes an additional suggestion what in function I can describe as "Apply to all", and access to "Classic" and "Advance" properties panel, if I can call it so that is. But you got the point. I also must say that I don't fully understand the multi-processor explanation what you are giving. I am talking about number of CPUs (in the image there's 4 of them). My question would be, is this the same thing as core/processor what you are talking about? 3. Well, that's why I am also suggested the "Classic" and "Advanced" buttons in my second post, what will and do make the program much more user-friendly. The point that at the moment BOINC is using all power of a single CPU and not taking only a part of it, does scare of more of the users than ability for "Advanced" option would, cause during the time when BOINC is in process now, other work on computer simply becomes unbearable due to CPU boosts. Also I must say that without actually changing settings to 25% of CPUs and use only 15% of the time (now changed it to 25% also), my computer had 79°C (174°F) temperature, what with this rate would burn down the motherboard in 2-3 weeks (maximum a month). So I really must say that the program isn't user-friendly enough. | |
| ID: 1046249 · | |
1. If I'm right, a good coding language must have a function what tells what system program is running on. And based on the return of the function, coders should be able to code differently for each OS. Which is what the programmers are trying to avoid - branches in code for different operating systems. They are trying to remain OS-agnostic without OS-specific branches. 2. Well yes, that's why my second post includes an additional suggestion what in function I can describe as "Apply to all", and access to "Classic" and "Advance" properties panel, if I can call it so that is. But you got the point. As I stated above, that's a lot of extra programming for such a small group of users who would actually use it. You have to figure for every line of code written, there is countless hours of testing, troubleshooting and re-writing before it's considered "finished" code. Can it be done? Sure. But at what cost and what does all that code really help with? I also must say that I don't fully understand the multi-processor explanation what you are giving. I am talking about number of CPUs (in the image there's 4 of them). My question would be, is this the same thing as core/processor what you are talking about? You are using an Intel Core 2 Quad processor. That means you have four cores inside a single chip. Imagine having 8 cores inside a single chip. Now imagine you have a motherboard that can house 4 of these chips, each with 8 cores. Now imagine that each core has Intel's HyperThreading technology, making each core look like two virtual processors. That's a total of 64 logical processors for a single system. Your idea would be very complex on such a system, and far too costly to ensure it works on that many cores. 3. Well, that's why I am also suggested the "Classic" and "Advanced" buttons in my second post, what will and do make the program much more user-friendly. The point that at the moment BOINC is using all power of a single CPU and not taking only a part of it, does scare of more of the users than ability for "Advanced" option would, cause during the time when BOINC is in process now, other work on computer simply becomes unbearable due to CPU boosts. BOINC should never interfere with other work on the machine. Every system I have built or installed BOINC on does not cause performance issues with other software. The only time I can see issues arrising is either when you have too little RAM in the machine causing lots of swapping to the hard drive or if the machine was not properly designed for airflow, or if the machine is not regularly cleaned for dust buildup causing Intel's CPU-throttling function to kick in and slow itself down to prevent overheating. Your issue sounds like the latter. I would argue that this is not something BOINC needs to address but rather the system owner. If the machine is properly maintained, it can run at full throttle and not have any performance issues. It's like running a refridgerator; in order for it to run at peak efficiency, you need to clean it out every once in a while. If the owner doesn't do that, it's not the refridgerator's fault if it starts breaking down. Likewise, it isn't BOINC's fault if the owner doesn't take care of their machine. Also I must say that without actually changing settings to 25% of CPUs and use only 15% of the time (now changed it to 25% also), my computer had 79°C (174°F) temperature, what with this rate would burn down the motherboard in 2-3 weeks (maximum a month). So I really must say that the program isn't user-friendly enough. I see the real problem now. On a system that is built, designed and maintained to proper specifications will not overheat. My main machine is a dual Intel Xeon E5430 (two quad core chips) that runs at 100% (all 8 cores chugging away) and I have no heat issues and no performance issues. I also open my machine(s) every month or so to clean them out, and I do not run my machine(s) in enclosed areas or where they can trap a lot of heat. As I stated above, it isn't BOINC's fault if you aren't providing your machine with regular maintenence or cleaning. If you are overheating, you need to look into what is causing that and fix it. You shouldn't ask the programmers to build in something into the software that will take hours of testing and writing so that the user won't have to maintain their system. I mean, what happens when you have so much dust in your machine that even 15% CPU time is causing too much heat? Will you reduce your CPU time further when 15% was enough at one point? Or will you look into the heat issue and address that yourself? | |
| ID: 1046292 · | |
|
There is already a solution for windows users that have overheating problems. Look into TThrottle. | |
| ID: 1046322 · | |
|
For Tthrottle, check this thread at the BOINC forums. The thread will tell what its change log is and where to download it from. | |
| ID: 1046344 · | |
Questions and Answers : Wish list : CPU Usage
| Copyright © 2013 University of California |