BOINC Hands-on 1: Client, Server prerequisites

Exercise 1.1

First contact with BOINC. Understanding the user’s perspective is an important prerequisite for running a BOINC project. Crunch your first BOINC workunits.

*Download the standard BOINC Manager from the BOINC homepage http://boinc.berkeley.edu. Run it.

*Launch the client. Cancel the suggested "Attach to project" process and first adjust the proxy settings. Change the connection preferences in the Advanced Menu: On the HTTP Proxy tab, tick Connect via Http proxy. Use 10.0.0.94 , port 3128.

*Attach to a BOINC project of your choice (for example http://www.malariacontrol.net)

Exercise 1.2

*Describe what's happening

*Visit the project web site

*Browse the forums, say hello if you like

*Have a look at some of the profiles

*Go to your account page, adjust your general and project-specific , and other features

Exercise 1.3

The BOINC client installer sets up a directory tree which contains binaries and some configuration files. Once you sign up to projects and do work, project specific files are added. Browsing the content of the BOINC directory will help you get a better understanding of how the client works.

*List the directories within BOINC and discuss their function.

*(Optional) Look at the contents of the files global_prefs.xml (if it exists) and client_state.xml and describe the role of different XML-elements in there. Hint: Consult the wiki on http://boinc.berkeley.edu.

Exercise 1.4 (Optional)

*Open the files scheduler_request.xml and scheduler_reply.xml

*What are these files?

*Discuss the content?

BOINC server prerequisites

We will use the BOINC server VMWare image to set up our own project in the second part of the Hands-on. VMWare player and the image have been installed on your computer. Make sure you can start the virtual machine and log in

*Launch ~/Desktop/BOINC/serverVM/ubuntu-server-7.04-i386.vmx

*Login: user boincadm, pw boincadmpw

*Check if you can see the webserver of your virtual server: http://ubuntu.localdomain

You may have to change the proxy settings of your webbrowser to connect directly to the internet.

BOINC Hands-on 2: Server

Exercise 2.1

Setup your own BOINC project.

*Launch the VMWare Server and login.

$cd ~/boinc_trunk/tools

*Run the make_project script. 'test' is the name of your project.

$./make_project test

*Accept the suggested defaults. This creates a skeleton project. It sets up the databases and directory tree and creates config files with sensible defaults. The project root directory is in /home/boincadm/projects/test by default. We will refer to this directory as PROJECT_ROOT in the following. We still need to configure the webserver to make the new website known.

*Append the http.conf created by the make_project script to your webserver configuration. pw for su is 'rootpw':

$su -c 'cat ~/projects/test/test.httpd.conf >> /etc/apache2/httpd.conf'

*Restart apache:

$su -c 'apache2ctl -k restart'

The webfrontend is now ready, and you can visit it here: http://ubuntu.localdomain/test

Now we setup the crontab for the periodic BOINC and project specific tasks. The make_project has again provided a suggested entry for this. Run

$crontab PROJECT_ROOT/test.cronjob

to make cron call the bin/start script with the option --cron.

Exercise 2.2

Next we add a dummy science application (uppercase, the BOINC Hello World). Open the project.xml file in PROJECT_ROOT. A placeholder XML-element for the new applications was created by the make_project script

*Replace the content of with a name of your choice.

*Run bin/xadd from PROJECT_ROOT.

This will parse the project.xml file and add entries for the supported platforms and applications to the BOINC database. Now we need to add the binary of our science application. According to the BOINC application naming conventions (NAME_VERSION_PLATFORM), we'll put the binary here:

$mkdir -p PROJECT_ROOT/apps/uppercase/uppercase_1.1_i686-pc-linux-gnu

$cp ~/boinc_trunk/apps/upper_case ROJECT_ROOT/apps/uppercase/uppercase_1.1_i686-pc-linux-gnu/uppercase_1.1_i686-pc-linux-gnu

Then we add a new app_version entry to the database and copy the binary to the download directory by running update_versions. Ignore the security warning (your project is only visible from your PC).

*In PROJECT_ROOT:

$bin/update_versions

*Verify that the version is present on the server using the user web-interface.

*Now start the project. In PROJECT_ROOT:

$bin/start

*Enable account creation: change the value of in PROJECT_ROOT/config.xml to '0'

*You can now connect to the server using your BOINC client. IMPORTANT: Untick Connect via Proxy in the BOINC client connection preferences! Project URL: http://ubuntu.localdomain/test

Exercise 2.3

The administrative web interface provides a lot of information that is useful for monitoring a project and allows to execute simple administrative tasks.

*Browse the info-pages, start here:

http://ubuntu.localdomain/test_ops

*(Optional) Cancel a workunit. What happens here?

Exercise 2.4

*Open the PROJECT_ROOT/config.xml file

*List the daemons and task your project is running. What is their function?

*Inspect the log files that they write in PROJECT_ROOT/log_ubuntu

Exercise 2.5 (Optional)

*Update the science application, using the uppercase binary provided here: http://www.malariacontrol.net/uppercase

*What does this this application do (Hint: Look at the output files. You are using the sample_assimilator, so check ~/boinc_trunk/sched/sample_assimilator.C to see where they go.

*Build your own science application (e.g. using the uppercase.C source in ~/boinc_trunk/apps/upper_case.C), and update your science application following the steps above.

Exercise 2.6 (Optional)

*Set up the message boards. Hint: Edit and run PROJECT_ROOT/html/ops/create_forums.php

*Personalize your project website. Hint: Have a look at the files in PROJECT_ROOT/html/project


This topic: ACGRID > WebHome > HandsOn > HandsOnBOINC
Topic revision: r1 - 2007-11-15 - 01:49:50 - NicolasSpalinger
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback