How to get clients information in boinc daemons (after starting the project)

Message boards : Server programs : How to get clients information in boinc daemons (after starting the project)
Message board moderation

To post messages, you must log in.

AuthorMessage
passerby1023

Send message
Joined: 28 Mar 16
Posts: 9
Taiwan
Message 68577 - Posted: 28 Mar 2016, 9:55:09 UTC

Hi ,

I'm trying to add some features in boinc server, (in linux environment)

but I need all clients information in real time ( if they add in the project already)

for example, after starting the project, I need to know how many clients in my project, are they running the jobs now? , their pc's core numbers....

I think I can get above information in daemons, (maybe in scheduler), any help?

Thanks :)
ID: 68577 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15478
Netherlands
Message 68582 - Posted: 28 Mar 2016, 11:19:16 UTC - in response to Message 68577.  

That's all information you can read from the BOINC database: http://boinc.berkeley.edu/trac/wiki/DataBase
ID: 68582 · Report as offensive
ChristianB
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 321
Germany
Message 68583 - Posted: 28 Mar 2016, 12:36:34 UTC - in response to Message 68577.  

but I need all clients information in real time ( if they add in the project already)

for example, after starting the project, I need to know how many clients in my project, are they running the jobs now? , their pc's core numbers....


That is kind of opposed to what BOINC was designed for. The Client will only connect to the server in order to get or report work. It will not tell you what it is doing right now. From more recent Clients you get more information about other projects but that does not tell you what's going on in real time.

The host capabilities are stored in the database and you can deduct the actually used capabilities by taking the individual preferences into account but then again you don't know if the volunteer has other projects running or even local preferences which are not reported to the server.

If you need real time information your app needs to contact your server on it's own. But be warned you may create your own DDoS with that.

Regards
Christian
ID: 68583 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 68584 - Posted: 28 Mar 2016, 12:49:03 UTC - in response to Message 68583.  

Some projects use

<next_rpc_delay>x</next_rpc_delay>
In each scheduler reply, tell the clients to do another scheduler RPC after at most X seconds, regardless of whether they need work. This is useful, e.g., to ensure that in-progress jobs can be canceled in a bounded amount of time.

to ensure regular updates.

See Project Options
ID: 68584 · Report as offensive
passerby1023

Send message
Joined: 28 Mar 16
Posts: 9
Taiwan
Message 68585 - Posted: 28 Mar 2016, 13:47:10 UTC

@Ageless, @ChristianB, @Richard Haselgrove, Thanks,

My purpose is to make the system can submit jobs dynamically by checking client state.
( if all the jobs are completed and there are clients in idle, system will submit new jobs to DB ..... )

So it seems that can't be implemented in BOINC server. (I thought I could utilize some information in BOINC database table "HOST")
ID: 68585 · Report as offensive
ChristianB
Volunteer developer
Volunteer tester

Send message
Joined: 4 Jul 12
Posts: 321
Germany
Message 68599 - Posted: 29 Mar 2016, 15:56:47 UTC - in response to Message 68585.  

@Ageless, @ChristianB, @Richard Haselgrove, Thanks,

My purpose is to make the system can submit jobs dynamically by checking client state.
( if all the jobs are completed and there are clients in idle, system will submit new jobs to DB ..... )

So it seems that can't be implemented in BOINC server. (I thought I could utilize some information in BOINC database table "HOST")


As I said that is the opposite of how BOINC works. You don't know if a host is idle or not. You need to have enough work on the server to fulfill a request by an idle client.

Why can't you pre generate jobs on the server? If you need to wait for other jobs to finish you can trigger this in the assimilator and create a new job.

Can you elaborate on what you really want to achieve and not how you want to achieve it? So what is your problem with how it currently works?
ID: 68599 · Report as offensive
Profile Ayoub Bel

Send message
Joined: 9 May 16
Posts: 1
Canada
Message 69526 - Posted: 9 May 2016, 4:51:00 UTC

If you need real time information your app needs to contact your server on it's own. But be warned you may create your own DDoS with that.
ID: 69526 · Report as offensive

Message boards : Server programs : How to get clients information in boinc daemons (after starting the project)

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.