[Debian Wiki] Update of "BOINC/WrapperApp" by dhananjay

Debian Wiki debian-www at lists.debian.org
Fri Jul 22 08:17:34 UTC 2011


Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.

The "BOINC/WrapperApp" page has been changed by dhananjay:
http://wiki.debian.org/BOINC/WrapperApp

Comment:
Created the page.

New page:
#language en
#pragma section-numbers 1
#pragma keywords BOINC, Grid Computing, Volunteer Computing, Open Source, Debian
#pragma description Tutorial for preparing a Debian-based server instance for a BOINC project - subsection on wrapper application deployment.

<<TableOfContents(2)>>

''' THIS PAGE IS NOT COMPLETE'''

''' This page is about deploying a test wrapper application with BOINC on Debian or Ubuntu. It extends the page [[BOINC/AppDeployment]]'''

= Wrapper Application =

BOINC provides a wrapper app to use normal binaries in a BOINC environment. The sources are shipped with BOINC, and is available in debian through boinc-app-examples package.

In short, The wrapper system works like this, 
 * BOINC executes the wrapper binary, which BOINC considers as a multi-file application.
 * wrapper checks the execution folder for job.xml, and parse it to get the actual binary names.
 * wrapper calls the actual binary, checks its progress through check point files if defined, and after completion.
 * After the payload has completed execution, wrapper calls boinc_finish and exits itself.
 * The BOINC client uploads the results back.

The deployment is little bit tricky, as of now, cant just apt-get them. (well, we are working on it.).

The wrapper deployment is explained here as cases, select one with your requirements and follow. The documents here are a follow up from AppDeployment page. It assumes that you are familiar with the normal app deployment using debian and BOINC.

'' In the experiment branch, Multifile project management of BOINC has changed a lot. Please note that the steps illustrated here are for the debian boinc-server-maker-package or more specifically, [[ http://boinc.berkeley.edu/svn/branches/server_stable | sever_stable]] branch of BOINC. ''

== Obtain the binaries ==

Use the fetch_example_applications script provided with the boinc-server-maker package to obtain the binaries for the wrapper applications, copy them to the app folder of the project root. Since this is a multifile project, the directory hirearchies are important. The binaries should be arranged as follwing structure.

{{{

}}}

=== Configuring the wrapper ===
The wrapper binary on running checks for a file named ''job.xml'', which can be used to inform the wrapper about the actual program and the arguments. This file has to be in project root.

Sample job.xml
{{{
<job_desc>
    <task>
        <application>worker</application>
        <command_line>10</command_line>
	<stdin_filename>stdin_file</stdin_filename>
        <stdout_filename>stdout_file</stdout_filename>
        <stderr_filename>stderr_file</stderr_filename> 
    </task>
</job_desc>
}}}


== Simple script with no input ==
The example script used in this section counts from 0 to a number specified as command line argument, and outputs as ''out''.

{{{
user at host $ cat count 
#!/bin/bash

i=0;

while [[ i -lt $1 ]]
do
echo $i >> out;
let i=$i+1
done
exit 0
}}}





More information about the pkg-boinc-commits mailing list