Lobbying Again for Change to Account Page

Message boards : Number crunching : Lobbying Again for Change to Account Page
Message board moderation

To post messages, you must log in.

Previous · 1 · 2

AuthorMessage
Profile perryjay
Volunteer tester
Avatar

Send message
Joined: 20 Aug 02
Posts: 3377
Credit: 20,676,751
RAC: 0
United States
Message 1059618 - Posted: 25 Dec 2010, 15:51:29 UTC - in response to Message 1059594.  

I'd be happy if they just moved the total indicator from the bottom of the page to the top so I wouldn't have to scroll to the bottom of the page to see the total. I don't think that would change anything as far as how it works just make it a little easier to read.


PROUD MEMBER OF Team Starfire World BOINC
ID: 1059618 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51469
Credit: 1,018,363,574
RAC: 1,004
United States
Message 1059622 - Posted: 25 Dec 2010, 16:01:23 UTC - in response to Message 1059594.  
Last modified: 25 Dec 2010, 16:09:32 UTC

I think the suggestion is desirable but probably impractical.
It would have to be done for every owners account and be refreshed;
a) every time a task is reported and goes into the pendings tray and
b) for every task reported by a wingman and then validated and departs the pendings tray.

This would almost certainly be a large server load, for one entry on the accounts page that is only looked at by at most few thousand owners per day.


I simply don't understand why a pending credit total could not be maintained as readily as a user's total credit in real time.
You have a bin.....pending credit. It would have to be loaded from scratch upon initialization, of course. But then, maintenance of it should be not be much different. When a result is reported, either credits are granted and they are added to the total credit, or credits are not granted and they are added to the pending credits.
When a pending WU is processed by the validator, either credit is granted and it is added to the total credit along with the extra step of subtracting it from the pending credit. If the WU does not validate, it is simply subtracted from the pending credit, or if another wingman needs to be waited upon, no action is taken at all. The current pending credits page can continue to function as is.
And perhaps during the weekly outage, the pending credits totals could be reloaded from scratch to maintain it and catch anything that may have fallen through the cracks.

I dunno folks, but this seems to me to be a rather simple addition to the validator or assimilator code, wherever credits are currently handled. You are simply adding another variable to maintain and a few extra subtractions and additions to do it.

Meow meow.

EDIT....
@perryjay
The point is....some of us are trying to come up with a way to make the pending total accessible whist actually reducing the database load.
And do try the 'end' key....I never knew about it. Instantly takes you to the bottom of the page without scrolling...LOL.
"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 1059622 · Report as offensive
Profile Geek@Play
Volunteer tester
Avatar

Send message
Joined: 31 Jul 01
Posts: 2467
Credit: 86,146,931
RAC: 0
United States
Message 1059635 - Posted: 25 Dec 2010, 16:41:34 UTC

the pending credit number was displayed at one time but was removed and the "view" option took it's place. Guess the hit on the data base became excessive to maintain for everyone so they made it to be "on demand".
Boinc....Boinc....Boinc....Boinc....
ID: 1059635 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51469
Credit: 1,018,363,574
RAC: 1,004
United States
Message 1059640 - Posted: 25 Dec 2010, 17:00:33 UTC - in response to Message 1059635.  

the pending credit number was displayed at one time but was removed and the "view" option took it's place. Guess the hit on the data base became excessive to maintain for everyone so they made it to be "on demand".

Maybe the problem was with the way it was being handled.
I still think my solution is workable, and could be done in a database friendly way.

"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 1059640 · Report as offensive
Profile perryjay
Volunteer tester
Avatar

Send message
Joined: 20 Aug 02
Posts: 3377
Credit: 20,676,751
RAC: 0
United States
Message 1059647 - Posted: 25 Dec 2010, 17:34:08 UTC - in response to Message 1059622.  

I didn't even know there was an end key! I found it right next to my any key!! :-)


