With a replication of 1, you have no idea if the computer that is returning
the result has been overclocked so much that the results are gibberish.  It
might also be overheating, and there are people that will do anything for a
credit - including dummying up results so that it LOOKS like they have done
the work when they have not.

There are only two ways of seeding these problems out.  First is to have
some technique that will quickly go from the answer given back to the
original problem.  Since the users machines are completely untrustworthy,
you have to keep the original problem on your server.  Since only some
computational tasks can do this, the other method is redundancy and
validation.

jm7


                                                                           
             Kunsheng Chen                                                 
             <[email protected]>                                             
             Sent by:                                                   To 
             <boinc_dev-bounce         [email protected]          
             [email protected]                                          cc 
             u>                                                            
                                                                   Subject 
                                       [boinc_dev] Programming to validate 
             09/30/2009 05:48          only one result                     
             PM                                                            
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




I set replication_factor as 1 and one workunit only have one result.

The idea is to set a finish symbol in returned file from clients and check
whether that symbol is in the file, it is considered success.

If not, it means the client hasn't finished the task and will get no
credit.  The credit is defined in WU.

I checked the document and seems following four functions are required in
the framework. I am a little bit confused about function 'compare_results',
since I only got one result, what should I do in this function ? Just
return 0 ?

-----------------------------------------------------

int init_result(RESULT& /*result*/, void*& /*data*/) {

   /* Check symbol in file */
    return 0;
}

int compare_results(
    RESULT & r1, void* /*data1*/,
    RESULT const& r2, void* /*data2*/,
    bool& match
) {
    /* What should be here ?*/
    return 0;
}

int cleanup_result(RESULT const&, void*) {
    return 0;
}

double compute_granted_credit(WORKUNIT& wu, vector<RESULT>& results) {
    return get_credit_from_wu(wu, results);
}

-----------------------------------------------

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.



_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to