davidpanderson / science_united

Source code for Science United, an interface to BOINC.
GNU Lesser General Public License v3.0
65 stars 7 forks source link

Proposal: Project status checker #9

Open sebastianmbobrecki opened 5 years ago

sebastianmbobrecki commented 5 years ago

I think it would be good to have some checker of current status of projects. Motivation is that for example at this moment SU assigned to my computer two projects, first of which (SETI) is under maintenance break and the second one (RNA) have no task. Queue have drained and host is idle.

Therefore to avoid such situation I think projects should be periodically checked (every 5 minutes, hour or so) to determine if they are actually working and if they have any task available. This knowledge should be used by SU to make decision about project assignment. This should be relatively easy to implement.

The even more advanced but also a lot harder functionality may also check for availability of given kind of tasks accounting things like OS, CPU, VBox, GPU, even with distinction for things like GPU type, CPU instruction sets, OS types and bitness, etc. But I know it's is not trivial or may even be impossible to obtain such information from every project.

davidpanderson commented 5 years ago

The 7.14 client has a mechanism that's supposed to do this:

When this happens you'll see a message in the event log: "Some devices idle - requesting new projects from Science United".

Apparently this mechanism isn't working in your case.

Are you seeing this message in the event log? If you restart the client, does it contact SU? Is the host running 7.14?

-- David

davidpanderson commented 5 years ago

BTW, the client also keeps track of, for each project, the resources for which it requested jobs and wasn't given any. This reflects things like video driver version etc.

It sends this info to SU, so that SU knows which projects can actually supply work for which resources.

sebastianmbobrecki commented 5 years ago

Are you seeing this message in the event log?

I looked through the log history and fund it once about two weeks ago, but not when I wrote this proposal.

If you restart the client, does it contact SU?

Not always, it's doing this in about 12h interval. Earlier restarts doesn't cause contact.

Is the host running 7.14?

Yes, it's 7.14.2

Generally this misbehaviour coincide with longer SETI outage at that time.

sebastianmbobrecki commented 5 years ago

BTW, the client also keeps track of, for each project, the resources for which it requested jobs and wasn't given any. This reflects things like video driver version etc.

It sends this info to SU, so that SU knows which projects can actually supply work for which resources.

But there are some project specific things that can fool SU. Like for example PrimeGrid which is marked as GPU project by SU, have GPU apps and even have alot of GPU tasks, but user need to enable them by hand otherwise it wouldn't send any GPU task. That's among others, why I suggested to switch all (even existing) accounts to single account model #10 . Then you (or other SU staff member) could properly set up all the necessary options in all of this about 30 projects, that are currently at SU, for all SU volunteers.

davidpanderson commented 5 years ago

We already switched to the signal-account model. I changed the Primegrid settings for this account to allow GPU apps.

sebastianmbobrecki commented 5 years ago

We already switched to the signal-account model. I changed the Primegrid settings for this account to allow GPU apps.

As I made it little off-topic I will continue this in #10 .