PDA

View Full Version : Stats Suggestion



Stricker
12-12-2002, 12:55 AM
With the new update it shows how many test we currently have pending is there any way to see which ones they are.

example it says that i have 3 tests pending however I only have 2 computer running the program right now so i was wondering if there was a way that i could see which numbers i have been assigned but have not completed so that way i can finish them since they were assigned to me

kugano
12-13-2002, 03:23 PM
This wouldn't help you since there's no way to force the client to test a specific k/n pair. It's assigned to the client by the server. But as long as you have a reasonably recent client version, you shouldn't have that many "dropped" tests since the client saves restart files periodically, and will start from where it left off if you reboot your computer or something.

Mystwalker
12-13-2002, 04:34 PM
Well, at least under Windows it's no problem to force the client to work on a specific k/n pair. You just have to edit the appropriate registry keys.

Typically the problem is:
That test wouldn't be accepted by the server.

But when it's already assigned to you, there should be no problem.

Using a higher perspective, there's no need to find out that k/n pair. The work will be assigned to another person once it timeouts and everything is ok again...

Stricker
12-13-2002, 08:15 PM
the problem was a while back i had one of the linux bugs and i deleted the cache file and i want to go back and edit the cache file so that way i can finish my assigned work

kugano
12-13-2002, 11:51 PM
My recommendation: just don't do it. A dropped test isn't really the end of the world ... it doesn't count against you (really), and in fact you still get credit in your stats for the part of the work that you did finish! So you'll get just as much credit for crunching new tests as you will by spending your time hacking the cache and/or registry files to go back and clean up your dropped tests. :-)

Mystwalker
12-14-2002, 11:45 AM
Just a suggestion concerning the 24-Hour User graph:

I think it's smoothed over a too large period of time. Example:
http://www.seventeenorbust.com/stats/graphs/user24.mhtml?userID=519

The work done in the last hours compensated the time I slept and the PCs were switched off. Basically, I had no activity for maybe 8-10 hours (I didn't sleep all the time - I was gone shopping afterwards :D ), but the last ~2 hours I'm crunchung along with approx. 85 M cEMs/sec...:help:

kugano
12-14-2002, 12:12 PM
Unfortunately, there isn't a whole lot that can be done about this. The problem is that our server doesn't know when you turn your computer off. It only knows how far you were into the test at the time of the last report, which doesn't happen all that often. So the best the stats engine can do is assume that your machine was working on the test evenly throughout the time interval between the block's assignment and the last report time.

The only way that I can see that would make this more accurate is by storing each individual checkpoint in the database, instead of just the last one. But the problem there is that then, instead of 60,000 rows in our database table like we have now, we'd have something like 10 times as many, assuming an average of 10 progress reports per test. A 600,000-row database table would make a whole lot of things very, very much slower.

Thanks for the suggestion though, and I'll try to think about possible ways of overcoming this, but we've thought about it before and couldn't come up with anything that would work without crippling the rest of the system...

Mystwalker
12-14-2002, 01:01 PM
The client does a report every time he has finished a block and logs on to the server, right?

One of my PCs started a block 2.5 hours ago and finished crunching on it 1 hour ago with a constant 45-50 McEMs/sec. But the graph doesn't reflect this. Or is it delayed as the other graphs, but not marked as this? :confused:

Apart from that, you're of course completely right with that sleep thing. That can't be changed. I'm not sure if a program can distinguish between getting no CPU cycles because they are needed by a process with higher priority or coz the PC's hibernating...

kugano
12-14-2002, 01:23 PM
Right, the client reports every time a "block" is finished. However, a "block" is simply a logical division of the work of a full Proth test. It doesn't really exist, as such, but is just a way of looking at Proth tests in smaller (shorter to compute) packets of work that are more easily digestable to the average user. So when your client says "X minutes left to finish block", what it really means is "X minutes left until it's time for me to submit another progress report and tell the server how far into the whole Proth test I am." That's why the stats pages on the new website no longer say anything about 'blocks', because they don't truly exist anymore. (In the old days of SB, "blocks" really did exist, but that's ancient history and another story entirely.)

Our database only records entries on whole Proth tests. So when a client tells the server "hey, I just 'finished a block' and am at bit 200,000 of the test", the server says "ok, I'll update the record for the Proth test I assigned you to show that you're now at bit 200,000 at this time." It doesn't record each report, it just updates the progress / report time fields of a single entry, and then uses the information on the whole test, possibly spanning multiple 'blocks' / progress reports, to create its graphs.

Finally, it would certainly be possible to engineer the client to keep an accurate record of how many cycles it got, and when. The problem is that there's no easy way to get that information to our server in a compact, easily-storable format.

Confused yet? :) I almost am, myself. When we finally get around to rewriting the FAQ we'll try to make this all a lot more clear.

Mystwalker
12-14-2002, 04:08 PM
Confused? Kinda... ;)

But I trust your competence. :notworthy :D