Wrong RAC
Wrong RAC
During the last month, my RieselSieve RAC was showing over 600 on the widget, even though I haven't crunched on that project for a few months. RS website shows my RAC as 0.00.
I manually downloaded the widget XML feed, and it has this tag:
<project name="RS" credit="971.23" rac="693.45" rank="2754"/>
Final discovery: I manually downloaded RS stats XML file and my RAC is like this:
<expavg_credit>2.35084348448864e-07</expavg_credit>
Maybe the server-side code on mundayweb isn't parsing that number format correctly.
I manually downloaded the widget XML feed, and it has this tag:
<project name="RS" credit="971.23" rac="693.45" rank="2754"/>
Final discovery: I manually downloaded RS stats XML file and my RAC is like this:
<expavg_credit>2.35084348448864e-07</expavg_credit>
Maybe the server-side code on mundayweb isn't parsing that number format correctly.
Hi,
Thanks for the info. That was a fun one to track down!
Long story short, my regular expression to parse credit and RACs couldn't handle floating point numbers and so the last value stored in the RAC variable was used.
I have now updated the parsing script to handle this error.
RieselSieve is currently up to date (as I was using it for testing) - the other projects will correct themselves over night.
Cheers,
Neil.
Thanks for the info. That was a fun one to track down!
Long story short, my regular expression to parse credit and RACs couldn't handle floating point numbers and so the last value stored in the RAC variable was used.
I have now updated the parsing script to handle this error.
RieselSieve is currently up to date (as I was using it for testing) - the other projects will correct themselves over night.
Cheers,
Neil.
RAC decay
Does the server load get too high during updates, or can you handle yet another calculation for each user? 
My RAC for a few projects is incorrectly high, sometimes because the project isn't running the RAC decay functions. In a few cases, because the project is inactive; so even if it used to do the RAC decay, it's not exporting stats anymore. I have seen suggested elsewhere that stats sites could do RAC decay themselves in order to give accurate RAC stats.
PHP code to do RAC decay is available on CreditSystem#rac-decay. It shouldn't be hard to translate that to Perl, or whatever you use for the update script. Do it in assembler using SIMD operations if you're worried about performance 

My RAC for a few projects is incorrectly high, sometimes because the project isn't running the RAC decay functions. In a few cases, because the project is inactive; so even if it used to do the RAC decay, it's not exporting stats anymore. I have seen suggested elsewhere that stats sites could do RAC decay themselves in order to give accurate RAC stats.


Hi,
I understand what you are saying.
I guess for projects that were last updated by my site today have roughly the correct RAC.
However, projects that have not updated recently will have incorrect RAC values.
Therefore, I guess I need to update the RAC values for users and teams for projects that have not updated recently? Does this sound correct?
As I store the date and time that a project was last updated, I can easily work out which projects are affected.
What do you think?
Cheers,
Neil.
I understand what you are saying.
I guess for projects that were last updated by my site today have roughly the correct RAC.
However, projects that have not updated recently will have incorrect RAC values.
Therefore, I guess I need to update the RAC values for users and teams for projects that have not updated recently? Does this sound correct?
As I store the date and time that a project was last updated, I can easily work out which projects are affected.
What do you think?
Cheers,
Neil.
Almost. I have a really high RAC on Zivis, because I crunched almost until the project was retired. But I also have high RAC on other projects that are exporting stats, but don't correctly decay RAC themselves.
I remember I once had a RAC of 50 on Tanpaku for months after detaching. I attached, crunched a single WU, detached. My RAC dropped to 0.01. This is because the projects always recalculate RAC when credit is granted.
Of course, re-calculating RAC for inactive projects is good enough; and I'd like to see it implemented. But if you did it on all projects, you'd be giving info even more up-to-date than the projects themselves!
I remember I once had a RAC of 50 on Tanpaku for months after detaching. I attached, crunched a single WU, detached. My RAC dropped to 0.01. This is because the projects always recalculate RAC when credit is granted.
Of course, re-calculating RAC for inactive projects is good enough; and I'd like to see it implemented. But if you did it on all projects, you'd be giving info even more up-to-date than the projects themselves!
Ok - I could do it for all projects.
At the moment my site stores the date and time that my site last updated the stats. I also need to store the time that the project's themselves generated the stats by looking at the tables.xml file.
This will require some work - I'll have to look at it after my vacation (see announcement thread)
Cheers,
Neil.
At the moment my site stores the date and time that my site last updated the stats. I also need to store the time that the project's themselves generated the stats by looking at the tables.xml file.
This will require some work - I'll have to look at it after my vacation (see announcement thread)

Cheers,
Neil.
Ah.... that makes the PHP function more understandable. I incorrectly assumed that the $avg_time variable was the time that the project generated the stats files, not the field in the user XML file.
I still need to add another field to my databases and update the update script, but this is trivial.
For active projects, I can update the RAC values as part of the update script.
For inactive projects and active projects that failed to update, I will have to run another script to re-calculate the RAC values for users.
I could make the stats graphics do this on the fly, but other sources use my stats (e.g. the widgets, my BOINC stats pages etc.), so it is better to update the RACs in the database itself.
Certainly a few things to think about!
Cheers,
Neil.
I still need to add another field to my databases and update the update script, but this is trivial.
For active projects, I can update the RAC values as part of the update script.
For inactive projects and active projects that failed to update, I will have to run another script to re-calculate the RAC values for users.
I could make the stats graphics do this on the fly, but other sources use my stats (e.g. the widgets, my BOINC stats pages etc.), so it is better to update the RACs in the database itself.
Certainly a few things to think about!
Cheers,
Neil.
Hi,
I have released a new version of my update script which will add a new field to all the databases for projects which are currently active to store the expavg_time values.
I need to roll out updates to the stats graphics, widgets, and my stats pages to calculate the RAC on the fly. I have decided that this is the best way to make the RAC values truly up to date.
Watch this space,
Neil.
I have released a new version of my update script which will add a new field to all the databases for projects which are currently active to store the expavg_time values.
I need to roll out updates to the stats graphics, widgets, and my stats pages to calculate the RAC on the fly. I have decided that this is the best way to make the RAC values truly up to date.
Watch this space,
Neil.
Hi,
Following a site-wide update, RAC values are now calculated in realtime. The stats graphics, widgets data feed and the BOINC Stats section of the site have been updated.
Any problems, let me know.
Cheers,
Neil.
Following a site-wide update, RAC values are now calculated in realtime. The stats graphics, widgets data feed and the BOINC Stats section of the site have been updated.
Any problems, let me know.
Cheers,
Neil.
-
- Member
- Posts: 26
- Joined: Mon Apr 25, 2005 12:44 am
- Location: southern illinois, USA
- Contact:
The only problem i see with updating RAC in real time...Is that the project stat totals are updated only once a day...After that your RAC will fall continually on your sig until the next day when stat totals are updated...You can go down all day...but you can only go up once a day...Near the end of the day my project RAC at SETI as shown by the project is significantly higher than what my sig is showing.


Neil, as I read it, the original query was about RACs that don't decay because the project doesn't run the decay script. So you now calculate the RACs in real time.
Could you not opt for the middle ground - calculate the RACs yourself but only when you update the stats for a particular project. That way, RACs will decay on inactive projects, but they won't keep dropping through the day.
I haven't voted in your poll because I'd prefer this middle option.
Could you not opt for the middle ground - calculate the RACs yourself but only when you update the stats for a particular project. That way, RACs will decay on inactive projects, but they won't keep dropping through the day.
I haven't voted in your poll because I'd prefer this middle option.
