Transcript boinc_intro

BOINC:
Getting Started
David P. Anderson
Space Sciences Lab
U.C. Berkeley
Sept. 10, 2008
What’s BOINC good for?

Applications



Resources




bags or streams of tasks
not data-intensive
your own desktop PCs
cluster nodes
volunteered PCs
What do you need?



a server (Linux box or VM player)
moderate sysadmin, DB, and programming skills
for public projects, web development
The project/volunteer model
BOINC-based projects
volunteer PC
World Comm. Grid
Attachments
Climateprediction.net
Rosetta@home
Superlink@Technion



Independent
No central authority
ID: URL
Ways to create a BOINC server

On a Linux box



In a VMware player


download BOINC software
configure/make
download the BOINC server VM image
On the Amazon EC2

use the BOINC EC2 server image (doesn’t exist
yet)
Anatomy of a BOINC server



sched/
tools/


Build source
code here
boinc/
make_project
projects/

test/


cgi-bin/
html/







user/
inc/
bin/
upload/
download/
apps/
log_hostname/
Web
stuff
daemons,
scripts
input,
output
files
applications
log files
Anatomy of a BOINC server: DB

platform






app
app_version
user
host
workunit


e.g. Linux/x86
a job; description of input files
result

an instance of a job; description of output files
How to see what’s in the DB

Web interfaces




admin
user
mysql interpreter
phpMyAdmin
Server processes
Clients
scheduler
(CGI)
shared
memory
(~1K jobs)
MySQL DB
feeder
(~1M jobs)
work generator
validator
assimilator
transitioner
db_purge
daemons
config.xml



project parameters and options
periodic tasks
daemons
Log files


One per daemon and task
Verbosity flags
Adding app versions


Each app version has a directory in
project/apps/appname/
update_versions




sign files
copy to download directory
create DB record
Secure code signing
Job template files

Input template

describes input files





logical and physical names
stickiness
resource requirements
replication parameters
Output template

describes output files
Submitting jobs


Move input files to download hierarchy
call create_work()



checksums input files
creates DB records
Can to this one at a time, in huge numbers, or
in a flow-controlled stream
Porting applications to BOINC

Add calls for




start, finish
checkpointing
filename resolution
Or: use the “BOINC wrapper” with any
executable (or set of executables)
Organizational issues

It takes some work to:




publicize your project
manage servers
interact with volunteers
Organizational possibilities:



a single scientist
a department or group of scientists
a university