Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go »
No member browsing this thread
Thread Status: Active
Total posts in this thread: 6
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 2419 times and has 5 replies Next Thread
adriverhoef
Master Cruncher
The Netherlands
Joined: Apr 3, 2009
Post Count: 2355
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
How does WCG calculate Points Generated exactly?

After returning 31 results for SCC1 I wondered if the Points Generated are matching my calculations. When I look at the Points Generated, it says "10,295" now. This number is not a multiple of 7 (1470*7=10290), so some sort of floating point operation has to be involved, isn't it?

I'm using a tool ('wcgresults') that logs results into a file, columns are tab separated, so that one can easily find the needed numbers. The first result looks like this (should read as one long line):
scc1	19.14818063448412	0.8393017053604126	1.0277044773101807	0	23.99452485540153	2505247	x	1485507428	1936591355	1226605650	SCC1_0000000_Bct-A_11387_1	1	2017-01-26T21:22:03	2017-02-05T20:08:17	2017-01-26T20:08:17	5	1	2 
E.g. "cut -f6 LOGFILE | grep '^scc1'" will yield the Granted Credit from all SCC1 results.

Nicely formatted in six columns, meaning that some are omitted and they are in different order! - it will look like this:

App CpuTime Elapsed Claimed Granted Name
scc1 0.84 1.03 19.1 24.0 SCC1_0000000_Bct-A_11387_1
scc1 1.14 1.39 25.8 34.2 SCC1_0000000_Bct-A_10408_1
scc1 1.83 2.31 43.1 54.2 SCC1_0000000_Bct-A_87735_1
scc1 1.25 1.58 29.5 40.0 SCC1_0000000_Bct-A_94265_1
scc1 1.19 1.21 42.0 37.5 SCC1_0000000_Bct-A_98258_1
scc1 1.59 2.01 37.4 35.6 SCC1_0000000_Bct-A_46081_0
scc1 0.00 0.00 59.1 0.0 SCC1_0000000_Bct-A_75236_1
scc1 1.16 1.46 27.1 35.2 SCC1_0000000_Bct-A_59373_1
scc1 0.97 0.98 34.1 36.4 SCC1_0000000_Bct-A_59400_1
scc1 1.23 1.24 43.2 51.3 SCC1_0000000_Bct-A_26479_1
scc1 1.04 1.32 24.5 38.5 SCC1_0000000_Bct-A_87531_1
scc1 7.54 7.65 56.0 56.5 SCC1_0000000_Bct-A_74875_2
scc1 1.90 1.91 66.6 77.9 SCC1_0000000_Bct-A_42945_1
scc1 0.89 0.90 31.3 39.0 SCC1_0000000_Bct-A_42632_1
scc1 1.21 1.22 42.7 46.4 SCC1_0000000_Bct-A_42245_1
scc1 8.83 8.97 65.7 83.4 SCC1_0000001_Bct-A_76833_0
scc1 10.95 11.10 81.3 70.4 SCC1_0000001_Bct-A_76828_0
scc1 1.13 1.14 39.6 51.7 SCC1_0000000_Bct-A_65639_1
scc1 9.97 10.12 74.1 76.1 SCC1_0000001_Bct-A_57484_0
scc1 1.44 1.82 33.9 57.6 SCC1_0000000_Bct-A_93179_1
scc1 13.71 13.90 101.8 102.5 SCC1_0000003_Bct-A_84983_0
scc1 1.12 1.13 39.4 52.0 SCC1_0000000_Bct-A_7767_1
scc1 1.88 2.38 44.4 63.4 SCC1_0000000_Bct-A_99665_1
scc1 9.63 9.78 71.6 71.9 SCC1_0000031_Bct-B_69438_1
scc1 10.16 10.31 75.5 85.1 SCC1_0000031_Bct-B_69387_0
scc1 10.01 10.15 74.3 64.6 SCC1_0000001_Bct-A_76825_0
scc1 10.89 11.09 81.2 67.1 SCC1_0000002_Bct-A_10437_0
scc1 11.63 11.80 51.9 0.0 SCC1_0000002_Bct-A_92146_4
scc1 5.00 5.06 21.2 19.6 SCC1_0000063_Bct-C_69424_0
scc1 14.62 14.84 74.5 75.4 SCC1_0000006_Bct-A_0817_2
scc1 8.41 8.50 43.0 53.3 SCC1_0000006_Bct-A_13605_1

The "My Contribution" page says that I have returned 27 results at the moment. So I need to extract the first 27 positive results from my logfile. (I have collected 31 results for SCC1 at the moment, two of them yielded zero points, two others are too recent to count.)
Because the ones with zero points are also there, I need to extract the first 29 results from the logfile, which goes something like this:
$ grep '^scc1' LOGFILE | sed 29q | cut -f6
23.99452485540153
34.17577164510659
54.24302002444125
39.96569639956119
37.52133015434913
35.55317269382448
0.0
35.22038026821428
36.44498251463527
51.26876951836277
38.50012068426854
56.51180563363252
77.85222875035932
38.96464840767261
46.35076782462106
83.4122806629725
70.4124820230534
51.69764943283839
76.13342911034762
57.5605114349563
102.4996547962797
52.03559097194771
63.37357823770948
71.87843995137126
85.13922580413654
64.63677216912248
67.0922802182416
0.0
19.63816111949926

