Infinite loops

Message boards : Number crunching : Infinite loops
Message board moderation

To post messages, you must log in.

AuthorMessage
PhonAcq

Send message
Joined: 14 Apr 01
Posts: 1656
Credit: 30,658,217
RAC: 1
United States
Message 820525 - Posted: 19 Oct 2008, 15:46:33 UTC

quick question for someone in-the-know.

What stops a project from going into an infinite loop, never completing, and putting boinc into stasis?

I noticed that einstein wu's, once started, seem to keep increasing the 'to completion' field in the boinc manager for quite some time, before trending down to completion. By extrapolation, a deviant could keep increasing that field and sit in running mode 'forever'. I don't think that the deadline date stops the process either, because my slow machines sometimes miss the deadline for various reasons and never get terminated as a result.
ID: 820525 · Report as offensive
Mike Davis
Volunteer tester

Send message
Joined: 17 May 99
Posts: 240
Credit: 5,402,361
RAC: 0
Isle of Man
Message 820608 - Posted: 19 Oct 2008, 19:10:59 UTC

The abort button! :)
ID: 820608 · Report as offensive
Josef W. Segur
Volunteer developer
Volunteer tester

Send message
Joined: 30 Oct 99
Posts: 4504
Credit: 1,414,761
RAC: 0
United States
Message 820617 - Posted: 19 Oct 2008, 19:51:55 UTC - in response to Message 820525.  

quick question for someone in-the-know.

What stops a project from going into an infinite loop, never completing, and putting boinc into stasis?
...

Each WU has <rsc_fpops_bound>, which tells BOINC the maximum time it can be allowed to process. For MB work here, it's 10 times the raw estimate, for AP IIRC it's 25 times. If the task isn't completed within that limit, BOINC aborts it with a "Maximum CPU time exceeded" message.

That doesn't totally eliminate the possibility that a work creation mistake might produce WUs that loop forever and have a huge rsc_fpops_bound, but it's highly unlikely. A malicious project might do it deliberately, though, so users should beware that possibility.

As to Einstein showing increasing time at the beginning, that's probably a simple matter of the estimated progress it provides to BOINC not being linear. It's difficult to get that right.
                                                             Joe
ID: 820617 · Report as offensive
PhonAcq

Send message
Joined: 14 Apr 01
Posts: 1656
Credit: 30,658,217
RAC: 1
United States
Message 820661 - Posted: 19 Oct 2008, 21:58:52 UTC - in response to Message 820617.  

wow, thanks.

Seems like a hole in boinc's design, as long the possibility exists to loop forever. Have more elegant schemes been suggested to limit this possibility? I have a couple of half-baked ideas but won't bog the thread down here if someone has actually thought more deeply about this.
ID: 820661 · Report as offensive
John McLeod VII
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 15 Jul 99
Posts: 24806
Credit: 790,712
RAC: 0
United States
Message 821327 - Posted: 21 Oct 2008, 2:42:19 UTC - in response to Message 820661.  

wow, thanks.

Seems like a hole in boinc's design, as long the possibility exists to loop forever. Have more elegant schemes been suggested to limit this possibility? I have a couple of half-baked ideas but won't bog the thread down here if someone has actually thought more deeply about this.

How do you tell?

The applications for CPDN run for months.

There are applications that only update the % complete once from 0% to 100%.

Now combine the two (not that this has happened yet).


BOINC WIKI
ID: 821327 · Report as offensive
Profile Gary Charpentier Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 25 Dec 00
Posts: 31236
Credit: 53,134,872
RAC: 32
United States
Message 821367 - Posted: 21 Oct 2008, 3:53:32 UTC - in response to Message 820617.  

A malicious project might do it deliberately, though, so users should beware that possibility.


A truly malicious project could send out work units that will never validate or always generate client errors. They don't have to infinite loop the computer.

It would surprise if this hasn't already happened in error on a project where the science part wasn't properly debugged.


ID: 821367 · Report as offensive
Profile Ghery S. Pettit
Avatar

Send message
Joined: 7 Nov 99
Posts: 325
Credit: 28,109,066
RAC: 82
United States
Message 821707 - Posted: 22 Oct 2008, 1:52:48 UTC

I thought you were talking about Apple HQ :-)

1 Infinite Loop
Cupertino, CA


ID: 821707 · Report as offensive
John McLeod VII
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 15 Jul 99
Posts: 24806
Credit: 790,712
RAC: 0
United States
Message 821710 - Posted: 22 Oct 2008, 1:54:35 UTC - in response to Message 821367.  

A malicious project might do it deliberately, though, so users should beware that possibility.


A truly malicious project could send out work units that will never validate or always generate client errors. They don't have to infinite loop the computer.

It would surprise if this hasn't already happened in error on a project where the science part wasn't properly debugged.


It has happened to most of the projects at least once. It is sort of why ATA tends to go in first...


BOINC WIKI
ID: 821710 · Report as offensive
1mp0£173
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 8423
Credit: 356,897
RAC: 0
United States
Message 821720 - Posted: 22 Oct 2008, 2:16:10 UTC - in response to Message 821367.  

A malicious project might do it deliberately, though, so users should beware that possibility.


A truly malicious project could send out work units that will never validate or always generate client errors.

A truly malicious project is going grant credit based on the amount of spam their "science application" can send out.

ID: 821720 · Report as offensive

Message boards : Number crunching : Infinite loops


 
©2025 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.