TThrottle - BoincTasks
September 07, 2010, 10:38:57 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Vacation time.. So the response time may be a bit longer. I'm back September 12, Fred.    Due to the amount of Spam, tighter forum rules apply, please read the rules topic.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Rules to add  (Read 362 times)
0 Members and 1 Guest are viewing this topic.
fred
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1010



View Profile WWW
« on: June 04, 2010, 07:56:15 AM »

Any rule may have certain criteria.

Status count: A number of the same status, within the time period. E.g. 10 errors within 10 minutes, 10 uploads, suspend the project.
Out of work.

e.g.

If project X with application Y is active for more than 3 hours an event is triggered.
If project X with application Y generates 10 errors within 10 minutes an event is triggered.
If any task has a progress of less than 0.01% within 10 minutes an event is triggered.
If project X with application Y runs below 56C for xx time it will trigger an event.

Specials

Connection is lost for xx time.
No work for xx time.

--------------------------------------------------------------------------------------------



It is possible to add a rule from the Tasks view. Click on the task you want add a rule for and press the right mouse key.
Select Add rule
This fills in all the names relevant for this task.

Rule name: Must be unique name that describes the rule.
Computer: Optional name of the computer, leave this empty if the rule applies to all computers.
Project: Optional name of the project, leave this empty if the rule applies to all projects.
Application: Optional name of the application, leave this empty if the rule applies to all applications.

* the above fields may hold a part of the name: Like 3.02, instead of the whole name.

Type:

Cpu% The percentage between wall clock the actual run time of the CPU.
Elapsed Time The time the task has been running since the first start.
Progress % The progress percentage of the task.
Progress / min % As the Progress % but now the progress that has been made in one minute.
Temperature The CPU or GPU temperature. This rules must have a valid computer name.
Time left The time the task has left.
Use The number of CPU and GPU % that are planned for this task. E.g. 0.04 Cpu + 1 GPU or 0.025Cpu.
 
The 3 rules have to be ALL valid, at the same time for the event to trigger.
You may leave unused rules empty.

Time:

The time the rule has to be valid to produce an event. Blank means 0 seconds.
Don't use a short time, as this may result in a lot of false positives.

Event:

A rule may have one internal an one external event at the same time.
E.g. Suspend a task and start an external program.

A rule may have 0 events, so it only shows a color.

Run program Runs an external program or batch file.
The field below must hold the full name of the program. E.g. beep.bat
The folder is the default BoincTasks folder: C:\Users\user name\AppData\Roaming\eFMer\BoincTasks\

So beep.bat is the same as C:\Users\user name\AppData\Roaming\eFMer\BoincTasks\beep.bat

An ENTER (key) may be used to keep the text in the box.

You may add parameters: E.g. beep.bat, parameter
The "," is used to separate the program name from the parameter.

Suspend project

Suspends the project of the task that triggered the rule.

Suspend task

Suspends the task. When more tasks are triggered at the same time, only one is suspended. The other tasks are suspended, one every following second.

"show logging" check

When checked, BoincTasks will show the rules logging window, when an event is triggered.

Resetting a rule:

Rules are reset when you:

Edit any rule.
A tasks is no longer running.


Some inside information:

The rules are checked, using the history information.
This means, the rules are checked, at the history interval time of about 12 seconds.
CPU % and Progress / min are measured, over a period of 2 cycles, about 24 seconds.

« Last Edit: July 18, 2010, 10:27:50 AM by fred » Logged

Here is my other project when I'm away: http://www.efmer.eu/trails/
John C
Jr. Member
**
Offline Offline

Posts: 26


View Profile
« Reply #1 on: June 04, 2010, 08:51:41 AM »

wow.  That would be highly impressive.

Comments...

I really like being able to filter by computer, project, error count & progress.  Those are the ones that add real value in my mind (the the last 2 being the real triggers and the first 2 being the limiters).  I would also add a disconnect event for computers.  I think that's important.  The others are nice to have, but not essential to me.  Others obviously may feel differently.

You mention a time element in a few examples, but it isn't specified as one of your criteria.  Agree though that it is a good additional limiter.

I really like the event list.  My only comment would be to please feed the criteria as parameters to the called external program and not force them to parse a log.  For my purposes, I really need the computer identifier passed (either name or IP would work) when a machine becomes disconnected.

Thanks!
Logged
jjwhalen
Active Member
Full Member
*****
Offline Offline

Posts: 193



View Profile
« Reply #2 on: July 17, 2010, 07:33:40 AM »

I'd like to have the option to Suspend Project X if >/=1 task(s) get stuck in Status "Uploading" for >(time period).  Conversely, I'd like to be able to Resume Project if the log jam breaks and >/=1 task(s) transition from Status "Uploading" to "Ready to report" after >(time period).