These 29 numbers are 'Granted BOINC Credit', so they have to be multiplied by 7 to get 'Points Generated'. Multiplying this by 7 yields:
$ grep '^scc1' LOGFILE | sed 29q | cut -f6 | sed 's/^/7*/' | bc 
167.96167398781071
239.23040151574613
379.70114017108875
279.75987479692833
262.64931108044391
248.87220885677136
0
246.54266187749996
255.11487760244689
358.88138662853939
269.50084478987978
395.58263943542764
544.96560125251524
272.75253885370827
324.45537477234742
583.8859646408075
492.8873741613738
361.88354602986873
532.93400377243334
402.9235800446941
717.4975835739579
364.24913680363397
443.61504766396636
503.14907965959882
595.97458062895578
452.45740518385736
469.6459615276912
0
137.46712783649482

Now add them all together:
$ grep '^scc1' LOGFILE | sed 29q | cut -f6 | sed 's/^/7*/; s/$/+\\/; $s/+\\//' | bc
10304.54092714848746

That's odd, because My Contribution says "10,295", meaning a difference of 9.5 points.

I also tried adding up the "nicely formatted" numbers from the 'Granted' column earlier in this post, yielding:
$ awk '{print $5}' | sed 's/^/7*/; s/$/+\\/; $s/+\\//' | bc
10304.7

https://www.youtube.com/watch?v=h3h--K5928M (The Who - I Can't Explain)


Would it help if I'd omit some decimals? Let's try this (keep only one decimal!), first multiply and then truncate:
$ grep '^scc1' LOGFILE |sed 29q|cut -f6| sed 's/^/7*/' |bc| sed 's/\(\..\).*/\1/; s/$/+\\/; $s/+\\//' | bc
10303.1
That's a little closer. Not close enough. Another try, first truncate and then multiply:
$ grep '^scc1' LOGFILE | sed 29q | cut -f6 | sed 's/\(\..\).*/\1/; s/^/7*/; s/$/+\\/; $s/+\\//' | bc
10294.9

We have a match!
So I think that the numbers from 'Granted BOINC Credit' — like 23.99452485540153 — are being truncated at one decimal — 23.9 — and then multiplied by 7 to gain 'Points Generated'.
----------------------------------------
[Edit 1 times, last edit by adriverhoef at Feb 5, 2017 10:18:58 AM]
[Feb 5, 2017 1:56:37 AM]   Link   Report threatening or abusive post: please login first  Go to top 
aBowers
Advanced Cruncher
Joined: Jun 14, 2006
Post Count: 54
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: How does WCG calculate Points Generated exactly?

Nice work.
----------------------------------------

[Feb 15, 2017 3:37:54 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: How does WCG calculate Points Generated exactly?

The title suggested an actual question, to which the answer is... dice. cool

That's really counting beans [once upon a time an IT guy at Commerzbank programmed for the Nth fraction of interest to be booked to his private account... since no one sees the Nth fraction he got away with it, and though it was the Nth decimal, on millions of transactions, the sum of the Nth behind quickly became the $th in front of the decimal, until such time that vacation time came around, and as with everything, there's always arousal of suspicion if someone never goes on vacation... he had to make a big payback on return and got a pink slip.]. Fortunately, this is not about money, but if uplinger would do so skimming the truncated difference, he'd make big points without crunching laughing
----------------------------------------
[Edit 1 times, last edit by Former Member at Feb 15, 2017 10:33:41 AM]
[Feb 15, 2017 10:30:26 AM]   Link   Report threatening or abusive post: please login first  Go to top 
adriverhoef
Master Cruncher
The Netherlands
Joined: Apr 3, 2009
Post Count: 2355
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: How does WCG calculate Points Generated exactly?

The title suggested an actual question

It was actually a question at first; time passed by while writing and the post grew longer and longer, until I stumbled upon the answer. wink
[Feb 15, 2017 11:36:25 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: How does WCG calculate Points Generated exactly?

Did not write "The title suggested an actual question", but wrote "The title suggested an actual question, to which the answer is... dice. cool"... it was a sarcasm ;P)

BTW, your runtime filtering falls over on any larger account. See many results with "to the second exact same runtime in the same stats period".
[Feb 15, 2017 11:44:18 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: How does WCG calculate Points Generated exactly?

An actual albeit quasi 'on topic', it's hard to keep WCG forum threads not to go off topic, if WCG points are calculated from truncated single result 1 decimal credit, e.g. 1.999 then in the extreme not becoming 14 with normal rounding but 13.3 points, what then is being exported to the 3rd party stats sites thru the 6 hourly user.gz file... the BOINC earned WCG points divided by 7 or the original credit accumulated to 13 or 14 decimal exact? Think to remember the answer notwithstanding alzheimer lite, but for the nitty gritty pickers maybe something to nail down and work up in a detail post **. cool

** It's not easy to test, more work, for those that have old UD agent points that never were converted back to BOINC cobblestones.
[Feb 21, 2017 5:48:25 PM]   Link   Report threatening or abusive post: please login first  Go to top 
[ Jump to Last Post ]
Post new Thread