Changes between Version 9 and Version 10 of WrapperApp


Ignore:
Timestamp:
May 27, 2007, 9:26:18 PM (18 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WrapperApp

    v9 v10  
    88
    99[[Image(http://boinc.berkeley.edu/wrapper.png)]]
     10
     11The wrapper program (called 'wrapper') is in [ExampleApps boinc_samples].
     12It reads a file called 'job.xml' with format:
     13
     14{{{
     15<job_desc>
     16    <task>
     17        <application>worker_5.10_windows_intelx86.exe</application>
     18        [ <stdin_filename>stdin_file</stdin_filename> ]
     19        [ <stdout_filename>stdout_file</stdout_filename> ]
     20        [ <stderr_filename>stderr_file</stderr_filename> ]
     21        [ <command_line>--foo bar</command_line> ]
     22    </task>
     23    [ ... ]
     24</job_desc>
     25}}}
     26
     27The job file specifies a sequence of tasks.
     28
     29The job file can specify multiple tasks.
     30This is useful for two purposes:
     31
     32 * To handle jobs that involve multiple steps
     33(e.g., proprocessing and postprocessing).
     34 * To break a long job up into smaller pieces.
     35This provides a form of checkpointing:
     36''wrapper'' does checkpointing at the task level,
     37so that lost CPU time can be limited
     38even if the legacy applications themselves are not restartable.
     39
     40Notes:
     41
     42 * This requires version 5.5 or higher of the BOINC core client.
     43 * Files opened directly by a worker program must have the <copy_file> tag.
     44 * If '''wrapper''' is passed command-line arguments (e.g., specified in the workunit template) these are passed to each of the applications, after those specified in the job file.
     45 * If the wrapper is used in standalone mode (while debugging), you have to provide the input files with the proper logical, not physical, names.
     46
     47== Example ==
    1048
    1149Here's an example that shows how to set this up:
     
    75113</result>
    76114}}}
    77  Note that the files opened directly by the legacy program must have the <copy_file> tag.
    78115 * Run [UpdateVersions update_versions] to create an app version.
    79116 * Run a script like
     
    89126 to generate a workunit.
    90127
    91 == Notes: ==
    92128
    93  * This requires version 5.5 or higher of the BOINC core client.
    94  * Multiple tasks per job is not implemented yet. Future versions of wrapper may allow you to run multiple applications in sequence (as specified in the job.xml file).
    95  * TODO: provide a way for projects to supply an animated GIF which is shown (with user/team credit text) as screensaver graphics.
    96  * If the wrapper itself has command-line arguments (e.g., specified in the workunit template) these are passed to the application, after those specified in the job file.
    97  * If the wrapper is used in standalone mode (while debugging), you have to provide the input files with the proper logical, not physical, names.
    98  * The general form of the job file is:
    99 {{{
    100 <job_desc>
    101     <task>
    102         <application>worker_5.10_windows_intelx86.exe</application>
    103         <stdin_filename>stdin_file</stdin_filename>
    104         <stdout_filename>stdout_file</stdout_filename>
    105         [ <stderr_filename>stderr_file</stderr_filename> ]
    106         [ <command_line>--foo bar</command_line> ]
    107     </task>
    108 </job_desc>
    109 }}}
     129
    110130To understand how all this works: at the beginning of execution, the file layout is:
    111131