mersenneforum.org Machine credit for Manual Results
 Register FAQ Search Today's Posts Mark Forums Read

 2015-10-27, 16:10 #1 airsquirrels     "David" Jul 2015 Ohio 11·47 Posts Machine credit for Manual Results Is there any way to get something like the CPUs page for all the manual results posted? I would love if Primenet identified these GPUs/CPUs. All of my result entries for TF are taken with the machine/card name (i.e. ID: airsquirrels/BeastCousinMFAKTOCard8, no factor for M74425357...) but I see no easy way to determine how much work each machine is doing/has done.
2015-10-27, 21:45   #2
Serpentine Vermin Jar

Jul 2014

29·113 Posts

Quote:
 Originally Posted by airsquirrels Is there any way to get something like the CPUs page for all the manual results posted? I would love if Primenet identified these GPUs/CPUs. All of my result entries for TF are taken with the machine/card name (i.e. ID: airsquirrels/BeastCousinMFAKTOCard8, no factor for M74425357...) but I see no easy way to determine how much work each machine is doing/has done.
Unfortunately all of the manual results get checked in to a single "manual testing" CPU for your account. Even though the computer name is included in the result string, when the client does an automatic check in it uses a machine specific GUID to identify itself (machine names can change, the GUID won't unless you erase that line from the local.txt file).

In theory it could parse out the computer name and match it up with the matching one in your account, but it's possible to have multiple machines with the same name (but different GUIDs) so it ends up being ambiguous.

I check all of my results in manually too, so I feel your pain. If there's a good way to handle this and make sure manual check-ins got credited to the right system, that'd be nice. But nearly all of my machines don't even have an entry in the Primenet database... they create a GUID on the client side when you do a fresh install, but until it talks to Primenet it never sends that info and never creates that entry, so even the idea of matching machine names with a GUID wouldn't work a lot of the time since Primenet might not know about the system at all.

The old primenet (v4) used to just accept the machine names submitted by the client, no GUIDs or anything, but it resulted in multiple systems sharing the same machine name which wouldn't work with the v5 server. It keeps track of system capabilities to be able to assign appropriate work (speed, CPU type, mem available to Prime95, rolling average, etc) so the GUID is a big part of making sure those stats don't get mixed up (and also why machines sharing the same GUID in the local.txt might get weird work assignments? If that ever happens, remember this post).

Altering the report to parse the result text for the machine name could also be problematic... right now it just joins on a couple tables to match results with the computer that checked it in so it's reasonably efficient. To do it a different way would mean parsing that computer name out in real time or doing it for all old results and then for ongoing stuff have it parsed out and stored in the DB, then being able to query on that.

Yeah... like I said, I'm in that boat too and if there was an easy way, I would have brought it up earlier.

 2015-10-28, 03:54 #3 airsquirrels     "David" Jul 2015 Ohio 51710 Posts Is there a way to indicate the machine GUID in the results line? At least that way I could preprocess results so that primenet could properly attribute to the machine that generated them. Alternatively, how hard would it be to have a new report (say, when clicking on manual results) that spit out data by machine name? Last fiddled with by airsquirrels on 2015-10-28 at 03:56
 2015-10-28, 05:41 #4 LaurV Romulan Interpreter     Jun 2011 Thailand 3·13·229 Posts MISFIT keeps a very good history. (just saying...) Last fiddled with by LaurV on 2015-10-28 at 05:42
2015-10-28, 15:01   #5
Serpentine Vermin Jar

Jul 2014

29×113 Posts

Quote:
 Originally Posted by airsquirrels Is there a way to indicate the machine GUID in the results line? At least that way I could preprocess results so that primenet could properly attribute to the machine that generated them. Alternatively, how hard would it be to have a new report (say, when clicking on manual results) that spit out data by machine name?
Well, it's non-trivial, off the top of my head.

Perhaps a good temporary thing would be to allow a user to view the raw logs sent from their own machines. That would include the text you used as an example: "airsquirrels/BeastCousinMFAKTOCard8, no factor for M74425357"

Right now there's no way to get that info, even for your own stuff. Reason 1 is that it includes the user and CPU name which can be different than the public "display" names, and reason 2 is that it includes the full residue, checksums, etc. that aren't of general use to anyone besides yourself.

But a report that at least let you view your own... that's still non-trivial but at least it wouldn't involve any back-end changes, just front-end, and then it'd be up to the user to do something with that output.

As LaurV pointed out, I guess misfit would let you do all of that and avoid doing manual check-in. If I understand it right, it submits results to Primenet just like Prime95 would... I have zero experience with misfit myself so I'd be useless on that aspect but I'm sure folks here can help you out there if needed.
http://mersenneforum.org/misfit/

 2015-10-29, 11:53 #6 0PolarBearsHere     Oct 2015 2·7·19 Posts Theoretically, someone could hack a "submit only" bit of code to communicate with the primenet server and submit results based on a GUID from a text file. It won't be a manual results submit using the website, but it could theoretically achieve the ability to assign results to a specific computer. The computer GUID also appears (from a quick look at the source code), to be based partially on the time the code is run, so theoretically (if I'm reading it right), you could also generate a bunch of GUIDs that ideally wouldn't clash. (or at least, not that much more likely than they are to clash already) Essentially what I'm thinking of, is some code to generate a local.txt file with a freshly generated GUID and user-defined-name which could be placed in your mfkatc (or whatever) folder, and then a bit of submit only code to read the results.txt and local.txt files and submit results to primenet. Not sure if that'd work though (and it wouldn't be a manual submission as currently performed either). So kind of like a misfit but with extra. Last fiddled with by 0PolarBearsHere on 2015-10-29 at 11:55
2015-10-31, 01:58   #7
Serpentine Vermin Jar

Jul 2014

29×113 Posts

Quote:
 Originally Posted by 0PolarBearsHere Theoretically, someone could hack a "submit only" bit of code to communicate with the primenet server and submit results based on a GUID from a text file. It won't be a manual results submit using the website, but it could theoretically achieve the ability to assign results to a specific computer. The computer GUID also appears (from a quick look at the source code), to be based partially on the time the code is run, so theoretically (if I'm reading it right), you could also generate a bunch of GUIDs that ideally wouldn't clash. (or at least, not that much more likely than they are to clash already) Essentially what I'm thinking of, is some code to generate a local.txt file with a freshly generated GUID and user-defined-name which could be placed in your mfkatc (or whatever) folder, and then a bit of submit only code to read the results.txt and local.txt files and submit results to primenet. Not sure if that'd work though (and it wouldn't be a manual submission as currently performed either). So kind of like a misfit but with extra.
