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

Debian Wiki debian-www at lists.debian.org
Fri Jul 22 14:02:36 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 SteffenMoeller:
http://wiki.debian.org/BOINC/WrapperApp?action=diff&rev1=2&rev2=3

Comment:
shortish review and stimulation

  
  = 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.
+ 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, 
+ In short, The wrapper system works like this: 
-  * BOINC executes the wrapper binary, which BOINC considers as a multi-file application.
+  i. 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.
+  i. Wrapper checks the execution folder for job.xml, and parses it to get the actual binary names (the payload).
-  * wrapper calls the actual binary, checks its progress through check point files if defined, and after completion.
+  i. 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.
+  i. Once the payload has completed its execution, the wrapper calls ''boinc_finish'' and exits itself.
-  * The BOINC client uploads the results back.
+  i. The BOINC client uploads the results to the project server.
  
- The deployment is little bit tricky, as of now, cant just apt-get them. (well, we are working on it.).
+ The deployment is little bit tricky, as of now, one cannot just use apt-get for a readily usable installation. 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.
+ The wrapper deployment is explained here for several use cases of increasing complexity. Select the one closest to your requirements as a template. For a deeper understanding of these instructions, please first follow the instructions on the [[BOINC/ServerGuide/AppDeployment]] page. Concepts already introduced there will here only get little more than a quick reference.
  
- '' 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. ''
+ ''In the experimental 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, the stable server branch ([[http://boinc.berkeley.edu/svn/branches/server_stable|subversion]]) 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.
+ 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 hierarchies are important. The binaries should be arranged in the following 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.
+ The wrapper binary upon invocation checks for a file named ''job.xml'', which informs the wrapper about the actual program to execute and the arguments to pass to that. This file has to be in the project root. ''''unclear what project root is. sm''''
  
- Sample job.xml
+ Sample job.xml:
  {{{
  <job_desc>
      <task>
@@ -52, +52 @@

  </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''.
- 
+ ''''would you prefer using seq ?  sm''''
  {{{
  user at host $ cat count 
  #!/bin/bash
@@ -70, +69 @@

  exit 0
  }}}
  
+ The "exit 0" should go. Either it was all fine or it was not. If not, then we want to know (sm).
+ 
+ 
+ alternative one (please review, sm):
+ 
+ {{{
+ #!/bin/bash
+ 
+ i=0;
+ (
+ while [[ i -lt $1 ]]
+ do
+ echo $i
+ let i=$i+1
+ done
+ ) > out
+ }}}
+ 
+ 
+ alternative two (please review, sm):
+ 
+ {{{
+ #!/bin/bash
+ seq 0 $1 > out
+ }}}
+ 
+ For a complete analogy to your program, do seq 0 $(($1 - 1))  ... but that is a bit ... exceptional, no? seq comes with the coreutils package and should be available.
+ 



More information about the pkg-boinc-commits mailing list