wiki:QuickStart

Version 3 (modified by davea, 9 years ago) (diff)

--

Quick start

Want to see BOINC in action as fast as possible?

  • Run the BOINC virtual server in a VMWare player. Set up its IP address, say a.b.c.d.
  • Logged into the server as 'boincadm', create a test project:
    $ cd ~/boinc/tools
    $ ./make_project --test_app test
    $ cd ~/projects/test
    $ su -c 'cat test.httpd.conf >> /etc/apache2/httpd.conf'
    $ su -c 'apache2ctl -k restart'
    $ crontab test.cronjob
    $ ./bin/xadd
    $ ./bin/update_versions
    $ ./bin/start
    

Your BOINC client will immediately being fetching and executing jobs from the server (the jobs are for a sample application that uses 1 minute of CPU time and processes a 4 MB file). You can repeat this on as many computers as you want. Voila! You're doing distributed computing.

In a web browser, visit http://a.b.c.d/test. You will see your project's web site. You can log in (using the same email/password) and access your volunteer account information.

Running your own application

Suppose that instead of the sample application, you want to run your own. Logged in to the virtual server, type

cd ~/projects/test
html/ops/single_job_setup.php ~/boinc_samples

and follow the resulting instructions. This configures your project to handle "single job" submissions. Then compile a program in your home directory. Say the program is a.out and that it writes to stdout. Then, in your home directory, type

boinc/tools/boinc_submit --stdout foo a.out

When this completes, foo will contain the output of a.out, run on one of the BOINC client hosts.

What's next?

This demonstrates how you can use BOINC to run programs remotely, but it's not the complete picture. In particular:

  • This demo uses only Linux clients. BOINC lets you use heterogeneous pools of Windows, Mac OS X, Linux, and other clients.
  • This demo involves manual submission of single jobs. BOINC lets you create automated systems that create and handle millions of jobs per day.
  • In this demo, we trust the client to return correct results. BOINC lets you set things up so that results from faulty or malicious clients are automatically detected and rejected.

... and many, many other things. Keep on reading.