New Rules to add

Started by fred, June 04, 2010, 07:56:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fred


John C

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!

jjwhalen

#2
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 8)

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 :)

EDIT: Speaking of Suspending/Resuming Project, I'd like to be able to do either at (wallclock time), without other qualifying criteria.


fred

Quote from: jjwhalen on July 17, 2010, 07:33:40 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 8)

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 :)

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.

jjwhalen

`
#4
Quote from: fred on July 17, 2010, 09:33:28 AM
Quote from: jjwhalen on July 17, 2010, 07:33:40 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 8)

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 :)

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  ??????)  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 ;D  A rule to automate this changeover would be appreciated 8)


fred

Quote from: jjwhalen on July 17, 2010, 06:54:13 PM
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  ??????)  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 ;D  A rule to automate this changeover would be appreciated 8)
Ok I will see what I can do. The problem is that some rules have relation with other rule items. ;D

jjwhalen

Quote from: fred on July 18, 2010, 09:23:24 AM

--SNIP--

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

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 ;)  Power crunchers already know this but newbies might learn it the hard way.  Just a thought :)


fred

Quote from: jjwhalen on July 18, 2010, 06:03:16 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 ;)  Power crunchers already know this but newbies might learn it the hard way.  Just a thought :)
I unlocked the thread.

jjwhalen

Quote from: fred on July 19, 2010, 07:35:45 AM
Quote from: jjwhalen on July 18, 2010, 06:03:16 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 ;)  Power crunchers already know this but newbies might learn it the hard way.  Just a thought :)
I unlocked the thread.

Caveat added, in case you want to re-lock the FAQ ;)


idahofisherman

I wouild like to see a rule that allows comparison between deadline date & time and system date & time so that I could automatically abort those tasks that exceed their deadline.

fred

Quote from: idahofisherman on November 19, 2011, 08:57:40 PM
I wouild like to see a rule that allows comparison between deadline date & time and system date & time so that I could automatically abort those tasks that exceed their deadline.
A rule on the deadline. Like 24 hour past the deadline, abort task.

idahofisherman


fred


Pepo

Quote from: fred on November 21, 2011, 08:12:53 AM
Quote from: idahofisherman on November 20, 2011, 08:41:41 PM
Yes or even 12 hours.
And 0, 6, user adjustable. :o
I'd advice just "user adjustable", per rule, as the secure/over time may greatly differ per project.
Peter

fred

Quote from: Pepo on November 21, 2011, 11:05:31 AM
I'd advice just "user adjustable", per rule, as the secure/over time may greatly differ per project.
That's what I'm planning to do. 8)