Changes between Version 1 and Version 2 of CondorBoinc


Ignore:
Timestamp:
Jul 27, 2012, 11:13:05 PM (12 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CondorBoinc

    v1 v2  
    4141   with the BOINC GAHP.
    4242
    43 === Implementation notes ===
     43=== GAHP protocol ===
     44
     45The API exported by the BOINC GAHP has the following functions:
     46
     47{{{
     48submit_jobs()
     49   inputs:
     50      batch_name (unique within project)
     51      app_name
     52      jobs
     53         job name
     54         cmdline
     55         list of input files
     56   output:
     57      error code
     58}}}
     59
     60Each input file is described by its path on the submit node.
     61The file name is the name by which the app will refer to the file.
     62
     63What the BOINC GAHP does:
     64
     65 * From the list of input files, filter out application files.
     66   Need to figure out how to do this: could be attribute specified in Condor submit file,
     67   or the list could be fetched from BOINC server.
     68 * Eliminate duplicates in file list
     69 * Compute MD5s of files
     70 * BOINC physical name of each file is condorv_(md5)
     71 * Do query_files() RPC to see which files are already on BOINC server
     72 * Do upload_files() RPC to copy needed files to BOINC server
     73 * Do submit_jobs() RPC to BOINC server; create batch, jobs
     74
     75{{{
     76query_batch
     77   in: batch name
     78   out: list of jobs
     79      job name
     80      status (done/error/in prog/not in prog)
     81}}}
     82
     83{{{
     84query_job
     85   in: job name
     86   out: status
     87      list of URLs of output files
     88}}}
     89
     90{{{
     91abort_jobs
     92   in: list of job names
     93}}}
     94
     95{{{
     96set_lease
     97   in: batch name
     98      new lease end time
     99}}}
     100=== BOINC Web RPCs ===
     101
     102{{{
     103query_files()
     104   in: list of physical file names
     105   out: list of those not present on server
     106}}}
     107
     108{{{
     109upload_files()
     110   in: batch name
     111      filename
     112      file contents
     113   out: error code
     114
     115uploads files and creates DB records (see below)
     116}}}
     117
     118{{{
     119submit_jobs()
     120   in: same as for GAHP, except include both logical and physical name
     121   out: error code
     122}}}
     123
     124== File management mechanism ==
     125
     126To keep track of input files,
     127we'll add the following to BOINC:
     128
     129 * DB tables for files, and for batch/file associations
     130 * daemon for deleting files and DB records of files with
     131   no associations, or past all lease ends
     132
     133== Changes to BOINC ==
     134
     135 * The job creation primitives (create_work()) will let you directly specify
     136  the logical names of input files,
     137  rather than specifying them in a template.
     138 * Add lease_end field to batch
     139
     140
     141
     142== Implementation notes ==
    44143
    45144The BOINC GAHP will need to