PROUD MEMBER OF Team Starfire World BOINC
ID: 1059647 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51469
Credit: 1,018,363,574
RAC: 1,004
United States
Message 1059650 - Posted: 25 Dec 2010, 17:58:56 UTC - in response to Message 1059647.  

I didn't even know there was an end key! I found it right next to my any key!! :-)

LOL...I don't think I ever used it before!!

Amazing the things one learns here at Seti.
"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 1059650 · Report as offensive
-BeNt-
Avatar

Send message
Joined: 17 Oct 99
Posts: 1234
Credit: 10,116,112
RAC: 0
United States
Message 1059682 - Posted: 25 Dec 2010, 20:44:10 UTC

Or another simple solution is to pagenate the pending pages. Show only the total at the top of each page and only return the first 25 on the first page, second page total at the top next 25 etc. But the total on the top of the page would always show the complete total. That would figure out if it's a php issue or a database issue.
Traveling through space at ~67,000mph!
ID: 1059682 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51469
Credit: 1,018,363,574
RAC: 1,004
United States
Message 1059688 - Posted: 25 Dec 2010, 21:28:37 UTC - in response to Message 1059682.  

Or another simple solution is to pagenate the pending pages. Show only the total at the top of each page and only return the first 25 on the first page, second page total at the top next 25 etc. But the total on the top of the page would always show the complete total. That would figure out if it's a php issue or a database issue.

I don't see where this would help the database access situation....
Unless the total was saved and updated per my earlier suggestion, the database would have to read every record to show the total on the first page, even if all the records were not displayed on a single page.
"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 1059688 · Report as offensive
Profile Siran d'Vel'nahr
Volunteer tester
Avatar

Send message
Joined: 23 May 99
Posts: 7379
Credit: 44,181,323
RAC: 238
United States
Message 1059694 - Posted: 25 Dec 2010, 22:38:07 UTC - in response to Message 1059379.  

ISTM that db accesses are required to get a total.....

That does seem to be the way it's written. Looking at http://boinc.berkeley.edu/trac/browser/trunk/boinc/html/user/pending.php, the key lines are:

45     $results = BoincResult::enum("userid=$user->id AND (validate_state=0 OR validate_state=4) AND claimed_credit > 0"); 
46     foreach($results as $result) { 
47         echo "<result>\n"; 
48         echo "    <resultid>".$result->id."</resultid>\n"; 
49         echo "    <workunitid>".$result->workunitid."</workunitid>\n"; 
50         echo "    <hostid>".$result->hostid."</hostid>\n"; 
51         echo "    <claimed_credit>".$result->claimed_credit."</claimed_credit>\n"; 
52         echo "    <received_time>".$result->received_time."</received_time>\n"; 
53         echo "</result>\n"; 
54         $sum += $result->claimed_credit; 
55     } 

So yes, not only is each pending record retrieved from the database, but the total is accumulated while the list is stepped through and printed. The server doesn't know the total until the end of the page is reached.

An alternative would be to leave the link on the account page as it is (so no DB access is triggered), but rewrite pending.php so that when the page is first accessed, the first thing the user sees is the total figure, with a "show details" button/link/expand to invoke the current full list.

It should be easy to write an eqivalent of line 45, returning the sum directly using SQL functions - that should be a much 'lighter' query than the enum, and save on the server memory requirement of the $results vector [which might have a bearing on the Wondering when my pending credit page will fail....... question].

Anyone here got good enough PHP skills to write a patch? (I did an evening class in PHP once, but I think some practical experience would be advisable before submission.....)

Greetings Richard,

I can see a possible solution based on my meager programming skills with Perl.

My web host has given me access to logs related to my websites, error, user agent, etc. I wrote a CGI that reads whichever log I select. Since the logs grow quite huge, I got tired of having to sit for 2, 3, 4 minutes waiting for the log to be fully read and displayed.

