Slicer3:Grid Interface

From NAMIC Wiki
Revision as of 20:09, 2 January 2007 by NeilJones (talk | contribs)
Jump to: navigation, search
Home < Slicer3:Grid Interface

Project: Integration of NAMIC Kit and the 'Grid'

Goals:

  • Provide a tool for the NA-MIC kit to enable distributed execution of programs
  • Supply interfaces to these tools via Slicer3:Execution_Model
  • Identify constraints and requirements for Slicer3 for cluster-based execution

Current Status:

  • Tool (GridWizard) currently under development
  • CLRegistration is considered a key use case for Grid computation for the NA-MIC kit
  • Exact changes to Slicer3:Execution_Model are under consideration
  • Shown below is one proposal
  • Another proposal is to use the <channel> element (in, out, inout)
  • Lists and file globs may cause some problems in the Slicer3 display

Example of Grid Interface XML Awareness: >./gi-init -xml

<?xml version="1.0" encoding="utf-8"?>
<executable>
    <category>execution environment</category>
    <title>Slicer3 Grid Interface</title>
    <description>Launches executables in a grid environment</description>
    <version>1.0</version>
    <documentationurl></documentationurl>
    <license></license>
    <contributor>Brendan Faherty</contributor>

    <parameters>
        <label>Grid Interface Parameters</label>
        <description></description>

        <flag>
            <flag>-i</flag>
            <description>Use to pass XML instructions through STDIN</description>
            <label>XML STDIN</label>
        </flag>

        <file>
            <flag>-f</flag>
            <descriptions>use to pass XML instructuions through a file</description>
            <label>XML File</label>
        </file>
</executable>

The XML file that might be referenced via "gi-init -f JOB.xml" >cat CLRegistration.xml


<?xml version="1.0" encoding="utf-8"?>
<executable>
  <executable>CLRegistration</executable>
  <path>/path/to/CLRegistration</path>

<parameters>
    <integer>
      <flag>b</flag>
      <value>30</value>
    </integer>

    <integer>
      <flag>s</flag>
      <value>10000</value>
    </integer>

    <string>
      <flag>i</flag>
      <longflag>iterations</longflag>
      <value>200,100</value>
    </string>

    <string>
      <flag>l</flag>
      <value>0.05,0.005</value>
    </string>

    <double>
      <flag>t</flag>
      <value>100.0</value>
    </double>

   <file>
   {! -- will be passed as "-Fixed Image1" --}
      <flag>-Fixed</flag>
      <name>Image1</name>
      <protocol>srb</protocol>
      <path>/home/Projects/NAMIC_0003/Files/Havard/active_morph/HUV109121/images/</path>
      <transfer>singleton</transfer>
    </file>

    <file>
    {! -- will be passed as "-Moving Image2" --}
      <flag>-Moving</flag>
      <name>Image2</name>
      <protocol>srb</protocol>
      <path>/home/Projects/NAMIC_0003/Files/Havard/active_morph/HUV109121/images/</path>
      <transfer>directory_non_recursive</transfer>
    </file>

    <file>
    {! -- will be passed as "-Output Data" --}
      <flag>-Output</flag>
      <name>Data</name>
      <path>/home/Projects/NAMIC__0003/Files/Harvard/archive_morph/HUVA0123123/</path>
      <protocol>srb</protocol>
      <transfer>directory_recursive</transfer>
    </file>
  </parameters>

</executable>

Team Members:

  • Jeff Grethe- UCSD
  • Neil Jones - UCSD
  • Steve Pieper - BWH
  • Daniel Blezek - GE