Posts by Memto

1) Message boards : BOINC client : Feature requests: tweaks that will make tasks run more smoothly in multi-core machines (Message 37127)
Posted 9 Mar 2011 by Memto
Post:
Well, using third party applications (like the ThreadMasterGUI) Sekerob is using will always be an option. However, one should not be needing such things if BOINC is to be "complete" in some way.

I still feel that there has not been a compelling argument as to why this idea is not worth implementing. Even if some people somewhere will not be reaping benefits from this feature, some other people will. Also I feel that it is simply good practice to try to be as "polite" as possible when your code is running in a multi-tasking environment.
One more argument: Scheduling is necessarily a cooperative effort between the applications and the OS. One cannot expect that the OS is capable of doing it in isolation, without input from applications. Similarly, because how arbitrary the applications that will be running in the system are, we cannot expect that all applications are going to just "play nice" and initiate a context switch themselves.
2) Message boards : BOINC client : Feature requests: tweaks that will make tasks run more smoothly in multi-core machines (Message 36998)
Posted 24 Feb 2011 by Memto
Post:
The project that mainly causes slowdowns for me has uncommonly high disk usage, even during computation, not only at startup. I'm guessing that several threads trying to access the disk at the same time might contribute to the delays. If the threads were sleeping at different times, their disk access should also happen at different times.

You are right about the goal being using excess computing power, not all of it. Obviously people will find preferences that do not hinder their normal usage. However, I believe that this feature would allow people to dedicate more processor time to their projects before they find it hindering the performance of their system.
3) Message boards : BOINC client : Feature requests: tweaks that will make tasks run more smoothly in multi-core machines (Message 36995)
Posted 24 Feb 2011 by Memto
Post:
To me this is an entirely different matter. I did do some searching, you know, and only then decided to post. I'm not proposing that some % of the cores to be constantly not in use. I am saying that we should use the cores in a more sensible manner that should have a lesser effect on the overall usability of the system. We should do this even if we never get the other feature. Having one core constantly idle would probably achieve a similar improvement on the response time, but for most systems it would be an overkill and a waste of CPU power.
4) Message boards : BOINC client : Feature requests: tweaks that will make tasks run more smoothly in multi-core machines (Message 36961)
Posted 22 Feb 2011 by Memto
Post:
First of all, I'm sorry if this has been implemented already in a newer version (i'm using BOINC 6.10.58). This is also probably platform dependent, for example i hear that the scheduler in Linux is better than the Windows one. I'm using Windows 7, so please read this with that in mind.

I'm suggesting that the tasks in a multi-core machine would sleep at different times instead of all at the same time. This means that it is much more probable that there is one CPU immediately available to process UI events, network communications, media playback or whatever the user is doing with their computer. These things generally do not require much processing power, but when they do need it, they need it right away. If those processes don't receive time then, the media that is playing stutters or the UI seems sluggish. Response time is crucial. To the average user a slow response means that the background computation is making the computer slow, so preferences get adjusted accordingly. To maximize throughput, it is best to be as invisible as possible.

For the same reason, tasks should be started incrementally, not all at once, because a busy hard drive caused by (for example) six tasks loading at the same time produces a really noticeable slow down for the user.

Another way to decrease the impact the computation has on the response time would be to make the busy/idle intervals shorter, or even better, give the user the power to choose an interval that works for his system. A 1s idle phase followed by a 9s busy phase is definitely different from a 0.01s idle phase followed by a 0.09s busy phase, even if both consume 90% of the processing power.




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.