eFMer - BoincTasks and TThrottle forum

TThrottle For Windows => Beta Testing => Topic started by: fred on March 21, 2011, 06:39:35 PM

Title: Testing Version 3.40
Post by: fred on March 21, 2011, 06:39:35 PM
Add: A flag in the tthrottle.xml file to disable the NVIDIA card reading (<nvidia_number_gpu>  0 </nvidia_number_gpu>
Changed: At startup the last visible state (hidden or shown), of the mini temperature window is show.
Changed: When CPU or GPU throttle is <= 2% the list rebuild if 4 times quicker.
Changed: The minimum GPU throttle is now 2%.
Fixed: ati_number_gpu couldn't be set to 0.
Fixed: TThrottle hangs on program list, with details selected.
Fixed: Once in a while a parent PID is invalid and a couple of programs where added as child PID's. (BOINC client mode only).
Title: Re: Testing Version 3.40
Post by: Pepo on March 23, 2011, 07:40:10 PM
From the log: 23 March 2011 - 10:02:31 Ovládač bol správne nainštalovaný. Verzia ovládača: 2.0

Verzia programu:3.40 64Bit
Microsoft  Service Pack 1 (build 7601)

Jazyk: Užívateľ: 1051 SKY, Systém: 1051 SKY [TThrottle_SKY.dll]

nvidia: Nájdených 1 logických zariadení
nvidia: Nájdených 1 fyzických zariadení
nvidia: Teplota 55 °C, max teplota 127 °C

nvidia: GeForce GT 425M

Vendor ID: GenuineIntel
Vendor: INTEL
HighestIntegerValue: 0000000B - Značka Procesora: 00020655
Rôzne info: 04100800
Feature Flags1 029AE3FF
Feature Flags2 BFEBFBFF

Procesor: Intel(R) Core(TM) i5 CPU       M 560  @ 2.67GHz               
Procesor: Family: 6h, Model: 25, Stepping: 5

Teplota jadra: Tjunction upravená na: 105 °C
Procesor: Family: 6h, Model: 25, Stepping: 5
Teplota jadra: 66 °C, Raw dáta: 88270100
882b0100,882b0100,88270100,88270100,88280100,88280100,88280100,88280100,
88280100,88280100,88280100,88280100,88280100,88280100,88280100,88280100,
0123333333333333
Tento procesor má (4) 2 jadrá.

BOINC:
boinc.thesonntags.com_collatz
isaac.ssl.berkeley.edu_alpha
isaac.ssl.berkeley.edu_test
pirates.spy-hill.net
qcn.stanford.edu_sensor
setiathome.berkeley.edu
setiweb.ssl.berkeley.edu_beta
wuprop.boinc-af.org

Môžete pomôcť prečítaním si www.efmer.eu/boinc/faq.html How can I help!
Zvoľte tlačidlo poslať EMail, alebo skopírujte všetko v tomto logovacom okne a pošlite mi to emailom!
boinc[At]efmer[Dot]eu. Tieto informácie používame na zlepšenie tohto produktu.

23 March 2011 - 10:02:32 BT: Accept, Start listening for BoincTasks
23 March 2011 - 10:02:43  Počet zhodných programov (procesov): 3
Cpu: mini_collatz_2.00_windows_x86_64__sse.exe, PID: 8008, Thready: 3
Gpu: qcn_6.50_windows_intelx86__nci.exe, PID: 7868, Thready: 4
Gpu: data_collect_2.41_windows_intelx86__nci.exe, PID: 12040, Thready: 3
---------------------------------------------------------------------------------------------------------------------   1 0 2 0
23 March 2011 - 10:07:38  Počet zhodných programov (procesov): 1
CPU:1, GPU:0, PID:8008 (3) Slot:1 http://boinc.thesonntags.com/collatz/ collatz_2368730704483355175272_103079215104
----------------------------------------------------------------------------------------------------------------------------------------------


Two nCi and 1 CPU tasks are running. So far so good, BUT: the client is now running as a service, TTh 3.40 runs under my unprivileged account, thus has no access to BOINC's sandboxed processes, belonging to boinc_project user. Therefore it is unable to throttle them, but also takes a lot of CPU resources and doing a lot of I/O :

Maybe TTh should be able to recognize such situation (no control access to the processes) and not blindly take that much CPU time...

I've since started TTh as an admin, it was then able to correctly throttle BOINC's sandboxed processes. Just, upon the first exit, TTh crashed (minidump uploaded to the language files' section). Subsequent starts and exits were correct.



Possibly this forthcoming change could handle it:
QuoteChange: Move the throttle over to the driver.
But I can see one challenge with it: any unprivileged user would then be able to throttle any other user's processes... or have you planned some sort of access control or authentication?
Title: Re: Testing Version 3.40
Post by: fred on March 23, 2011, 11:41:37 PM
Quote from: Pepo on March 23, 2011, 07:40:10 PM
Possibly this forthcoming change could handle it:
QuoteChange: Move the throttle over to the driver.
But I can see one challenge with it: any unprivileged user would then be able to throttle any other user's processes... or have you planned some sort of access control or authentication?
With Win 7 the access rights are handled properly, so TThrottle is no longer able to access some processes.
One way would be to add TThrottle to the BOINC admin group.
I will look into this option as this should be fairly easy.

The best way is what I'm planning to do, go driver.
But driver development is a bit tricky and a lot more work.
And you may run into user related programs, but the program can only be installed by an Administrator... and I can't check everything.
Title: Re: Testing Version 3.40
Post by: Pepo on March 24, 2011, 09:32:23 AM
Quote from: fred on March 23, 2011, 11:41:37 PM
With Win 7 the access rights are handled properly, so TThrottle is no longer able to access some processes.
One way would be to add TThrottle to the BOINC admin group.
I will look into this option as this should be fairly easy.
The user which was running TTh already belonged to the boinc_admins group. If something should have helped, then maybe adding him/it to the boinc_projects group? Because the apps are running under the boinc_project account...

[edit]I've tried to add myself also to boinc_projects group, but my TTh process still could not control BOINC tasks' processes. Maybe TTh must make some usage of the privilege?

[edit2] I've just noticed in the Schedule plans:
QuoteAdd: Add TThrottle to the BOINC admin group, to ensure throttling, when the user has no, or not enough access to the BOINC folder.
Note that my user has full access to the BOINC folder! If, then it is not about files, but processes. I think at least.
Title: Re: Testing Version 3.40
Post by: Pepo on March 24, 2011, 11:31:52 AM
I've changed my configuration. BOINC reinstalled back to Compatibility/Private install (thus I can be GPUing as well), removed myself from boinc_projects.

A refreshed taks list: 24 March 2011 - 11:57:27  Počet zhodných programov (procesov): 4
Cpu: mini_collatz_2.00_windows_x86_64__sse.exe, PID: 3664, Thready: 3
Gpu: collatz_2.05_windows_x86_64__cuda31.exe, PID: 13852, Thready: 3
Gpu: qcn_6.50_windows_intelx86__nci.exe, PID: 4704, Thready: 4
Gpu: data_collect_2.41_windows_intelx86__nci.exe, PID: 9568, Thready: 3
---------------------------------------------------------------------------------------------------------------------   1 0 3 0


Now both BOINC processes and tasks and TTh start an me plainuser. TTh is able to actively throttle tasks' processes (by as much as 97%). But when BOINC is snoozed, TTh suddenly takes much CPU time  and does a lot of I/O, much-much more compared to when the tasks run:


I have strong suspects, that TTh does not notice that GPU processes disappear, after BOINC is gone to an "overall snoozed" state and still tries to throttle non-existing GPU process - thus its high CPU usage. Note that this did not happen after entering "snooze GPU" mode first and "snooze all" mode afterwards - see also the lists of matching processes. I also suspect that the same would happen after switching to another user - BOINC must immediately stop the GPU task as well.
Title: Re: Testing Version 3.40
Post by: Pepo on March 24, 2011, 02:54:40 PM
Quote from: Pepo on March 24, 2011, 11:31:52 AM
I have strong suspects, that TTh does not notice that GPU processes disappear, after BOINC is gone to an "overall snoozed" state and still tries to throttle non-existing GPU process - thus its high CPU usage. Note that this did not happen after entering "snooze GPU" mode first and "snooze all" mode afterwards - see also the lists of matching processes. I also suspect that the same would happen after switching to another user - BOINC must immediately stop the GPU task as well.
This all happened on a Win7 x64 + TTh 3.40 + BOINC 6.12.18 Private install, no BT connected.

I could confirm it on other computer (Win7 x64 + TTh 3.40 + BOINC 6.12.18 Private install + BT 1.00):

After snoozing GPU, waiting a bit for TTh to notice it and then snoozing all, everything was fine.

When immediately snoozing all, the GPU task is kept in the list:
Počet zhodných programov (procesov): 6
CPU:1, GPU:0, PID:6900 (3)   Slot:16   http://climateprediction.net/   famous_xtzq_1199_200_007100701
CPU:1, GPU:0, PID:6236 (4)   Child:   famous_um_6.11_windows_intelx86.exe
CPU:1, GPU:0, PID:7460 (3)   Slot:13   http://cpdnbeta.oerc.ox.ac.uk/   famous_v0ia_1799_200_000223519
CPU:1, GPU:0, PID:9436 (4)   Child:   famous_um_6.11_windows_intelx86.exe
CPU:0, GPU:1, PID:17212 (3)   Slot:15   http://setiweb.ssl.berkeley.edu/beta/   06no10ac.20209.67.12.13.30
CPU:1, GPU:0, PID:5752 (3)   Slot:18   http://www.worldcommunitygrid.org/   X0000072700136200608091503
----------------------------------------------------------------------------------------------------------------------------------------------

and TTh suddenly gets very busy...
Title: Re: Testing Version 3.40
Post by: fred on March 24, 2011, 08:58:39 PM
Ok, I have to investigate, something is not going as planned when snoozing is enabled.
Title: Re: Testing Version 3.40
Post by: Pepo on March 24, 2011, 11:32:05 PM
Quote from: fred on March 24, 2011, 08:58:39 PM
Ok, I have to investigate, something is not going as planned when snoozing is enabled.
You can keep your mind busy when desperately traveling around  :D  ;D
Title: Re: Testing Version 3.40
Post by: fred on March 24, 2011, 11:43:36 PM
Quote from: Pepo on March 24, 2011, 11:32:05 PM
Quote from: fred on March 24, 2011, 08:58:39 PM
Ok, I have to investigate, something is not going as planned when snoozing is enabled.
You can keep your mind busy when desperately traveling around  :D  ;D
Already found the problem, should be fixed in 3.41.
The thread count of 0 is causing everything to refresh at an high rate. And as the count stays 0..... :o
Solved by not adding the tasks/childs, with a count of 0 Threads and adding a Suspended text when this happens.