This would appear do-able by adding task Status as a rule criterion, and adding "Resume project" as an output event Cool

Practical example: Collatz Conjecture's ISP is highly unreliable, and he pseudoramdomly goes up & down every few hours (usually), or he may be down for a day or more.  Since Murphy's Law says Collatz will go offline ~15 minutes after I go to bed, I'd like to be able to auto-Suspend him and fall back to a reserve GPU project (in my case DNETC).

I suppose the new Tuesday->Thursday outage on Seti might be another example for some folks; personally in their case I just let the completed work pile up, since it's a scheduled event Smiley

EDIT: Speaking of Suspending/Resuming Project, I'd like to be able to do either at (wallclock time), without other qualifying criteria.
« Last Edit: July 17, 2010, 09:01:44 AM by jjwhalen » Logged

Best wishes.

fred
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1010



View Profile WWW
« Reply #3 on: July 17, 2010, 09:33:28 AM »

1) I'd like to have the option to Suspend Project X if >/=1 task(s) get stuck in Status "Uploading" for >(time period).  Conversely, I'd like to be able to Resume Project if the log jam breaks and >/=1 task(s) transition from Status "Uploading" to "Ready to report" after >(time period).

2)This would appear do-able by adding task Status as a rule criterion, and adding "Resume project" as an output event Cool

3) Practical example: Collatz Conjecture's ISP is highly unreliable, and he pseudoramdomly goes up & down every few hours (usually), or he may be down for a day or more.  Since Murphy's Law says Collatz will go offline ~15 minutes after I go to bed, I'd like to be able to auto-Suspend him and fall back to a reserve GPU project (in my case DNETC).

I suppose the new Tuesday->Thursday outage on Seti might be another example for some folks; personally in their case I just let the completed work pile up, since it's a scheduled event Smiley

4) EDIT: Speaking of Suspending/Resuming Project, I'd like to be able to do either at (wallclock time), without other qualifying criteria.
1) BOINC automatically stops requesting new work when there are too many tasks in the uploading status. So that's a suspend sort of.
2) When the uploads are completed BOINC resumes taking in new work.
3) BOINC uses the fall-back project automatically when the share value = 0;
4) Why example.
Logged

Here is my other project when I'm away: http://www.efmer.eu/trails/
jjwhalen
Active Member
Full Member
*****
Offline Offline

Posts: 193



