BUG: FiND Vina tasks do not respect Suspend or Snooze
log in

Advanced search

Message boards : Number crunching : BUG: FiND Vina tasks do not respect Suspend or Snooze

1 · 2 · 3 · 4 · Next
Author Message
Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1961 - Posted: 18 Feb 2015, 17:02:36 UTC
Last modified: 18 Feb 2015, 17:06:54 UTC

Quote from admin:

That means, you can't juste "pause" Vina, because it's not implemented.


My response:

This is a problem. If the user chooses to suspend BOINC, then all tasks must stop running, even if it means they will lose their progress or result in error.

Suspend means suspend.
Snooze means snooze.

Your application "Autodock Vina 1.01" has a bug where it is not respecting that user setting.
The process needs to terminate itself, when told to suspend or snooze.
Please fix your application. You may need to download newer BOINC API to do it.

If you need assistance resolving the issue, please post to the BOINC Projects or BOINC Dev list, to get help.

Thanks,
Jacob Klein

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1969 - Posted: 19 Feb 2015, 16:33:21 UTC - in response to Message 1961.

You are saying that when you exit BOINC, Vina is still working?

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1971 - Posted: 19 Feb 2015, 18:01:47 UTC
Last modified: 19 Feb 2015, 18:05:12 UTC

Here is the problem:

Your "Autodock Vina 1.01" apps erroneously continue to run
... in all of these scenarios:
- User clicks Activity -> Suspend
- User right-clicks tray -> Snooze
- User goes to the Projects tab, and suspends your project
- User goes to the Tasks tab, and suspends the tasks
- User clicks Advanced -> Run CPU benchmarks

I'm sure there are other scenarios, too, such as "Exclusive application running", suspend when computer is in use, etc.
For all of these scenarios, it needs to stop doing work (and, actually the BOINC API code should be handling this I believe).

Please fix it.

Thanks,
Jacob

frankhagen
Send message
Joined: 15 Jul 12
Posts: 48
Credit: 400,146
RAC: 0
Message 1973 - Posted: 20 Feb 2015, 12:27:41 UTC - in response to Message 1971.

For all of these scenarios, it needs to stop doing work (and, actually the BOINC API code should be handling this I believe).


i do not see this "behaviour" on 64bit linux.

but anyway - same story as "over there" - happy coding - wanna volunteer?

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1974 - Posted: 20 Feb 2015, 12:29:09 UTC

There should be no coding necessary for this to function correctly. BOINC API code is supposed to be handling it. Something isn't configured correctly, and an admin needs to fix it.

frankhagen
Send message
Joined: 15 Jul 12
Posts: 48
Credit: 400,146
RAC: 0
Message 1975 - Posted: 20 Feb 2015, 12:31:54 UTC - in response to Message 1974.

There should be no coding necessary for this to function correctly. BOINC API code is supposed to be handling it. Something isn't configured correctly, and an admin needs to fix it.



well then go ahead - get the vina-soucre and implement the boinc-api.


you really do not want to understand this - do you?

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1976 - Posted: 20 Feb 2015, 12:35:10 UTC - in response to Message 1975.
Last modified: 20 Feb 2015, 12:37:18 UTC

Frank:

Buzz off, bud. I understand what you are saying.

It is my job to report problems, and volunteer to help test solutions. I do this for all 30+ projects that I'm attached to. I also volunteer to alpha test the BOINC client, to ensure it is working satisfactorily in all scenarios, including the new ASIC support and the recent VirtualBox support.

It is not my job to solve the problems, if I don't want to. And, I choose not to download and compile source code, for the client or the server, to solve the problem. For a given project, it is the project's responsibility to solve the project's problems.

You should not just throw your hands in the air, about any problem, and say "too bad." You are very pessimistic, and frustrating. Please try to be more constructive.

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1977 - Posted: 20 Feb 2015, 12:36:24 UTC
Last modified: 20 Feb 2015, 12:36:43 UTC

Admins:

Please let me know when something is ready to be tested, and I'll gladly test a proposed solution.

In the meantime, on Windows, the issue with your application is causing some serious problems on my machines, which are tuned to properly suspend computing when requested.

Thanks,
Jacob Klein

frankhagen
Send message
Joined: 15 Jul 12
Posts: 48
Credit: 400,146
RAC: 0
Message 1978 - Posted: 20 Feb 2015, 12:45:10 UTC - in response to Message 1976.

For a given project, it is the project's responsibility to solve the project's problems.


it is NOT "their" app - it's quite common to projects using that crappy wrapper to throw anything they get hands on into boinc-world.

plain simple solution: kill all those projects that do not use apps which comply to using apps with fully implemented boinc api.

