diff --git a/checkin_notes b/checkin_notes index 5140bc8999..bccc6a33d9 100755 --- a/checkin_notes +++ b/checkin_notes @@ -9183,6 +9183,13 @@ David Jan 14 2004 sched/ start +David Jan 14 2004 + - add element to + of results when send to server + + client/ + client_types.C + David Jan 14 2004 - don't blink sys tray icon more than 10 sec (from Rom Walton) diff --git a/doc/contact.php b/doc/contact.php index 5350831528..eec7ddf38f 100644 --- a/doc/contact.php +++ b/doc/contact.php @@ -31,6 +31,8 @@ Tim Lan
Stephen Pellicer
+Jens Seidler +
Rom Walton
Oliver Wang diff --git a/doc/credit.php b/doc/credit.php index 0f9d2db724..2033ba2f47 100644 --- a/doc/credit.php +++ b/doc/credit.php @@ -11,7 +11,7 @@ individuals, teams, and categories (countries, CPU types, etc.) ranked by credit.

-BOINC's credit system is based on a 'reference computer' that does +BOINC's credit system is based on a 'reference computer' that can do

BOINC's unit of credit, the Cobblestone 1, -is one day of CPU time on the reference computer. +is 1/300 day of CPU time on the reference computer.

Each project maintains two types of credit: @@ -28,7 +28,8 @@ Each project maintains two types of credit: The total number of Cobblestones performed.

  • Recent average credit: The average number of Cobblestones per day performed recently. -This average decreases by a factor of two every week. +This average decreases by a factor of two every week, +according to algorithms given below.

    @@ -62,6 +63,39 @@ projects supply their own benchmarking functions. This will also handle the situation where a project's application does e.g. all integer arithmetic. + +

    How 'Recent Average Credit' is computed

    +Each time new credit granted, +the following function is used to update the +recent average credit of the host, user and team: +
    +
    +// decay an exponential average of credit per day,
    +// and possibly add an increment for new credit
    +//
    +void update_average(
    +    double credit_assigned_time,        // when work was started for new credit
    +                                        // (or zero if no new credit)
    +    double credit,                      // amount of new credit
    +    double& avg,                        // average credit per day (in and out)
    +    double& avg_time                    // when average was last computed
    +) {
    +    double now = dtime();
    +
    +    if (avg_time) {
    +        double diff = now - avg_time;
    +        double diff_days = diff/SECONDS_IN_DAY;
    +        double weight = exp(-diff*LOG2/AVG_HALF_LIFE);
    +        avg *= weight;
    +        avg += (1-weight)*(credit/diff_days);
    +    } else {
    +        double dd = (now - credit_assigned_time)/SECONDS_IN_DAY;
    +        avg = credit/dd;
    +    }
    +    avg_time = now;
    +}
    +
    +
    1 Named after Jeff Cobb of SETI@home "; diff --git a/doc/teams.php b/doc/teams.php index 47e80f4d49..ba6444ca9f 100644 --- a/doc/teams.php +++ b/doc/teams.php @@ -11,8 +11,10 @@ The participant who created the team is called its founder. A team is local to a project. There is currently no provision for teams that span projects.

    -Total and average credit is accounted for teams; -a team's credit is the sum of the credits of its members. +Total and average credit is accounted for teams, +and reflects all work done by participants +while they belong to the team +(even if they later quit the team).

    A team has the following attributes: