Wrong RAC

This forum provides an FAQ for users as well as allowing you to ask questions about MundayWeb's very popular BOINC stats services.
povaddict
Member
Posts: 44
Joined: Tue Sep 05, 2006 3:12 am

Wrong RAC

Post by povaddict » Mon Jul 30, 2007 1:43 am

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.

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Mon Jul 30, 2007 7:38 pm

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.

povaddict
Member
Posts: 44
Joined: Tue Sep 05, 2006 3:12 am

RAC decay

Post by povaddict » Wed Aug 01, 2007 8:50 pm

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.

:arrow: 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 :mrgreen:

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Wed Aug 01, 2007 11:39 pm

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.

povaddict
Member
Posts: 44
Joined: Tue Sep 05, 2006 3:12 am

Post by povaddict » Wed Aug 01, 2007 11:51 pm

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!

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Wed Aug 01, 2007 11:55 pm

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.

povaddict
Member
Posts: 44
Joined: Tue Sep 05, 2006 3:12 am

Post by povaddict » Thu Aug 02, 2007 12:02 am

Note that for the RAC calculation, avg_time should be taken from a separate field on the user XML.

<expavg_credit>42.470870275742</expavg_credit> <- $avg
<expavg_time>1185951626</expavg_time> <- $avg_time

Have fun on your vacation!

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Thu Aug 02, 2007 12:16 am

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.

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Wed Aug 22, 2007 12:02 am

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.

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Tue Oct 09, 2007 11:07 pm

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.

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Wed Oct 10, 2007 10:02 pm

Hi all,

To help my web host investigate an increased load on my web server I have disabled the calculation of RAC values in real time for all stats graphics until further notice.

I hope to return real time RAC values for stats graphics this time tomorrow.

Cheers,

Neil.

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Thu Oct 11, 2007 8:52 pm

RAC values for stats graphics have now been re-enabled.

Cheers,

Neil.

dan_burr_michel
Member
Posts: 26
Joined: Mon Apr 25, 2005 12:44 am
Location: southern illinois, USA
Contact:

Post by dan_burr_michel » Mon Oct 29, 2007 4:21 am

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.
Image
Image

Neil
Site Admin
Posts: 1345
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK
Contact:

Post by Neil » Mon Oct 29, 2007 7:13 pm

Hi,

Good point. I may run a poll in a mo to see what users prefer.

Cheers,

Neil.

Marky-UK
Member
Posts: 32
Joined: Fri Dec 16, 2005 2:30 pm

Post by Marky-UK » Tue Nov 06, 2007 10:23 am

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.
Image

Post Reply