have a nice day.

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1979 - Posted: 20 Feb 2015, 14:13:48 UTC

I'm not using the "crappy" wrapper :)

Vina code is overly complicated for me. Can't find the main computational loop, and I think this loop is inside libboost, Vina is using the Monte Carlo framework of boost (if I understand well).

I can put a trigger to kill Vina, but this trigger will be in Vina and not in libboost. That means, while the model is running inside boost you will not be able to stop it, even with the trigger.

I am the only dev here, and I'm not a software engineer. I'm doing my best with my knowledge. Digging into Vina blows my brain :(

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1980 - Posted: 20 Feb 2015, 15:02:07 UTC - in response to Message 1979.
Last modified: 20 Feb 2015, 15:02:31 UTC

I wasn't aware that the wrapper was crappy. Is there any chance you'd reconsider using it, so that it can automatically manage things like suspending?
Note: Your app here, is the only app out of my 30 projects, that is currently exhibiting the problem.

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1983 - Posted: 20 Feb 2015, 18:31:49 UTC
Last modified: 20 Feb 2015, 18:34:22 UTC

Ben:

I consulted someone who knows more about this than I do. You shouldn't need to dig inside of the Vina code at all -- Instead, you just need to implement the BOINC API to handle this issue appropriately. And it's pretty easy, I'm told.

The wiki link
http://boinc.berkeley.edu/trac/wiki/BasicApi
... should help you implement it, but if you need further assistance, please feel free to send an email to the "BOINC Projects" email group, where people usually offer advice and help.
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_projects

Here is what my contact said:

It sounds (from Ben's post) that they're running an app that doesn't use the BOINC API or the wrapper, and therefore doesn't respond to the client's suspend requests.

Ben needs to read the following:
http://boinc.berkeley.edu/trac/wiki/BasicApi

Using the BOINC API doesn't require understanding the inner workings of Vina. If just requires calling boinc_init() at the start, and boinc_finish() at the end.

Or he could post to the boinc_projects email list. Several other projects are using Vina successfully.


Let me know what you find.
Thanks!
Jacob

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1984 - Posted: 20 Feb 2015, 19:00:34 UTC - in response to Message 1983.

I'm using the API.
boinc_init()
boinc_faction_done()
boinc_exit()
etc

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1986 - Posted: 20 Feb 2015, 20:27:19 UTC - in response to Message 1984.
Last modified: 20 Feb 2015, 20:28:29 UTC

Somehow, boinc_exit() is not being called, I think. Or something similar.
Do you maybe have the entire thing in a critical_section?
If you can't figure out the problem, can you send an email to the Projects email group?

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1987 - Posted: 20 Feb 2015, 20:29:55 UTC - in response to Message 1986.
Last modified: 20 Feb 2015, 20:32:37 UTC

We can say that everything Vina is doing is critical. A slightly change can create a bad affinity score.

I did not put the call to the BOINC critical function.

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1988 - Posted: 20 Feb 2015, 20:32:31 UTC - in response to Message 1987.
Last modified: 20 Feb 2015, 20:34:15 UTC

Are you saying that you *do* have it all in a critical section? If so, that is the wrong approach.

I don't think you understand what a critical_section is. It means "when running this chunk of code, make sure that you are not interrupted." You should have as little as possible in a critical section.

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1989 - Posted: 20 Feb 2015, 20:33:27 UTC - in response to Message 1988.

To fast :)

No, I don't have critical_section.

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1990 - Posted: 20 Feb 2015, 20:34:03 UTC - in response to Message 1989.

Okay, so it sounds like you have not yet identified the problem. Have you at least been able to reproduce the problematic behavior?

Profile Ben
Project administrator
Project developer
Project tester
Project scientist
Send message
Joined: 17 Nov 14
Posts: 316
Credit: 1
RAC: 0
Message 1991 - Posted: 20 Feb 2015, 20:40:13 UTC
Last modified: 20 Feb 2015, 20:44:31 UTC

Nope, not yet. I'll try to find the bug, but it can take time, I finished my 6 months here, I have to do an other project.

But basically, "when running this chunk of code vina, make sure that you are not interrupted."

Jacob Klein
Send message
Joined: 30 Jan 15
Posts: 28
Credit: 57,790
RAC: 0
Message 1992 - Posted: 20 Feb 2015, 22:57:00 UTC - in response to Message 1991.

I don't know what you mean. I hope you can find the issue, and fix it.

1 · 2 · 3 · 4 · Next

Message boards : Number crunching : BUG: FiND Vina tasks do not respect Suspend or Snooze


Main page · Your account · Message boards


Copyright © 2017 Dr Anthony Chubb