View Profile
`
« Reply #4 on: July 17, 2010, 06:54:13 PM »

1) I'd like to have the option to Suspend Project X if >/=1 task(s) get stuck in Status "Uploading" for >(time period).  Conversely, I'd like to be able to Resume Project if the log jam breaks and >/=1 task(s) transition from Status "Uploading" to "Ready to report" after >(time period).

2)This would appear do-able by adding task Status as a rule criterion, and adding "Resume project" as an output event Cool

3) Practical example: Collatz Conjecture's ISP is highly unreliable, and he pseudoramdomly goes up & down every few hours (usually), or he may be down for a day or more.  Since Murphy's Law says Collatz will go offline ~15 minutes after I go to bed, I'd like to be able to auto-Suspend him and fall back to a reserve GPU project (in my case DNETC).

I suppose the new Tuesday->Thursday outage on Seti might be another example for some folks; personally in their case I just let the completed work pile up, since it's a scheduled event Smiley

4) EDIT: Speaking of Suspending/Resuming Project, I'd like to be able to do either at (wallclock time), without other qualifying criteria.
1) BOINC automatically stops requesting new work when there are too many tasks in the uploading status. So that's a suspend sort of.
2) When the uploads are completed BOINC resumes taking in new work.
3) BOINC uses the fall-back project automatically when the share value = 0;
4) Why example.

For the CPU-only projects I support, I have my hosts set up to run with minimum intervention.  For GPU (and mixed) projects I find that I still need to intervene quite a lot to optimize RAC.  I believe this will continue until the BOINC client allows independent Resource Share & Work Buffer, etc. settings for GPU (which IMHO is overdue).

Your 1) & 2) are both true, but they are concerned with downloading new work, not suspending & resuming computation, which is what I want to control.   When Collatz randomly goes offline for God only knows how long (which it does several times a day), I may have 24 hours worth of work already onboard (at 35 minutes/WU).  I want to suspend the project when an upload hasn't completed for ~30 min, and re-enable it when the backlog clears.  If Collatz goes down for an hour, fine.  If it goes down for a week (and it has!) I have better things for my computer to be doing rather than crunching WUs that are going to die of old age in the Upload queue.

As for your 3), I recall from when the reserve project "Resource Share=0" feature was added that it kicks in only when the work buffer for ALL OTHER PROJECTS is exhausted.  Not much help in this case.  Also, not all project servers honor the reserve project status.  (Which ones  HuhHuh)  The reason I use DNETC only as a backup for Collatz is simple: DNETC's earned credit is almost exactly half of Collatz per GPUhour.

4) (exempli gratia) I crunch GPUGRID (10~12 hours per WU) during the hours of approximately 1400-0300 UTC daily.  Outside these hours I suspend GPUGRID and let the Scheduler pick between Collatz/cuda [except see above] and SETI@home/cuda (15~60 minutes per WU).  The reason I do this is based on a number of factors, but boil down to: that's the way I run my system Grin  A rule to automate this changeover would be appreciated Cool
« Last Edit: July 17, 2010, 08:47:17 PM by jjwhalen » Logged

Best wishes.

fred
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1010



View Profile WWW
« Reply #5 on: July 18, 2010, 09:23:24 AM »

For the CPU-only projects I support, I have my hosts set up to run with minimum intervention.  For GPU (and mixed) projects I find that I still need to intervene quite a lot to optimize RAC.  I believe this will continue until the BOINC client allows independent Resource Share & Work Buffer, etc. settings for GPU (which IMHO is overdue).

Your 1) & 2) are both true, but they are concerned with downloading new work, not suspending & resuming computation, which is what I want to control.   When Collatz randomly goes offline for God only knows how long (which it does several times a day), I may have 24 hours worth of work already onboard (at 35 minutes/WU).  I want to suspend the project when an upload hasn't completed for ~30 min, and re-enable it when the backlog clears.  If Collatz goes down for an hour, fine.  If it goes down for a week (and it has!) I have better things for my computer to be doing rather than crunching WUs that are going to die of old age in the Upload queue.

As for your 3), I recall from when the reserve project "Resource Share=0" feature was added that it kicks in only when the work buffer for ALL OTHER PROJECTS is exhausted.  Not much help in this case.  Also, not all project servers honor the reserve project status.  (Which ones  HuhHuh)  The reason I use DNETC only as a backup for Collatz is simple: DNETC's earned credit is almost exactly half of Collatz per GPUhour.

4) (exempli gratia) I crunch GPUGRID (10~12 hours per WU) during the hours of approximately 1400-0300 UTC daily.  Outside these hours I suspend GPUGRID and let the Scheduler pick between Collatz/cuda [except see above] and SETI@home/cuda (15~60 minutes per WU).  The reason I do this is based on a number of factors, but boil down to: that's the way I run my system Grin  A rule to automate this changeover would be appreciated Cool
Ok I will see what I can do. The problem is that some rules have relation with other rule items. Grin
Logged

Here is my other project when I'm away: http://www.efmer.eu/trails/
jjwhalen
Active Member
Full Member
*****
Offline Offline

Posts: 193



View Profile
« Reply #6 on: July 18, 2010, 06:03:16 PM »


--SNIP--

Ok I will see what I can do. The problem is that some rules have relation with other rule items. Grin

I greatly appreciate you adding the Wall Clock rule, and I just saw the addition to the FAQ.  It might be worth adding a caveat that suspending one project with "Allow New Tasks" enabled on all others usually results in d/l'ing way too much work Wink  Power crunchers already know this but newbies might learn it the hard way.  Just a thought Smiley
Logged

Best wishes.

fred
Global Moderator
Hero Member
*****
Offline Offline

Posts: 1010



View Profile WWW
« Reply #7 on: July 19, 2010, 07:35:45 AM »


I greatly appreciate you adding the Wall Clock rule, and I just saw the addition to the FAQ.  It might be worth adding a caveat that suspending one project with "Allow New Tasks" enabled on all others usually results in d/l'ing way too much work Wink  Power crunchers already know this but newbies might learn it the hard way.  Just a thought Smiley
I unlocked the thread.
Logged

Here is my other project when I'm away: http://www.efmer.eu/trails/
jjwhalen
Active Member
Full Member
*****
Offline Offline

Posts: 193



View Profile
« Reply #8 on: July 19, 2010, 06:05:36 PM »


I greatly appreciate you adding the Wall Clock rule, and I just saw the addition to the FAQ.  It might be worth adding a caveat that suspending one project with "Allow New Tasks" enabled on all others usually results in d/l'ing way too much work Wink  Power crunchers already know this but newbies might learn it the hard way.  Just a thought Smiley
I unlocked the thread.

Caveat added, in case you want to re-lock the FAQ Wink
Logged

Best wishes.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!