Handling of workunits returned late


Advanced search

Message boards : Windows : Handling of workunits returned late

Sort
Author Message
Profile robertmiles

Joined: Apr 16 09
Posts: 96
ID: 9967
Credit: 1,290,747
RAC: 0
Message 4930 - Posted 25 Apr 2009 19:40:29 UTC

I've seen something on other BOINC projects with short deadlines that I'd like to see here also. They have the handling of workunits that go past their deadlines modified so that these workunits are reissued to other participants, but returned workunits are accepted and credit granted if EITHER of the following are true:

1. The workunit results are valid and returned before enough other participants return it to meet the number of returns needed, even if it's returned past the deadline.

2. The workunit results are valid and returned by the deadline, even if enough copies were already returned by other participants and this set of results will not be passed along to the project scientists.

This should occasionally help you get results from any such workunits faster than just reissuing then to another participant, and then allowing only that participant to return results that you accept.

One way of doing this appears to involve mainly modifying the number of copies of the workunit to be issued at the server end but not also at the participant's end, with some changes to the software that decides whether to accept the results and grant credit.

Note that this also allows you to start receiving useful results faster after any communications problems affecting the server end long enough for a large number of workunits go past their deadlines. However, it's also likely to increase the disk space requirements at the server end somewhat, since certain files at that end can't be deleted quite as quickly.

Some recent versions of BOINC have the capability of telling any of the multiple computers which get these workunits to abort them if that computer hasn't even started processing the workunit, if that computer happens to connect to the server again before starting the workunit. This capabilty can also be used if, for some other reason, results from that workunit are no longer useful.

Message boards : Windows : Handling of workunits returned late

Database Error
: The MySQL server is running with the --read-only option so it cannot execute this statement
array(3) {
  [0]=>
  array(7) {
    ["file"]=>
    string(47) "/boinc/projects/docking/html_v2/inc/db_conn.inc"
    ["line"]=>
    int(97)
    ["function"]=>
    string(8) "do_query"
    ["class"]=>
    string(6) "DbConn"
    ["object"]=>
    object(DbConn)#6 (2) {
      ["db_conn"]=>
      resource(54) of type (mysql link persistent)
      ["db_name"]=>
      string(7) "docking"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(1) {
      [0]=>
      &string(51) "update DBNAME.thread set views=views+1 where id=421"
    }
  }
  [1]=>
  array(7) {
    ["file"]=>
    string(48) "/boinc/projects/docking/html_v2/inc/forum_db.inc"
    ["line"]=>
    int(60)
    ["function"]=>
    string(6) "update"
    ["class"]=>
    string(6) "DbConn"
    ["object"]=>
    object(DbConn)#6 (2) {
      ["db_conn"]=>
      resource(54) of type (mysql link persistent)
      ["db_name"]=>
      string(7) "docking"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(3) {
      [0]=>
      object(BoincThread)#3 (16) {
        ["id"]=>
        string(3) "421"
        ["forum"]=>
        string(1) "5"
        ["owner"]=>
        string(4) "9967"
        ["status"]=>
        string(1) "0"
        ["title"]=>
        string(35) "Handling of workunits returned late"
        ["timestamp"]=>
        string(10) "1240688429"
        ["views"]=>
        string(2) "45"
        ["replies"]=>
        string(1) "0"
        ["activity"]=>
        string(19) "1.4675767430856e-90"
        ["sufferers"]=>
        string(1) "0"
        ["score"]=>
        string(1) "0"
        ["votes"]=>
        string(1) "0"
        ["create_time"]=>
        string(10) "1240688429"
        ["hidden"]=>
        string(1) "0"
        ["sticky"]=>
        string(1) "0"
        ["locked"]=>
        string(1) "0"
      }
      [1]=>
      &string(6) "thread"
      [2]=>
      &string(13) "views=views+1"
    }
  }
  [2]=>
  array(7) {
    ["file"]=>
    string(63) "/boinc/projects/docking/html_v2/user/community/forum/thread.php"
    ["line"]=>
    int(184)
    ["function"]=>
    string(6) "update"
    ["class"]=>
    string(11) "BoincThread"
    ["object"]=>
    object(BoincThread)#3 (16) {
      ["id"]=>
      string(3) "421"
      ["forum"]=>
      string(1) "5"
      ["owner"]=>
      string(4) "9967"
      ["status"]=>
      string(1) "0"
      ["title"]=>
      string(35) "Handling of workunits returned late"
      ["timestamp"]=>
      string(10) "1240688429"
      ["views"]=>
      string(2) "45"
      ["replies"]=>
      string(1) "0"
      ["activity"]=>
      string(19) "1.4675767430856e-90"
      ["sufferers"]=>
      string(1) "0"
      ["score"]=>
      string(1) "0"
      ["votes"]=>
      string(1) "0"
      ["create_time"]=>
      string(10) "1240688429"
      ["hidden"]=>
      string(1) "0"
      ["sticky"]=>
      string(1) "0"
      ["locked"]=>
      string(1) "0"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(1) {
      [0]=>
      &string(13) "views=views+1"
    }
  }
}
query: update docking.thread set views=views+1 where id=421