My CGI reads each log line by line and keeps a count of the entries in each log. I came up with an idea that I could have the CGI look for a specific entry number and when reach, display the rest of the log. It works and it takes but a second or 2, if that, to get the results in my browser. Now, when I am debugging CGIs I plug the last entry number into the CGI and view from the last error message viewed to the newest. Works for me quite well.

I don't know PHP, but I don't see a reason why something like that could not be done, less the entering of the entry number as in my case, of course. Just eliminate the line by line display and when all calculations are completed, display just the results. Sounds simple enough and faster. Thoughts, since I have no experience with PHP?

Keep on BOINCing...! :)

CAPT Siran d'Vel'nahr - L L & P _\\//
Winders 11 OS? "What a piece of junk!" - L. Skywalker
"Logic is the cement of our civilization with which we ascend from chaos using reason as our guide." - T'Plana-hath
ID: 1059694 · Report as offensive
-BeNt-
Avatar

Send message
Joined: 17 Oct 99
Posts: 1234
Credit: 10,116,112
RAC: 0
United States
Message 1059731 - Posted: 26 Dec 2010, 3:46:25 UTC - in response to Message 1059688.  
Last modified: 26 Dec 2010, 3:47:04 UTC


I don't see where this would help the database access situation....
Unless the total was saved and updated per my earlier suggestion, the database would have to read every record to show the total on the first page, even if all the records were not displayed on a single page.


It would depend in where the sum is taking place and how it's taking place. If it's being summed by php or in the sql query. Also depends on if they are using an array or sum functions in the query. There are a lot of different ways, and there is no single solution to any problem when you are talking about php and mysql especially when mixing in php variables, which they do in the form of your account name, dates, show ranged when dealing with astropulse etc.

So if you pagenated it you could sum it once and it would take a far amount of time out of the printing and calculation of the page. It would decrease the php processing time and would tell you if it's the database or the php settings / programming. It has nothing to do with a database access issue.

At least not in my opinion. The database is faster now, a lot faster than it was. The IBM Informix database's doesn't have a query timeout function. It is controlled through the ODBC driver that has this functionality on the machine. With that being said it means it has to be explicitly stated in your programming code for the application accessing an Informix database, IE php, to state the timeout on access. Default timeout in php.ini, the configuration file for php, is 30 seconds.

When the database starts to collect your stats the database isn't the one crapping and not sending the results. It's the php. So you would need to find a way to calculate the sum and not collect a full array to print to the screen making your timings between php much faster and not timeout. IE pagenate, which started to become popular a long time ago.

Of course this is merely my opinion....
Traveling through space at ~67,000mph!
ID: 1059731 · Report as offensive
Cruncher-American Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor

Send message
Joined: 25 Mar 02
Posts: 1513
Credit: 370,893,186
RAC: 340
United States
Message 1059808 - Posted: 26 Dec 2010, 12:39:23 UTC

And while we are at it: it would be nice if we could seperate out on the Tasks page CPU from GPU for anonymous platform (as we can now for AP vs. MB). That should be a trivial change....
ID: 1059808 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1059817 - Posted: 26 Dec 2010, 14:22:28 UTC - in response to Message 1059808.  

And while we are at it: it would be nice if we could seperate out on the Tasks page CPU from GPU for anonymous platform (as we can now for AP vs. MB). That should be a trivial change....


If separate CPU from GPU, can we also separate Nvidia GPU from ATI GPU?, another trivial change? ;-)

Claggy
ID: 1059817 · Report as offensive
Cruncher-American Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor

Send message
Joined: 25 Mar 02
Posts: 1513
Credit: 370,893,186
RAC: 340
United States
Message 1059824 - Posted: 26 Dec 2010, 14:45:31 UTC - in response to Message 1059817.  


If separate CPU from GPU, can we also separate Nvidia GPU from ATI GPU?, another trivial change? ;-)

Claggy


I agree - since they already track all the apps anyway....
ID: 1059824 · Report as offensive
Previous · 1 · 2

Message boards : Number crunching : Lobbying Again for Change to Account Page


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.