The API for communicating with Primenet is on the website... I assume that's how Misfit was setup (I have no idea) and I guess any other 3rd party thing out there whether it's a different client or some other proxy type of thing could do something similar. Not only going by the published API but also the source to Prime95 that you mentioned.

As far as I could tell, the GUID (on Prime95) is generated automatically by the client when installed with a blank/missing local.txt file. Most chatter between a specific Prime95 machine and the Primenet server will include that GUID when talking to it.

I'm guessing the first time the server sees a GUID is doesn't know about, it creates the DB entries for it. Ideally the new system would send a command to update the CPU information as well (make, model, speed, etc) so the server would also know about that stuff too but I guess that could be optional, not really sure.

Anyway, my familiarity with the API is only skin deep. I know just enough about it to look at the IIS logs and see what kinds of things the server was receiving from the client (it's all in the URL of the request). I don't really know what the server sends back, like when a client requests additional work. Standard http response of some type but it's probably not XML or JSON if I were a betting man.

2015-10-31, 17:28   #8
chalsall
If I May

"Chris Halsall"
Sep 2002

7×113 Posts

Quote:
 Originally Posted by Madpoo The API for communicating with Primenet is on the website... I assume that's how Misfit was setup (I have no idea)...
My understanding (possibly wrong) is that MISFIT and floop use the manual submission form on Primenet, rather than the API. My Submission Spider (now generally deprecated) uses the manual submission form.

Quote:
 Originally Posted by Madpoo Standard http response of some type but it's probably not XML or JSON if I were a betting man.
It isn't; it's CR/LF separated variable/value pairs. E.g.:
Code:
pnErrorResult=0
pnErrorDetail=SUCCESS
u=XXXX
un=For Research
cn=R720_5
od=66
==END==

2015-10-31, 18:40   #9
Mark Rose

"/X\(‘-‘)/X\"
Jan 2013

1011010111102 Posts

Quote:
 Originally Posted by chalsall My understanding (possibly wrong) is that MISFIT and floop use the manual submission form on Primenet, rather than the API. My Submission Spider (now generally deprecated) uses the manual submission form.
mfloop.py uses the manual submission form.

 2015-10-31, 19:00 #10 airsquirrels     "David" Jul 2015 Ohio 51710 Posts The one thing PrimeNet knows that my own maintained results log doesn't is the exact GhzDay credit for each result. I suppose there is an equation around here I could find to compute that one. It would certainly be nice if there was just one client that handled CPUs and GPUs for both Cuda and OpenCL... Last fiddled with by airsquirrels on 2015-10-31 at 19:00
2015-11-01, 02:30   #11
Serpentine Vermin Jar

Jul 2014

CCD16 Posts

Quote:
 Originally Posted by chalsall My understanding (possibly wrong) is that MISFIT and floop use the manual submission form on Primenet, rather than the API. My Submission Spider (now generally deprecated) uses the manual submission form.
Oh, bummer. I was hoping it was using the API. That would have been cool.

Well, seems like some enterprising person could shove Primenet connectivity into mfakt* or CucaLucas so they could natively do all that stuff. Not me... I'm a script-guy, not a programmer. If I did it, you'd see batch files parsing CURL commands and outputs... it might work but it would be super ugly. LOL

 Similar Threads Thread Thread Starter Forum Replies Last Post preda GPU Computing 15 2017-08-16 17:34 Mini-Geek PrimeNet 7 2015-12-23 20:54 Gordon mersenne.ca 3 2015-08-31 03:08 ramgeis PrimeNet 8 2013-05-30 06:33 Mr. P-1 PrimeNet 1 2011-10-24 14:17

All times are UTC. The time now is 13:19.

Tue Nov 24 13:19:08 UTC 2020 up 75 days, 10:30, 4 users, load averages: 1.90, 1.54, 1.68