server Technology Biography
The server consists of two CGI programs and (normally) five daemons, written in C++. Computations to be performed by clients are called workunits. A result describes an instance of a workunit, even if it hasn't been completed. A project does not explicitly create results; the server creates them automatically from workunits.
The scheduler CGI program handles requests from clients, receiving completed results and sending new work to compute. The scheduler doesn't get available results directly from the database. Instead, there is a feeder daemon that loads tasks from the database, and keeps them in a shared memory block, which the scheduler reads. The feeder periodically fills empty "slots" in the shared memory block after the scheduler has sent those results to a client.
When all the results from a workunit are completed and returned, the validator compares them. The validator can have custom project code to do fuzzy comparison between results, or it can be just a bitwise comparison. If the results match, the workunit is marked valid, users are granted credit for it, and a "canonical result" is chosen.
Next, the assimilator daemon processes the canonical result using project-specific code. For example, some projects may parse the file and store information in a database, others may just copy the file somewhere else. An assimilator may also generate more workunits based on the returned data.
The file_deleter daemon deletes output files after the assimilator has processed them, and deletes input files that aren't needed anymore.
The transitioner daemon handles state transitions of workunits and results. It also generates results from workunits when they are first created, and when more are needed (for example, if a result turns out invalid).A BOINC network is similar to a hacker/spammers botnet. In BOINC's case, however, it is hoped that the software is installed and operated with the consent of the computer's owner.
Since BOINC has features that can render it invisible to the typical user, there is risk that unauthorized and difficult to detect installations may occur. This would aid the accumulation of BOINC-credit points by hobbyists who are competing with others for status within the BOINC-credit subculture.
The server consists of two CGI programs and (normally) five daemons, written in C++. Computations to be performed by clients are called workunits. A result describes an instance of a workunit, even if it hasn't been completed. A project does not explicitly create results; the server creates them automatically from workunits.
The scheduler CGI program handles requests from clients, receiving completed results and sending new work to compute. The scheduler doesn't get available results directly from the database. Instead, there is a feeder daemon that loads tasks from the database, and keeps them in a shared memory block, which the scheduler reads. The feeder periodically fills empty "slots" in the shared memory block after the scheduler has sent those results to a client.
When all the results from a workunit are completed and returned, the validator compares them. The validator can have custom project code to do fuzzy comparison between results, or it can be just a bitwise comparison. If the results match, the workunit is marked valid, users are granted credit for it, and a "canonical result" is chosen.
Next, the assimilator daemon processes the canonical result using project-specific code. For example, some projects may parse the file and store information in a database, others may just copy the file somewhere else. An assimilator may also generate more workunits based on the returned data.
The file_deleter daemon deletes output files after the assimilator has processed them, and deletes input files that aren't needed anymore.
The transitioner daemon handles state transitions of workunits and results. It also generates results from workunits when they are first created, and when more are needed (for example, if a result turns out invalid).A BOINC network is similar to a hacker/spammers botnet. In BOINC's case, however, it is hoped that the software is installed and operated with the consent of the computer's owner.
Since BOINC has features that can render it invisible to the typical user, there is risk that unauthorized and difficult to detect installations may occur. This would aid the accumulation of BOINC-credit points by hobbyists who are competing with others for status within the BOINC-credit subculture.
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
server Technology
No comments:
Post a Comment