= Quick start = Want to see BOINC in action as fast as possible? * Run the [VmServer 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 }}} * [http://boinc.berkeley.edu/download.php Download], install, and run the BOINC client on a Linux computer. * When prompted, enter the URL '''http://a.b.c.d/test/''', and enter an email and password. 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 reading.