[Swift-commit] r6430 - in branches/release-0.94/tests: groups stress stress/IO stress/IO/i1 stress/IO/i2 stress/apps stress/apps/data stress/apps/modis_beagle stress/apps/modis_local stress/apps/modis_midway stress/apps/modis_multiple stress/apps/modis_uc3 stress/internals

yadunandb at ci.uchicago.edu yadunandb at ci.uchicago.edu
Thu Apr 11 15:29:13 CDT 2013


Author: yadunandb
Date: 2013-04-11 15:29:12 -0500 (Thu, 11 Apr 2013)
New Revision: 6430

Added:
   branches/release-0.94/tests/groups/group-stress-heavy.sh
   branches/release-0.94/tests/groups/group-stress-midway.sh
   branches/release-0.94/tests/stress/IO/
   branches/release-0.94/tests/stress/IO/i1/
   branches/release-0.94/tests/stress/IO/i1/cf
   branches/release-0.94/tests/stress/IO/i1/filegen.sh
   branches/release-0.94/tests/stress/IO/i1/gendata.pl
   branches/release-0.94/tests/stress/IO/i1/i1.kml
   branches/release-0.94/tests/stress/IO/i1/i1.swift
   branches/release-0.94/tests/stress/IO/i1/i1.swiftx
   branches/release-0.94/tests/stress/IO/i1/input/
   branches/release-0.94/tests/stress/IO/i1/run
   branches/release-0.94/tests/stress/IO/i1/sites.xml
   branches/release-0.94/tests/stress/IO/i1/sites.xml.bak
   branches/release-0.94/tests/stress/IO/i1/sumall.pl
   branches/release-0.94/tests/stress/IO/i1/tc
   branches/release-0.94/tests/stress/IO/i2/
   branches/release-0.94/tests/stress/IO/i2/cf
   branches/release-0.94/tests/stress/IO/i2/filegen.sh
   branches/release-0.94/tests/stress/IO/i2/gendata.pl
   branches/release-0.94/tests/stress/IO/i2/i1.kml
   branches/release-0.94/tests/stress/IO/i2/i1.swift
   branches/release-0.94/tests/stress/IO/i2/i1.swiftx
   branches/release-0.94/tests/stress/IO/i2/input/
   branches/release-0.94/tests/stress/IO/i2/run
   branches/release-0.94/tests/stress/IO/i2/sites.xml
   branches/release-0.94/tests/stress/IO/i2/sites.xml.bak
   branches/release-0.94/tests/stress/IO/i2/sumall.pl
   branches/release-0.94/tests/stress/IO/i2/tc
   branches/release-0.94/tests/stress/apps/
   branches/release-0.94/tests/stress/apps/data/
   branches/release-0.94/tests/stress/apps/data/t0
   branches/release-0.94/tests/stress/apps/data/t1
   branches/release-0.94/tests/stress/apps/data/t2
   branches/release-0.94/tests/stress/apps/data/t3
   branches/release-0.94/tests/stress/apps/data/t4
   branches/release-0.94/tests/stress/apps/data/t5
   branches/release-0.94/tests/stress/apps/data/t6
   branches/release-0.94/tests/stress/apps/data/t7
   branches/release-0.94/tests/stress/apps/data/t8
   branches/release-0.94/tests/stress/apps/data/t9
   branches/release-0.94/tests/stress/apps/get.sh
   branches/release-0.94/tests/stress/apps/modis_beagle/
   branches/release-0.94/tests/stress/apps/modis_beagle/clean
   branches/release-0.94/tests/stress/apps/modis_beagle/getlanduse.pl
   branches/release-0.94/tests/stress/apps/modis_beagle/input/
   branches/release-0.94/tests/stress/apps/modis_beagle/makeinput
   branches/release-0.94/tests/stress/apps/modis_beagle/modis.args
   branches/release-0.94/tests/stress/apps/modis_beagle/modis.kml
   branches/release-0.94/tests/stress/apps/modis_beagle/modis.setup.sh
   branches/release-0.94/tests/stress/apps/modis_beagle/modis.swift
   branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout
   branches/release-0.94/tests/stress/apps/modis_beagle/run
   branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml
   branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml.bak
   branches/release-0.94/tests/stress/apps/modis_beagle/swift.properties
   branches/release-0.94/tests/stress/apps/modis_beagle/tc.template.data
   branches/release-0.94/tests/stress/apps/modis_beagle/title.txt
   branches/release-0.94/tests/stress/apps/modis_local/
   branches/release-0.94/tests/stress/apps/modis_local/clean
   branches/release-0.94/tests/stress/apps/modis_local/getlanduse.pl
   branches/release-0.94/tests/stress/apps/modis_local/makeinput
   branches/release-0.94/tests/stress/apps/modis_local/modis.args
   branches/release-0.94/tests/stress/apps/modis_local/modis.setup.sh
   branches/release-0.94/tests/stress/apps/modis_local/modis.swift
   branches/release-0.94/tests/stress/apps/modis_local/modis.timeout
   branches/release-0.94/tests/stress/apps/modis_local/run
   branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml
   branches/release-0.94/tests/stress/apps/modis_local/swift.properties
   branches/release-0.94/tests/stress/apps/modis_local/tc.template.data
   branches/release-0.94/tests/stress/apps/modis_local/title.txt
   branches/release-0.94/tests/stress/apps/modis_midway/
   branches/release-0.94/tests/stress/apps/modis_midway/clean
   branches/release-0.94/tests/stress/apps/modis_midway/getlanduse.pl
   branches/release-0.94/tests/stress/apps/modis_midway/makeinput
   branches/release-0.94/tests/stress/apps/modis_midway/modis.args
   branches/release-0.94/tests/stress/apps/modis_midway/modis.setup.sh
   branches/release-0.94/tests/stress/apps/modis_midway/modis.swift
   branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout
   branches/release-0.94/tests/stress/apps/modis_midway/run
   branches/release-0.94/tests/stress/apps/modis_midway/sandyb.xml
   branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml
   branches/release-0.94/tests/stress/apps/modis_midway/swift.properties
   branches/release-0.94/tests/stress/apps/modis_midway/tc.template.data
   branches/release-0.94/tests/stress/apps/modis_midway/title.txt
   branches/release-0.94/tests/stress/apps/modis_midway/westmere.xml
   branches/release-0.94/tests/stress/apps/modis_multiple/
   branches/release-0.94/tests/stress/apps/modis_multiple/clean
   branches/release-0.94/tests/stress/apps/modis_multiple/getlanduse.pl
   branches/release-0.94/tests/stress/apps/modis_multiple/makeinput
   branches/release-0.94/tests/stress/apps/modis_multiple/modis.args
   branches/release-0.94/tests/stress/apps/modis_multiple/modis.setup.sh
   branches/release-0.94/tests/stress/apps/modis_multiple/modis.swift
   branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout
   branches/release-0.94/tests/stress/apps/modis_multiple/run
   branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml
   branches/release-0.94/tests/stress/apps/modis_multiple/swift.properties
   branches/release-0.94/tests/stress/apps/modis_multiple/tc.template.data
   branches/release-0.94/tests/stress/apps/modis_multiple/title.txt
   branches/release-0.94/tests/stress/apps/modis_uc3/
   branches/release-0.94/tests/stress/apps/modis_uc3/clean
   branches/release-0.94/tests/stress/apps/modis_uc3/getlanduse.pl
   branches/release-0.94/tests/stress/apps/modis_uc3/input/
   branches/release-0.94/tests/stress/apps/modis_uc3/makeinput
   branches/release-0.94/tests/stress/apps/modis_uc3/modis.args
   branches/release-0.94/tests/stress/apps/modis_uc3/modis.kml
   branches/release-0.94/tests/stress/apps/modis_uc3/modis.setup.sh
   branches/release-0.94/tests/stress/apps/modis_uc3/modis.swift
   branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout
   branches/release-0.94/tests/stress/apps/modis_uc3/run
   branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml
   branches/release-0.94/tests/stress/apps/modis_uc3/swift.properties
   branches/release-0.94/tests/stress/apps/modis_uc3/tc.template.data
   branches/release-0.94/tests/stress/apps/modis_uc3/title.txt
   branches/release-0.94/tests/stress/internals/
   branches/release-0.94/tests/stress/internals/.args.m4
   branches/release-0.94/tests/stress/internals/m4_template_gen.sh
   branches/release-0.94/tests/stress/internals/scripts.sh
   branches/release-0.94/tests/stress/internals/test.args.m4
   branches/release-0.94/tests/stress/internals/title.txt
   branches/release-0.94/tests/stress/internals/x_append_iter.args
   branches/release-0.94/tests/stress/internals/x_append_iter.args.m4
   branches/release-0.94/tests/stress/internals/x_append_iter.swift
   branches/release-0.94/tests/stress/internals/x_foreach.args
   branches/release-0.94/tests/stress/internals/x_foreach.args.m4
   branches/release-0.94/tests/stress/internals/x_foreach.swift
   branches/release-0.94/tests/stress/internals/x_func.args
   branches/release-0.94/tests/stress/internals/x_func.args.m4
   branches/release-0.94/tests/stress/internals/x_func.swift
   branches/release-0.94/tests/stress/internals/x_func.timeout
   branches/release-0.94/tests/stress/internals/x_func_float.args
   branches/release-0.94/tests/stress/internals/x_func_float.args.m4
   branches/release-0.94/tests/stress/internals/x_func_float.swift
   branches/release-0.94/tests/stress/internals/x_func_float.timeout
   branches/release-0.94/tests/stress/internals/x_iterate.args
   branches/release-0.94/tests/stress/internals/x_iterate.args.m4
   branches/release-0.94/tests/stress/internals/x_iterate.swift
   branches/release-0.94/tests/stress/internals/x_recursion.args
   branches/release-0.94/tests/stress/internals/x_recursion.args.m4
   branches/release-0.94/tests/stress/internals/x_recursion.swift
   branches/release-0.94/tests/stress/internals/x_recursion.timeout
   branches/release-0.94/tests/stress/internals/x_sleep.args
   branches/release-0.94/tests/stress/internals/x_sleep.args.m4
   branches/release-0.94/tests/stress/internals/x_sleep.swift
   branches/release-0.94/tests/stress/internals/x_sleep.timeout
Log:
Adding group files for site specific tests (Midway,MODIS) and generic stress tests
Adding stress tests.



Added: branches/release-0.94/tests/groups/group-stress-heavy.sh
===================================================================
--- branches/release-0.94/tests/groups/group-stress-heavy.sh	                        (rev 0)
+++ branches/release-0.94/tests/groups/group-stress-heavy.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+# GROUPLIST definition to run all local tests                            \
+
+GROUPLIST=(
+             $TESTDIR/stress/IO \
+             $TESTDIR/stress/internals \
+          )
+
+checkvars WORK
\ No newline at end of file

Added: branches/release-0.94/tests/groups/group-stress-midway.sh
===================================================================
--- branches/release-0.94/tests/groups/group-stress-midway.sh	                        (rev 0)
+++ branches/release-0.94/tests/groups/group-stress-midway.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,11 @@
+# GROUPLIST definition to run all local tests                            \
+
+GROUPLIST=(
+             $TESTDIR/stress/apps/modis_local \
+             $TESTDIR/stress/apps/modis_midway \
+             $TESTDIR/stress/apps/modis_beagle \
+             $TESTDIR/stress/apps/modis_uc3 \
+             $TESTDIR/stress/apps/modis_multiple \
+          )
+
+checkvars WORK
\ No newline at end of file

Added: branches/release-0.94/tests/stress/IO/i1/cf
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/cf	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/cf	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/IO/i1/filegen.sh
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/filegen.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/filegen.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+FILES=10
+rm input/* -rf
+for (( i=1; i <= 20; i=$(($i+1)) ))
+do
+    top=$(($i*5120000))
+    ./gendata.pl $top > input/file_$i.inp &
+done;
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/IO/i1/filegen.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i1/gendata.pl
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/gendata.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/gendata.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+use strict;
+
+my @characters=('0'..'9');
+my $string="";
+my $length = $ARGV[0];
+my $width_count=0;
+
+foreach (1..$length) 
+{
+   if($width_count == 5) {
+      $string .= "\n";
+      $width_count=0;
+      next;
+   }
+   $string .= $characters[rand @characters];
+   $width_count++;
+}
+
+print $string;


Property changes on: branches/release-0.94/tests/stress/IO/i1/gendata.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i1/i1.kml
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/i1.kml	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/i1.kml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,180 @@
+<project><!-- CACHE ID abf630aa-7a86-4f7c-8484-2439be2e7702-no-provenance -->
+  <import file="sys.xml"/>
+  <import file="scheduler.xml"/>
+  <import file="rlog.xml"/>
+  <import file="vdl.k"/>
+  <types>
+     <xs:schema targetNamespace="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      	   <xs:simpleType name="file">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="perlscript">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+     </xs:schema>
+  </types>
+  <global name="swift#string#17002">
+    <vdl:new type="string" value="Indir" />
+  </global>
+  <global name="swift#string#17003">
+    <vdl:new type="string" value="./input/" />
+  </global>
+  <global name="swift#string#17000">
+    <vdl:new type="string" value="nfiles" />
+  </global>
+  <global name="swift#string#17007">
+    <vdl:new type="string" value=".out" />
+  </global>
+  <global name="swift#string#17005">
+    <vdl:new type="string" value=".inp" />
+  </global>
+  <global name="swift#string#17001">
+    <vdl:new type="string" value="1000" />
+  </global>
+  <element name="do__sum" arguments="output,input,ps" _defline="6">
+     
+     
+     
+    <unitStart name="do__sum" line="6" type="PROCEDURE" outputs="output"/>
+    <vdl:execute>
+      <vdl:tr>perl</vdl:tr>
+      <vdl:stagein var="{input}"/>
+      <vdl:stagein var="{ps}"/>
+      <vdl:stageout var="{output}"/>
+
+      <vdl:arguments>
+        <swiftscript:filename _traceline="8">
+         <variable>ps</variable> 
+        </swiftscript:filename>
+        <swiftscript:filename _traceline="8">
+         <variable>input</variable> 
+        </swiftscript:filename>
+      </vdl:arguments>
+      <vdl:stdout>
+        <swiftscript:filename _traceline="8">
+         <variable>output</variable> 
+        </swiftscript:filename>
+      </vdl:stdout>
+    </vdl:execute>
+    <vdl:closedataset var="{output}"/>
+    <unitEnd name="do__sum" line="6" type="PROCEDURE"/></element>
+
+  <set name="sumall_pl">
+        <vdl:new type="perlscript" dbgname="sumall_pl" _defline="4" input="true">
+          <vdl:mapping descriptor="single_file_mapper">
+            <vdl:parameter name="file" value="sumall.pl"/>
+          </vdl:mapping>
+        </vdl:new>
+  </set>
+   
+  <set name="nFiles">
+        <vdl:new type="int" dbgname="nFiles" waitCount="1" _defline="12"/>
+  </set>
+   
+  <set name="Indir">
+        <vdl:new type="string" dbgname="Indir" waitCount="1" _defline="13"/>
+  </set>
+   
+  <set name="swift#mapper#17004">
+        <vdl:new type="string" dbgname="swift#mapper#17004" _defline=""/>
+  </set>
+   
+  <set name="inputs">
+    <vdl:new type="file[]" dbgname="inputs" _defline="16" input="true">
+      <vdl:mapping descriptor="filesys_mapper">
+        <vdl:parameter name="location"><variable>Indir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".inp" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <set name="swift#mapper#17006">
+        <vdl:new type="string" dbgname="swift#mapper#17006" _defline=""/>
+  </set>
+   
+  <set name="outputs">
+    <vdl:new type="file[]" dbgname="outputs" waitCount="1" _defline="17">
+      <vdl:mapping descriptor="simple_mapper">
+        <vdl:parameter name="location"><variable>Indir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".out" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <restartLog>
+  	<vdl:mains>
+		<vdl:startprogressticker />
+		<vdl:mainp>
+		    <uparallel>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="13">
+		                 <variable>nFiles</variable>
+		                 <swiftscript:to_int _traceline="12">
+		                  <swiftscript:arg _traceline="12">
+		                  <variable>swift#string#17000</variable><variable>swift#string#17001</variable> 
+		                 </swiftscript:arg> 
+		                 </swiftscript:to_int>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{nFiles}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="16">
+		                 <variable>Indir</variable>
+		                 <swiftscript:arg _traceline="13">
+		                  <variable>swift#string#17002</variable><variable>swift#string#17003</variable> 
+		                 </swiftscript:arg>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{Indir}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17004</variable>
+		                 <variable>swift#string#17005</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17006</variable>
+		                 <variable>swift#string#17007</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		          <vdl:tparallelFor name="$"_kvar="i" _vvar="input" refs="outputs 1">
+		          	<getarrayiterator>
+		          		<variable>inputs</variable>
+		          	</getarrayiterator>
+		          	<set names="$$, input">
+		          		<each items="{$}"/>
+		          	</set>
+		          	<set name="i">
+		          		<vdl:new type="int" value="{$$}"/>
+		          	</set>
+		          	<unitStart line="19" type="FOREACH_IT"/>
+		          	<sequentialWithID>
+		          	    <sequential>
+		          	      <do__sum _traceline="20">
+		          	          <vdl:getfieldsubscript>
+		          	            <argument name="var"><variable>outputs</variable></argument>
+		          	            <argument name="subscript"><variable>i</variable></argument>
+		          	          </vdl:getfieldsubscript>
+		          	          <variable>input</variable>
+		          	          <variable>sumall_pl</variable>
+		          	      </do__sum>
+		          	      <partialCloseDataset var="{outputs}"/>
+		          	    </sequential>
+		          	</sequentialWithID>
+		          	<unitEnd line="19" type="FOREACH_IT"/>
+		          </vdl:tparallelFor>
+		        </sequential>
+		    </uparallel>
+		</vdl:mainp>
+		<vdl:stopprogressticker />
+	</vdl:mains>
+  </restartLog>
+  <vdl:cleandataset var="{inputs}"/>
+  <vdl:cleandataset var="{outputs}"/>
+  <vdl:cleandataset var="{sumall_pl}"/>
+  <vdl:cleandataset shutdown="true"/>
+</project>

Added: branches/release-0.94/tests/stress/IO/i1/i1.swift
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/i1.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/i1.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,21 @@
+type file;
+type perlscript;
+
+perlscript sumall_pl <"sumall.pl">;
+
+app (file output) do_sum (file input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string Indir     = @arg("Indir", "./input/");
+
+# Input Dataset
+file inputs[] <filesys_mapper; location=Indir, suffix=".inp">;
+file outputs[] <simple_mapper; location=Indir, suffix=".out">;
+
+foreach input,i in inputs {
+    outputs[i] = do_sum(input, sumall_pl);
+}

Added: branches/release-0.94/tests/stress/IO/i1/i1.swiftx
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/i1.swiftx	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/i1.swiftx	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,69 @@
+<program xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <types>
+     	<type>
+     		<typename>file</typename>
+     		<typealias>string</typealias>
+     		<typestructure></typestructure>
+     	</type>
+     	<type>
+     		<typename>perlscript</typename>
+     		<typealias>string</typealias>
+     		<typestructure></typestructure>
+     	</type>
+  </types>
+  <procedure name="do_sum" src="line 6">
+
+    <output name="output" type="file"  xsi:nil="true"/>
+
+    <input name="input" type="file"  xsi:nil="true"/>
+
+    <input name="ps" type="perlscript"  xsi:nil="true"/>
+    <binding>
+      <application src="line 6">
+        <executable>perl</executable>
+        <stdout><function name="filename" src="line 8">
+          <variableReference>output</variableReference></function></stdout><function name="filename" src="line 8">
+          <variableReference>ps</variableReference></function><function name="filename" src="line 8">
+          <variableReference>input</variableReference></function>  </application>
+    </binding>
+  </procedure>
+  <variable name="sumall_pl" type="perlscript" isGlobal="false" src="line 4"><file name="sumall.pl"/></variable>
+  <variable name="nFiles" type="int" isGlobal="false" xsi:nil="true" src="line 12"/>
+  <assign src="line 13">
+   <variableReference>nFiles</variableReference>
+   <function name="toInt" src="line 12">
+     <function name="arg" src="line 12">
+       <stringConstant>nfiles</stringConstant><stringConstant>1000</stringConstant></function></function>
+  </assign>
+  <variable name="Indir" type="string" isGlobal="false" xsi:nil="true" src="line 13"/>
+  <assign src="line 16">
+   <variableReference>Indir</variableReference>
+   <function name="arg" src="line 13">
+     <stringConstant>Indir</stringConstant><stringConstant>./input/</stringConstant></function>
+  </assign>
+  <variable name="inputs" type="file[]" isGlobal="false" src="line 16">
+    <mapping descriptor="filesys_mapper">
+      <param name="location"><variableReference>Indir</variableReference></param>
+      <param name="suffix"><stringConstant>.inp</stringConstant></param>
+    </mapping>
+  </variable>
+  <variable name="outputs" type="file[]" isGlobal="false" src="line 17">
+    <mapping descriptor="simple_mapper">
+      <param name="location"><variableReference>Indir</variableReference></param>
+      <param name="suffix"><stringConstant>.out</stringConstant></param>
+    </mapping>
+  </variable>
+  <foreach var="input"  indexVar="i" src="line 19">
+  <in><variableReference>inputs</variableReference></in>
+  <body><call proc="do_sum" src="line 20">
+      <output><arraySubscript>
+       <variableReference>outputs</variableReference>
+       <variableReference>i</variableReference>
+      </arraySubscript></output>
+      <input><variableReference>input</variableReference></input>
+      <input><variableReference>sumall_pl</variableReference></input>
+    </call></body>
+  </foreach>
+</program>

Added: branches/release-0.94/tests/stress/IO/i1/run
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -x
+
+export GLOBUS_HOSTNAME="swift.rcc.uchicago.edu"
+
+swift -config cf -sites.file sites.xml -tc.file tc i1.swift


Property changes on: branches/release-0.94/tests/stress/IO/i1/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i1/sites.xml
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/sites.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/sites.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,53 @@
+<config>
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <!-- <profile namespace="globus"  key="condor.+Requirements">isUndefined(GLIDECLIENT_Name) == FALSE</profile> -->
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="sandyb">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+  <pool handle="westmere">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/IO/i1/sites.xml.bak
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/sites.xml.bak	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/sites.xml.bak	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,71 @@
+<config>
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <!-- <profile namespace="globus"  key="condor.+Requirements">isUndefined(GLIDECLIENT_Name) == FALSE</profile> -->
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="beagle">
+    <execution provider="coaster" jobmanager="ssh-cl:pbs" url="login4.beagle.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <!-- <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24</profile> -->
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768</profile>
+    <profile namespace="globus" key="maxtime">3600</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/{env.USER}/swiftwork</profile>
+    <profile namespace="globus" key="slots">5</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}/swiftwork</workdirectory>
+  </pool>
+
+  <pool handle="sandyb">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+  <pool handle="westmere">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/IO/i1/sumall.pl
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/sumall.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/sumall.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,9 @@
+#!/usr/bin/perl                                                           
+
+my $sum = 0;
+my $filename = shift;
+open(my $fd, "<", $filename) or die "Couldn;t access '$filename' \n";
+while ( my $line = <$fd> ) {
+    $sum += $line;
+}
+print "$sum\n";


Property changes on: branches/release-0.94/tests/stress/IO/i1/sumall.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i1/tc
===================================================================
--- branches/release-0.94/tests/stress/IO/i1/tc	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i1/tc	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,4 @@
+uc3      perl /usr/bin/perl null null null
+beagle   perl /usr/bin/perl null null null
+#sandy    perl /usr/bin/perl null null null
+westmere perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/IO/i2/cf
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/cf	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/cf	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/IO/i2/filegen.sh
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/filegen.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/filegen.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+case  $STRESS in
+    "S1")
+        FILES=100
+	SIZE=102400
+        ;;
+    "S2")
+        FILES=1000
+	SIZE=102400
+        ;;
+    "S3")
+        FILES=1000
+	SIZE=1024000
+        ;;
+    "S4")
+        FILES=10000
+	SIZE=1024000
+        ;;
+    *)
+	SIZE=102400
+        FILES=1000
+        ;;
+esac
+
+rm input/* -rf
+for (( i=1; i <= $FILES ; i=$(($i+1)) ))
+do
+    top=$SIZE
+    ./gendata.pl $top > input/file_$i.inp
+done;
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/IO/i2/filegen.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i2/gendata.pl
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/gendata.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/gendata.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+use strict;
+
+my @characters=('0'..'9');
+my $string="";
+my $length = $ARGV[0];
+my $width_count=0;
+
+foreach (1..$length) 
+{
+   if($width_count == 5) {
+      $string .= "\n";
+      $width_count=0;
+      next;
+   }
+   $string .= $characters[rand @characters];
+   $width_count++;
+}
+
+print $string;


Property changes on: branches/release-0.94/tests/stress/IO/i2/gendata.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i2/i1.kml
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/i1.kml	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/i1.kml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,180 @@
+<project><!-- CACHE ID abf630aa-7a86-4f7c-8484-2439be2e7702-no-provenance -->
+  <import file="sys.xml"/>
+  <import file="scheduler.xml"/>
+  <import file="rlog.xml"/>
+  <import file="vdl.k"/>
+  <types>
+     <xs:schema targetNamespace="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      	   <xs:simpleType name="file">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="perlscript">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+     </xs:schema>
+  </types>
+  <global name="swift#string#17002">
+    <vdl:new type="string" value="Indir" />
+  </global>
+  <global name="swift#string#17003">
+    <vdl:new type="string" value="./input/" />
+  </global>
+  <global name="swift#string#17000">
+    <vdl:new type="string" value="nfiles" />
+  </global>
+  <global name="swift#string#17007">
+    <vdl:new type="string" value=".out" />
+  </global>
+  <global name="swift#string#17005">
+    <vdl:new type="string" value=".inp" />
+  </global>
+  <global name="swift#string#17001">
+    <vdl:new type="string" value="1000" />
+  </global>
+  <element name="do__sum" arguments="output,input,ps" _defline="6">
+     
+     
+     
+    <unitStart name="do__sum" line="6" type="PROCEDURE" outputs="output"/>
+    <vdl:execute>
+      <vdl:tr>perl</vdl:tr>
+      <vdl:stagein var="{input}"/>
+      <vdl:stagein var="{ps}"/>
+      <vdl:stageout var="{output}"/>
+
+      <vdl:arguments>
+        <swiftscript:filename _traceline="8">
+         <variable>ps</variable> 
+        </swiftscript:filename>
+        <swiftscript:filename _traceline="8">
+         <variable>input</variable> 
+        </swiftscript:filename>
+      </vdl:arguments>
+      <vdl:stdout>
+        <swiftscript:filename _traceline="8">
+         <variable>output</variable> 
+        </swiftscript:filename>
+      </vdl:stdout>
+    </vdl:execute>
+    <vdl:closedataset var="{output}"/>
+    <unitEnd name="do__sum" line="6" type="PROCEDURE"/></element>
+
+  <set name="sumall_pl">
+        <vdl:new type="perlscript" dbgname="sumall_pl" _defline="4" input="true">
+          <vdl:mapping descriptor="single_file_mapper">
+            <vdl:parameter name="file" value="sumall.pl"/>
+          </vdl:mapping>
+        </vdl:new>
+  </set>
+   
+  <set name="nFiles">
+        <vdl:new type="int" dbgname="nFiles" waitCount="1" _defline="12"/>
+  </set>
+   
+  <set name="Indir">
+        <vdl:new type="string" dbgname="Indir" waitCount="1" _defline="13"/>
+  </set>
+   
+  <set name="swift#mapper#17004">
+        <vdl:new type="string" dbgname="swift#mapper#17004" _defline=""/>
+  </set>
+   
+  <set name="inputs">
+    <vdl:new type="file[]" dbgname="inputs" _defline="16" input="true">
+      <vdl:mapping descriptor="filesys_mapper">
+        <vdl:parameter name="location"><variable>Indir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".inp" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <set name="swift#mapper#17006">
+        <vdl:new type="string" dbgname="swift#mapper#17006" _defline=""/>
+  </set>
+   
+  <set name="outputs">
+    <vdl:new type="file[]" dbgname="outputs" waitCount="1" _defline="17">
+      <vdl:mapping descriptor="simple_mapper">
+        <vdl:parameter name="location"><variable>Indir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".out" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <restartLog>
+  	<vdl:mains>
+		<vdl:startprogressticker />
+		<vdl:mainp>
+		    <uparallel>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="13">
+		                 <variable>nFiles</variable>
+		                 <swiftscript:to_int _traceline="12">
+		                  <swiftscript:arg _traceline="12">
+		                  <variable>swift#string#17000</variable><variable>swift#string#17001</variable> 
+		                 </swiftscript:arg> 
+		                 </swiftscript:to_int>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{nFiles}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="16">
+		                 <variable>Indir</variable>
+		                 <swiftscript:arg _traceline="13">
+		                  <variable>swift#string#17002</variable><variable>swift#string#17003</variable> 
+		                 </swiftscript:arg>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{Indir}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17004</variable>
+		                 <variable>swift#string#17005</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17006</variable>
+		                 <variable>swift#string#17007</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		          <vdl:tparallelFor name="$"_kvar="i" _vvar="input" refs="outputs 1">
+		          	<getarrayiterator>
+		          		<variable>inputs</variable>
+		          	</getarrayiterator>
+		          	<set names="$$, input">
+		          		<each items="{$}"/>
+		          	</set>
+		          	<set name="i">
+		          		<vdl:new type="int" value="{$$}"/>
+		          	</set>
+		          	<unitStart line="19" type="FOREACH_IT"/>
+		          	<sequentialWithID>
+		          	    <sequential>
+		          	      <do__sum _traceline="20">
+		          	          <vdl:getfieldsubscript>
+		          	            <argument name="var"><variable>outputs</variable></argument>
+		          	            <argument name="subscript"><variable>i</variable></argument>
+		          	          </vdl:getfieldsubscript>
+		          	          <variable>input</variable>
+		          	          <variable>sumall_pl</variable>
+		          	      </do__sum>
+		          	      <partialCloseDataset var="{outputs}"/>
+		          	    </sequential>
+		          	</sequentialWithID>
+		          	<unitEnd line="19" type="FOREACH_IT"/>
+		          </vdl:tparallelFor>
+		        </sequential>
+		    </uparallel>
+		</vdl:mainp>
+		<vdl:stopprogressticker />
+	</vdl:mains>
+  </restartLog>
+  <vdl:cleandataset var="{inputs}"/>
+  <vdl:cleandataset var="{outputs}"/>
+  <vdl:cleandataset var="{sumall_pl}"/>
+  <vdl:cleandataset shutdown="true"/>
+</project>

Added: branches/release-0.94/tests/stress/IO/i2/i1.swift
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/i1.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/i1.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,21 @@
+type file;
+type perlscript;
+
+perlscript sumall_pl <"sumall.pl">;
+
+app (file output) do_sum (file input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string Indir     = @arg("Indir", "./input/");
+
+# Input Dataset
+file inputs[] <filesys_mapper; location=Indir, suffix=".inp">;
+file outputs[] <simple_mapper; location=Indir, suffix=".out">;
+
+foreach input,i in inputs {
+    outputs[i] = do_sum(input, sumall_pl);
+}

Added: branches/release-0.94/tests/stress/IO/i2/i1.swiftx
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/i1.swiftx	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/i1.swiftx	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,69 @@
+<program xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <types>
+     	<type>
+     		<typename>file</typename>
+     		<typealias>string</typealias>
+     		<typestructure></typestructure>
+     	</type>
+     	<type>
+     		<typename>perlscript</typename>
+     		<typealias>string</typealias>
+     		<typestructure></typestructure>
+     	</type>
+  </types>
+  <procedure name="do_sum" src="line 6">
+
+    <output name="output" type="file"  xsi:nil="true"/>
+
+    <input name="input" type="file"  xsi:nil="true"/>
+
+    <input name="ps" type="perlscript"  xsi:nil="true"/>
+    <binding>
+      <application src="line 6">
+        <executable>perl</executable>
+        <stdout><function name="filename" src="line 8">
+          <variableReference>output</variableReference></function></stdout><function name="filename" src="line 8">
+          <variableReference>ps</variableReference></function><function name="filename" src="line 8">
+          <variableReference>input</variableReference></function>  </application>
+    </binding>
+  </procedure>
+  <variable name="sumall_pl" type="perlscript" isGlobal="false" src="line 4"><file name="sumall.pl"/></variable>
+  <variable name="nFiles" type="int" isGlobal="false" xsi:nil="true" src="line 12"/>
+  <assign src="line 13">
+   <variableReference>nFiles</variableReference>
+   <function name="toInt" src="line 12">
+     <function name="arg" src="line 12">
+       <stringConstant>nfiles</stringConstant><stringConstant>1000</stringConstant></function></function>
+  </assign>
+  <variable name="Indir" type="string" isGlobal="false" xsi:nil="true" src="line 13"/>
+  <assign src="line 16">
+   <variableReference>Indir</variableReference>
+   <function name="arg" src="line 13">
+     <stringConstant>Indir</stringConstant><stringConstant>./input/</stringConstant></function>
+  </assign>
+  <variable name="inputs" type="file[]" isGlobal="false" src="line 16">
+    <mapping descriptor="filesys_mapper">
+      <param name="location"><variableReference>Indir</variableReference></param>
+      <param name="suffix"><stringConstant>.inp</stringConstant></param>
+    </mapping>
+  </variable>
+  <variable name="outputs" type="file[]" isGlobal="false" src="line 17">
+    <mapping descriptor="simple_mapper">
+      <param name="location"><variableReference>Indir</variableReference></param>
+      <param name="suffix"><stringConstant>.out</stringConstant></param>
+    </mapping>
+  </variable>
+  <foreach var="input"  indexVar="i" src="line 19">
+  <in><variableReference>inputs</variableReference></in>
+  <body><call proc="do_sum" src="line 20">
+      <output><arraySubscript>
+       <variableReference>outputs</variableReference>
+       <variableReference>i</variableReference>
+      </arraySubscript></output>
+      <input><variableReference>input</variableReference></input>
+      <input><variableReference>sumall_pl</variableReference></input>
+    </call></body>
+  </foreach>
+</program>

Added: branches/release-0.94/tests/stress/IO/i2/run
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+./filegen.sh
+
+set -x
+
+export GLOBUS_HOSTNAME="swift.rcc.uchicago.edu"
+
+swift -config cf -sites.file sites.xml -tc.file tc i1.swift


Property changes on: branches/release-0.94/tests/stress/IO/i2/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i2/sites.xml
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/sites.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/sites.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,53 @@
+<config>
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <!-- <profile namespace="globus"  key="condor.+Requirements">isUndefined(GLIDECLIENT_Name) == FALSE</profile> -->
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="sandyb">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+  <pool handle="westmere">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/IO/i2/sites.xml.bak
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/sites.xml.bak	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/sites.xml.bak	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,71 @@
+<config>
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <!-- <profile namespace="globus"  key="condor.+Requirements">isUndefined(GLIDECLIENT_Name) == FALSE</profile> -->
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="beagle">
+    <execution provider="coaster" jobmanager="ssh-cl:pbs" url="login4.beagle.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <!-- <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24</profile> -->
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768</profile>
+    <profile namespace="globus" key="maxtime">3600</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/{env.USER}/swiftwork</profile>
+    <profile namespace="globus" key="slots">5</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}/swiftwork</workdirectory>
+  </pool>
+
+  <pool handle="sandyb">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+  <pool handle="westmere">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/IO/i2/sumall.pl
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/sumall.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/sumall.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,9 @@
+#!/usr/bin/perl                                                           
+
+my $sum = 0;
+my $filename = shift;
+open(my $fd, "<", $filename) or die "Couldn;t access '$filename' \n";
+while ( my $line = <$fd> ) {
+    $sum += $line;
+}
+print "$sum\n";


Property changes on: branches/release-0.94/tests/stress/IO/i2/sumall.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/IO/i2/tc
===================================================================
--- branches/release-0.94/tests/stress/IO/i2/tc	                        (rev 0)
+++ branches/release-0.94/tests/stress/IO/i2/tc	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,4 @@
+uc3      perl /usr/bin/perl null null null
+beagle   perl /usr/bin/perl null null null
+#sandy    perl /usr/bin/perl null null null
+westmere perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/data/t0
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t0
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t1
===================================================================
--- branches/release-0.94/tests/stress/apps/data/t1	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/data/t1	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,13792 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+      
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+      
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
    
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
 
+
+
+
+
+
+
+
+
 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			   
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
    
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+			
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
 						
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
    
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 +
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
 
 
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+   
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+   
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
       
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
 
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/data/t2
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t2
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t3
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t3
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t4
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t4
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t5
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t5
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t6
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t6
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t7
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t7
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t8
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t8
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/data/t9
===================================================================
(Binary files differ)


Property changes on: branches/release-0.94/tests/stress/apps/data/t9
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/release-0.94/tests/stress/apps/get.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/get.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/get.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+
+


Property changes on: branches/release-0.94/tests/stress/apps/get.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/clean
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/clean	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/clean	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse


Property changes on: branches/release-0.94/tests/stress/apps/modis_beagle/clean
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/getlanduse.pl
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/getlanduse.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/getlanduse.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+# Input to this program should be a raw, greyscale RGB file
+# Usage: rgb_histogram.pl myfile.rgb
+
+my $image_filename = shift;
+open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n";
+binmode IMAGEFILE;
+
+my @pixelcount;
+foreach my $count (0..255) { $pixelcount[$count] = 0; }
+
+# Read values, three bytes at a time
+$/ = \3; 
+foreach(<IMAGEFILE>) {
+   $pixelcount[unpack('C', $_)]++;
+}
+close(IMAGEFILE);
+
+ at sortedcount = sort {$b <=> $a} @pixelcount;
+
+foreach my $count (0..255) {
+   if($sortedcount[$count] == 0) { next; }
+   printf("%d %d %02x\n", $sortedcount[$count], $count, $count);
+}
+
+system("hostname -f 2>&1");
+
+sleep(1);


Property changes on: branches/release-0.94/tests/stress/apps/modis_beagle/getlanduse.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/makeinput
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/makeinput	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/makeinput	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+nfiles=${1:-10}
+
+rm -rf input
+mkdir input
+cp ../data/t? input/
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)


Property changes on: branches/release-0.94/tests/stress/apps/modis_beagle/makeinput
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/modis.args
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/modis.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-modisdir=input/
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_beagle/modis.kml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/modis.kml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.kml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,200 @@
+<project><!-- CACHE ID abf630aa-7a86-4f7c-8484-2439be2e7702-no-provenance -->
+  <import file="sys.xml"/>
+  <import file="scheduler.xml"/>
+  <import file="rlog.xml"/>
+  <import file="vdl.k"/>
+  <types>
+     <xs:schema targetNamespace="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      	   <xs:simpleType name="imagefile">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="landuse">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="perlscript">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+     </xs:schema>
+  </types>
+  <global name="swift#string#17009">
+    <vdl:new type="string" value="landuse/\1.landuse.byfreq" />
+  </global>
+  <global name="swift#string#17002">
+    <vdl:new type="string" value="modisdir" />
+  </global>
+  <global name="swift#string#17007">
+    <vdl:new type="string" value="(h..v..)" />
+  </global>
+  <global name="swift#string#17000">
+    <vdl:new type="string" value="nfiles" />
+  </global>
+  <global name="swift#string#17003">
+    <vdl:new type="string" value="../data/modis/2002" />
+  </global>
+  <global name="swift#string#17005">
+    <vdl:new type="string" value=".rgb" />
+  </global>
+  <global name="swift#string#17001">
+    <vdl:new type="string" value="1000" />
+  </global>
+  <element name="get_land_use" arguments="output,input,ps" _defline="7">
+     
+     
+     
+    <unitStart name="get_land_use" line="7" type="PROCEDURE" outputs="output"/>
+    <vdl:execute>
+      <vdl:tr>perl</vdl:tr>
+      <vdl:stagein var="{input}"/>
+      <vdl:stagein var="{ps}"/>
+      <vdl:stageout var="{output}"/>
+
+      <vdl:arguments>
+        <swiftscript:filename _traceline="9">
+         <variable>ps</variable> 
+        </swiftscript:filename>
+        <swiftscript:filename _traceline="9">
+         <variable>input</variable> 
+        </swiftscript:filename>
+      </vdl:arguments>
+      <vdl:stdout>
+        <swiftscript:filename _traceline="9">
+         <variable>output</variable> 
+        </swiftscript:filename>
+      </vdl:stdout>
+    </vdl:execute>
+    <vdl:closedataset var="{output}"/>
+    <unitEnd name="get_land_use" line="7" type="PROCEDURE"/></element>
+
+  <set name="getlanduse_pl">
+        <vdl:new type="perlscript" dbgname="getlanduse_pl" _defline="5" input="true">
+          <vdl:mapping descriptor="single_file_mapper">
+            <vdl:parameter name="file" value="getlanduse.pl"/>
+          </vdl:mapping>
+        </vdl:new>
+  </set>
+   
+  <set name="nFiles">
+        <vdl:new type="int" dbgname="nFiles" waitCount="1" _defline="13"/>
+  </set>
+   
+  <set name="MODISdir">
+        <vdl:new type="string" dbgname="MODISdir" waitCount="1" _defline="14"/>
+  </set>
+   
+  <set name="swift#mapper#17004">
+        <vdl:new type="string" dbgname="swift#mapper#17004" _defline=""/>
+  </set>
+   
+  <set name="geos">
+    <vdl:new type="imagefile[]" dbgname="geos" _defline="17" input="true">
+      <vdl:mapping descriptor="filesys_mapper">
+        <vdl:parameter name="location"><variable>MODISdir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".rgb" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <set name="swift#mapper#17006">
+        <vdl:new type="string" dbgname="swift#mapper#17006" _defline=""/>
+  </set>
+   
+  <set name="swift#mapper#17008">
+        <vdl:new type="string" dbgname="swift#mapper#17008" _defline=""/>
+  </set>
+   
+  <set name="land">
+    <vdl:new type="landuse[]" dbgname="land" waitCount="1" _defline="20">
+      <vdl:mapping descriptor="structured_regexp_mapper">
+        <vdl:parameter name="source"><variable>geos</variable></vdl:parameter>
+        <vdl:parameter name="match"><vdl:new type="string" value="(h..v..)" /></vdl:parameter>
+        <vdl:parameter name="transform"><variable>swift#mapper#17008</variable></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <restartLog>
+  	<vdl:mains>
+		<vdl:startprogressticker />
+		<vdl:mainp>
+		    <uparallel>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="14">
+		                 <variable>nFiles</variable>
+		                 <swiftscript:to_int _traceline="13">
+		                  <swiftscript:arg _traceline="13">
+		                  <variable>swift#string#17000</variable><variable>swift#string#17001</variable> 
+		                 </swiftscript:arg> 
+		                 </swiftscript:to_int>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{nFiles}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="17">
+		                 <variable>MODISdir</variable>
+		                 <swiftscript:arg _traceline="14">
+		                  <variable>swift#string#17002</variable><variable>swift#string#17003</variable> 
+		                 </swiftscript:arg>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{MODISdir}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17004</variable>
+		                 <variable>swift#string#17005</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17006</variable>
+		                 <variable>swift#string#17007</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17008</variable>
+		                 <swiftscript:strcat _traceline="21">
+		                  <variable>swift#string#17009</variable> 
+		                 </swiftscript:strcat>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		          <vdl:tparallelFor name="$"_kvar="i" _vvar="g" refs="land 1">
+		          	<getarrayiterator>
+		          		<variable>geos</variable>
+		          	</getarrayiterator>
+		          	<set names="$$, g">
+		          		<each items="{$}"/>
+		          	</set>
+		          	<set name="i">
+		          		<vdl:new type="int" value="{$$}"/>
+		          	</set>
+		          	<unitStart line="23" type="FOREACH_IT"/>
+		          	<sequentialWithID>
+		          	    <sequential>
+		          	      <get_land_use _traceline="24">
+		          	          <vdl:getfieldsubscript>
+		          	            <argument name="var"><variable>land</variable></argument>
+		          	            <argument name="subscript"><variable>i</variable></argument>
+		          	          </vdl:getfieldsubscript>
+		          	          <variable>g</variable>
+		          	          <variable>getlanduse_pl</variable>
+		          	      </get_land_use>
+		          	      <partialCloseDataset var="{land}"/>
+		          	    </sequential>
+		          	</sequentialWithID>
+		          	<unitEnd line="23" type="FOREACH_IT"/>
+		          </vdl:tparallelFor>
+		        </sequential>
+		    </uparallel>
+		</vdl:mainp>
+		<vdl:stopprogressticker />
+	</vdl:mains>
+  </restartLog>
+  <vdl:cleandataset var="{geos}"/>
+  <vdl:cleandataset var="{getlanduse_pl}"/>
+  <vdl:cleandataset var="{land}"/>
+  <vdl:cleandataset shutdown="true"/>
+</project>

Added: branches/release-0.94/tests/stress/apps/modis_beagle/modis.setup.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/modis.setup.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.setup.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+case $STRESS in
+    "S1")
+        FILES=10
+        ;;
+    "S2")
+        FILES=1000
+        ;;
+    "S3")
+        FILES=10000
+        ;;
+    "S4")
+        FILES=10000
+        ;;
+    *)
+        FILES=1000
+        ;;
+esac
+
+export GLOBUS_HOSTNAME="128.135.112.73"
+export GLOBUS_TCP_PORT_RANGE=50000,51000
+#OVERRIDE_GLOBUS_HOSTNAME "128.135.112.73"
+
+nfiles=${FILES:-10}
+
+rm -rf input
+mkdir input
+cp $(dirname $GROUP)/data/t? input/
+cp $GROUP/getlanduse.pl ./
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)
+
+#makeinput
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/apps/modis_beagle/modis.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/modis.swift
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/modis.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,25 @@
+type imagefile;
+type landuse;
+type perlscript;
+
+perlscript getlanduse_pl <"getlanduse.pl">;
+
+app (landuse output) getLandUse (imagefile input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string MODISdir  = @arg("modisdir", "../data/modis/2002");
+
+# Input Dataset
+imagefile geos[] <filesys_mapper; location=MODISdir, suffix=".rgb">;
+
+# Compute the land use summary of each MODIS tile
+landuse land[] <structured_regexp_mapper; source=geos, match="(h..v..)",
+                transform=@strcat("landuse/\\1.landuse.byfreq")>;
+
+foreach g,i in geos {
+    land[i] = getLandUse(g, getlanduse_pl);
+}

Added: branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999

Added: branches/release-0.94/tests/stress/apps/modis_beagle/run
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+set -x
+export GLOBUS_HOSTNAME="128.135.112.73"
+export GLOBUS_TCP_PORT_RANGE=50000,51000
+
+swift -config swift.properties -sites.file sites.template.xml -tc.file tc.template.data modis.swift -modisdir=input/


Property changes on: branches/release-0.94/tests/stress/apps/modis_beagle/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,35 @@
+<config>
+
+  <pool handle="beagle">
+
+    <execution provider="coaster" jobmanager="ssh-cl:pbs" url="login4.beagle.ci.uchicago.edu"/>
+
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24</profile>
+
+    <profile namespace="globus" key="maxtime">3600</profile>
+
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/$USER/swiftwork</profile>
+
+    <profile namespace="globus" key="slots">20</profile>
+
+    <profile namespace="globus" key="maxnodes">1</profile>
+
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+
+    <profile namespace="karajan" key="initialScore">10000</profile>
+
+    <workdirectory>/tmp/$USER/swiftwork</workdirectory>
+
+  </pool>
+
+</config>
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml.bak
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml.bak	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml.bak	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,19 @@
+<config>
+  <pool handle="beagle">
+    <execution provider="coaster" jobmanager="ssh-cl:pbs" url="login4.beagle.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <!-- <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24</profile> -->
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768</profile>
+    <profile namespace="globus" key="maxtime">3600</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/{env.USER}/swiftwork</profile>
+    <profile namespace="globus" key="slots">20</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}/swiftwork</workdirectory>
+  </pool>
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_beagle/swift.properties
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/swift.properties	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/swift.properties	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/apps/modis_beagle/tc.template.data
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/tc.template.data	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/tc.template.data	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+beagle perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/modis_beagle/title.txt
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_beagle/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_beagle/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Modis-Beagle

Added: branches/release-0.94/tests/stress/apps/modis_local/clean
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/clean	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/clean	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse


Property changes on: branches/release-0.94/tests/stress/apps/modis_local/clean
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_local/getlanduse.pl
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/getlanduse.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/getlanduse.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+# Input to this program should be a raw, greyscale RGB file
+# Usage: rgb_histogram.pl myfile.rgb
+
+my $image_filename = shift;
+open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n";
+binmode IMAGEFILE;
+
+my @pixelcount;
+foreach my $count (0..255) { $pixelcount[$count] = 0; }
+
+# Read values, three bytes at a time
+$/ = \3; 
+foreach(<IMAGEFILE>) {
+   $pixelcount[unpack('C', $_)]++;
+}
+close(IMAGEFILE);
+
+ at sortedcount = sort {$b <=> $a} @pixelcount;
+
+foreach my $count (0..255) {
+   if($sortedcount[$count] == 0) { next; }
+   printf("%d %d %02x\n", $sortedcount[$count], $count, $count);
+}
+
+system("hostname -f 2>&1");
+
+sleep(1);


Property changes on: branches/release-0.94/tests/stress/apps/modis_local/getlanduse.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_local/makeinput
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/makeinput	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/makeinput	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+nfiles=${1:-10}
+
+rm -rf input
+mkdir input
+cp ../data/t? input/
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)


Property changes on: branches/release-0.94/tests/stress/apps/modis_local/makeinput
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_local/modis.args
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/modis.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/modis.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-modisdir=input/
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_local/modis.setup.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/modis.setup.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/modis.setup.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+case $STRESS in
+    "S1")
+        FILES=100
+        ;;
+    "S2")
+        FILES=1000
+        ;;
+    "S3")
+        FILES=10000
+        ;;
+    "S4")
+        FILES=10000
+        ;;
+    *)
+        FILES=1000
+        ;;
+esac
+
+nfiles=${FILES:-10}
+
+rm -rf input
+mkdir input
+cp $(dirname $GROUP)/data/t? input/
+cp $GROUP/getlanduse.pl ./
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)
+
+#makeinput
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/apps/modis_local/modis.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_local/modis.swift
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/modis.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/modis.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,25 @@
+type imagefile;
+type landuse;
+type perlscript;
+
+perlscript getlanduse_pl <"getlanduse.pl">;
+
+app (landuse output) getLandUse (imagefile input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string MODISdir  = @arg("modisdir", "../data/modis/2002");
+
+# Input Dataset
+imagefile geos[] <filesys_mapper; location=MODISdir, suffix=".rgb">;
+
+# Compute the land use summary of each MODIS tile
+landuse land[] <structured_regexp_mapper; source=geos, match="(h..v..)",
+                transform=@strcat("landuse/\\1.landuse.byfreq")>;
+
+foreach g,i in geos {
+    land[i] = getLandUse(g, getlanduse_pl);
+}

Added: branches/release-0.94/tests/stress/apps/modis_local/modis.timeout
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/modis.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/modis.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999

Added: branches/release-0.94/tests/stress/apps/modis_local/run
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+set -x
+
+swift -config cf -sites.file local.xml -tc.file tc ../modis.swift -modisdir=input/


Property changes on: branches/release-0.94/tests/stress/apps/modis_local/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,16 @@
+<config>
+  <pool handle="local">
+    <execution provider="coaster" jobmanager="local:local"/>
+    <profile namespace="globus" key="jobsPerNode">4</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">1</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">0.03</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <filesystem provider="local"/>
+    <workdirectory>/scratch/midway/{env.USER}</workdirectory>
+  </pool>
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_local/swift.properties
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/swift.properties	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/swift.properties	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=false
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/apps/modis_local/tc.template.data
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/tc.template.data	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/tc.template.data	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+local perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/modis_local/title.txt
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_local/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_local/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Modis Local

Added: branches/release-0.94/tests/stress/apps/modis_midway/clean
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/clean	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/clean	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse


Property changes on: branches/release-0.94/tests/stress/apps/modis_midway/clean
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_midway/getlanduse.pl
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/getlanduse.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/getlanduse.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+# Input to this program should be a raw, greyscale RGB file
+# Usage: rgb_histogram.pl myfile.rgb
+
+my $image_filename = shift;
+open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n";
+binmode IMAGEFILE;
+
+my @pixelcount;
+foreach my $count (0..255) { $pixelcount[$count] = 0; }
+
+# Read values, three bytes at a time
+$/ = \3; 
+foreach(<IMAGEFILE>) {
+   $pixelcount[unpack('C', $_)]++;
+}
+close(IMAGEFILE);
+
+ at sortedcount = sort {$b <=> $a} @pixelcount;
+
+foreach my $count (0..255) {
+   if($sortedcount[$count] == 0) { next; }
+   printf("%d %d %02x\n", $sortedcount[$count], $count, $count);
+}
+
+system("hostname -f 2>&1");
+
+sleep(1);


Property changes on: branches/release-0.94/tests/stress/apps/modis_midway/getlanduse.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_midway/makeinput
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/makeinput	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/makeinput	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+nfiles=${1:-10}
+
+rm -rf input
+mkdir input
+cp ../data/t? input/
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)


Property changes on: branches/release-0.94/tests/stress/apps/modis_midway/makeinput
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_midway/modis.args
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/modis.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/modis.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-modisdir=input/
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_midway/modis.setup.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/modis.setup.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/modis.setup.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+case $STRESS in
+    "S1")
+        FILES=10
+        ;;
+    "S2")
+        FILES=1000
+        ;;
+    "S3")
+        FILES=10000
+        ;;
+    "S4")
+        FILES=10000
+        ;;
+    *)
+        FILES=1000
+        ;;
+esac
+
+nfiles=${FILES:-10}
+
+rm -rf input
+mkdir input
+cp $(dirname $GROUP)/data/t? input/
+cp $GROUP/getlanduse.pl ./
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)
+
+#makeinput
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/apps/modis_midway/modis.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_midway/modis.swift
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/modis.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/modis.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,25 @@
+type imagefile;
+type landuse;
+type perlscript;
+
+perlscript getlanduse_pl <"getlanduse.pl">;
+
+app (landuse output) getLandUse (imagefile input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string MODISdir  = @arg("modisdir", "../data/modis/2002");
+
+# Input Dataset
+imagefile geos[] <filesys_mapper; location=MODISdir, suffix=".rgb">;
+
+# Compute the land use summary of each MODIS tile
+landuse land[] <structured_regexp_mapper; source=geos, match="(h..v..)",
+                transform=@strcat("landuse/\\1.landuse.byfreq")>;
+
+foreach g,i in geos {
+    land[i] = getLandUse(g, getlanduse_pl);
+}

Added: branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999

Added: branches/release-0.94/tests/stress/apps/modis_midway/run
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+set -x
+
+swift -config cf -sites.file local.xml -tc.file tc ../modis.swift -modisdir=input/


Property changes on: branches/release-0.94/tests/stress/apps/modis_midway/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_midway/sandyb.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/sandyb.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/sandyb.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,17 @@
+<config>
+  <pool handle="midway">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,17 @@
+<config>
+  <pool handle="midway">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_midway/swift.properties
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/swift.properties	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/swift.properties	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,9 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=true
+

Added: branches/release-0.94/tests/stress/apps/modis_midway/tc.template.data
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/tc.template.data	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/tc.template.data	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+midway perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/modis_midway/title.txt
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Modis Midway

Added: branches/release-0.94/tests/stress/apps/modis_midway/westmere.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_midway/westmere.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_midway/westmere.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,19 @@
+<config>
+
+  <pool handle="midway">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_multiple/clean
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/clean	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/clean	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse


Property changes on: branches/release-0.94/tests/stress/apps/modis_multiple/clean
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_multiple/getlanduse.pl
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/getlanduse.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/getlanduse.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+# Input to this program should be a raw, greyscale RGB file
+# Usage: rgb_histogram.pl myfile.rgb
+
+my $image_filename = shift;
+open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n";
+binmode IMAGEFILE;
+
+my @pixelcount;
+foreach my $count (0..255) { $pixelcount[$count] = 0; }
+
+# Read values, three bytes at a time
+$/ = \3; 
+foreach(<IMAGEFILE>) {
+   $pixelcount[unpack('C', $_)]++;
+}
+close(IMAGEFILE);
+
+ at sortedcount = sort {$b <=> $a} @pixelcount;
+
+foreach my $count (0..255) {
+   if($sortedcount[$count] == 0) { next; }
+   printf("%d %d %02x\n", $sortedcount[$count], $count, $count);
+}
+
+system("hostname -f 2>&1");
+
+sleep(1);


Property changes on: branches/release-0.94/tests/stress/apps/modis_multiple/getlanduse.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_multiple/makeinput
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/makeinput	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/makeinput	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+nfiles=${1:-10}
+
+rm -rf input
+mkdir input
+cp ../data/t? input/
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)


Property changes on: branches/release-0.94/tests/stress/apps/modis_multiple/makeinput
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_multiple/modis.args
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/modis.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/modis.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-modisdir=input/
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_multiple/modis.setup.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/modis.setup.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/modis.setup.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+case $STRESS in
+    "S1")
+        FILES=10
+        ;;
+    "S2")
+        FILES=1000
+        ;;
+    "S3")
+        FILES=10000
+        ;;
+    "S4")
+        FILES=10000
+        ;;
+    *)
+        FILES=1000
+        ;;
+esac
+
+nfiles=${FILES:-10}
+#OVERRIDE_GLOBUS_HOSTNAME "swift.rcc.uchicago.edu"
+rm -rf input
+mkdir input
+cp $(dirname $GROUP)/data/t? input/
+cp $GROUP/getlanduse.pl ./
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)
+
+#makeinput
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/apps/modis_multiple/modis.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_multiple/modis.swift
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/modis.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/modis.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,25 @@
+type imagefile;
+type landuse;
+type perlscript;
+
+perlscript getlanduse_pl <"getlanduse.pl">;
+
+app (landuse output) getLandUse (imagefile input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string MODISdir  = @arg("modisdir", "../data/modis/2002");
+
+# Input Dataset
+imagefile geos[] <filesys_mapper; location=MODISdir, suffix=".rgb">;
+
+# Compute the land use summary of each MODIS tile
+landuse land[] <structured_regexp_mapper; source=geos, match="(h..v..)",
+                transform=@strcat("landuse/\\1.landuse.byfreq")>;
+
+foreach g,i in geos {
+    land[i] = getLandUse(g, getlanduse_pl);
+}

Added: branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999

Added: branches/release-0.94/tests/stress/apps/modis_multiple/run
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+set -x
+
+swift -config cf -sites.file local.xml -tc.file tc ../modis.swift -modisdir=input/


Property changes on: branches/release-0.94/tests/stress/apps/modis_multiple/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,71 @@
+<config>
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <!-- <profile namespace="globus"  key="condor.+Requirements">isUndefined(GLIDECLIENT_Name) == FALSE</profile> -->
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="beagle">
+    <execution provider="coaster" jobmanager="ssh-cl:pbs" url="login4.beagle.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <!-- <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24</profile> -->
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768</profile>
+    <profile namespace="globus" key="maxtime">3600</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/{env.USER}/swiftwork</profile>
+    <profile namespace="globus" key="slots">5</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}/swiftwork</workdirectory>
+  </pool>
+
+  <pool handle="sandyb">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+  <pool handle="westmere">
+    <execution provider="coaster" jobmanager="local:slurm"/>
+    <profile namespace="globus" key="queue">westmere</profile>
+    <profile namespace="globus" key="jobsPerNode">12</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus" key="maxTime">3600</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.48</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/{env.USER}</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_multiple/swift.properties
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/swift.properties	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/swift.properties	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/apps/modis_multiple/tc.template.data
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/tc.template.data	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/tc.template.data	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,4 @@
+uc3      perl /usr/bin/perl null null null
+beagle   perl /usr/bin/perl null null null
+#sandy    perl /usr/bin/perl null null null
+westmere perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/modis_multiple/title.txt
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_multiple/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_multiple/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Modis Multiple Sites

Added: branches/release-0.94/tests/stress/apps/modis_uc3/clean
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/clean	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/clean	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse


Property changes on: branches/release-0.94/tests/stress/apps/modis_uc3/clean
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_uc3/getlanduse.pl
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/getlanduse.pl	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/getlanduse.pl	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+
+# Input to this program should be a raw, greyscale RGB file
+# Usage: rgb_histogram.pl myfile.rgb
+
+my $image_filename = shift;
+open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n";
+binmode IMAGEFILE;
+
+my @pixelcount;
+foreach my $count (0..255) { $pixelcount[$count] = 0; }
+
+# Read values, three bytes at a time
+$/ = \3; 
+foreach(<IMAGEFILE>) {
+   $pixelcount[unpack('C', $_)]++;
+}
+close(IMAGEFILE);
+
+ at sortedcount = sort {$b <=> $a} @pixelcount;
+
+foreach my $count (0..255) {
+   if($sortedcount[$count] == 0) { next; }
+   printf("%d %d %02x\n", $sortedcount[$count], $count, $count);
+}
+
+system("hostname -f 2>&1");
+
+sleep(1);


Property changes on: branches/release-0.94/tests/stress/apps/modis_uc3/getlanduse.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_uc3/makeinput
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/makeinput	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/makeinput	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+nfiles=${1:-10}
+
+rm -rf input
+mkdir input
+cp ../data/t? input/
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)


Property changes on: branches/release-0.94/tests/stress/apps/modis_uc3/makeinput
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_uc3/modis.args
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/modis.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-modisdir=input/
\ No newline at end of file

Added: branches/release-0.94/tests/stress/apps/modis_uc3/modis.kml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/modis.kml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.kml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,200 @@
+<project><!-- CACHE ID 5384750e-183f-421c-bdc7-502c4e357001-no-provenance -->
+  <import file="sys.xml"/>
+  <import file="scheduler.xml"/>
+  <import file="rlog.xml"/>
+  <import file="vdl.k"/>
+  <types>
+     <xs:schema targetNamespace="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns="http://ci.uchicago.edu/swift/2009/02/swiftscript" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      	   <xs:simpleType name="imagefile">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="landuse">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+      	   <xs:simpleType name="perlscript">
+      	   <xs:restriction base="string"/>
+      	   </xs:simpleType>
+     </xs:schema>
+  </types>
+  <global name="swift#string#17009">
+    <vdl:new type="string" value="landuse/\1.landuse.byfreq" />
+  </global>
+  <global name="swift#string#17002">
+    <vdl:new type="string" value="modisdir" />
+  </global>
+  <global name="swift#string#17007">
+    <vdl:new type="string" value="(h..v..)" />
+  </global>
+  <global name="swift#string#17000">
+    <vdl:new type="string" value="nfiles" />
+  </global>
+  <global name="swift#string#17003">
+    <vdl:new type="string" value="../data/modis/2002" />
+  </global>
+  <global name="swift#string#17005">
+    <vdl:new type="string" value=".rgb" />
+  </global>
+  <global name="swift#string#17001">
+    <vdl:new type="string" value="1000" />
+  </global>
+  <element name="get_land_use" arguments="output,input,ps" _defline="7">
+     
+     
+     
+    <unitStart name="get_land_use" line="7" type="PROCEDURE" outputs="output"/>
+    <vdl:execute>
+      <vdl:tr>perl</vdl:tr>
+      <vdl:stagein var="{input}"/>
+      <vdl:stagein var="{ps}"/>
+      <vdl:stageout var="{output}"/>
+
+      <vdl:arguments>
+        <swiftscript:filename _traceline="9">
+         <variable>ps</variable> 
+        </swiftscript:filename>
+        <swiftscript:filename _traceline="9">
+         <variable>input</variable> 
+        </swiftscript:filename>
+      </vdl:arguments>
+      <vdl:stdout>
+        <swiftscript:filename _traceline="9">
+         <variable>output</variable> 
+        </swiftscript:filename>
+      </vdl:stdout>
+    </vdl:execute>
+    <vdl:closedataset var="{output}"/>
+    <unitEnd name="get_land_use" line="7" type="PROCEDURE"/></element>
+
+  <set name="getlanduse_pl">
+        <vdl:new type="perlscript" dbgname="getlanduse_pl" _defline="5" input="true">
+          <vdl:mapping descriptor="single_file_mapper">
+            <vdl:parameter name="file" value="getlanduse.pl"/>
+          </vdl:mapping>
+        </vdl:new>
+  </set>
+   
+  <set name="nFiles">
+        <vdl:new type="int" dbgname="nFiles" waitCount="1" _defline="13"/>
+  </set>
+   
+  <set name="MODISdir">
+        <vdl:new type="string" dbgname="MODISdir" waitCount="1" _defline="14"/>
+  </set>
+   
+  <set name="swift#mapper#17004">
+        <vdl:new type="string" dbgname="swift#mapper#17004" _defline=""/>
+  </set>
+   
+  <set name="geos">
+    <vdl:new type="imagefile[]" dbgname="geos" _defline="17" input="true">
+      <vdl:mapping descriptor="filesys_mapper">
+        <vdl:parameter name="location"><variable>MODISdir</variable></vdl:parameter>
+        <vdl:parameter name="suffix"><vdl:new type="string" value=".rgb" /></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <set name="swift#mapper#17006">
+        <vdl:new type="string" dbgname="swift#mapper#17006" _defline=""/>
+  </set>
+   
+  <set name="swift#mapper#17008">
+        <vdl:new type="string" dbgname="swift#mapper#17008" _defline=""/>
+  </set>
+   
+  <set name="land">
+    <vdl:new type="landuse[]" dbgname="land" waitCount="1" _defline="20">
+      <vdl:mapping descriptor="structured_regexp_mapper">
+        <vdl:parameter name="source"><variable>geos</variable></vdl:parameter>
+        <vdl:parameter name="match"><vdl:new type="string" value="(h..v..)" /></vdl:parameter>
+        <vdl:parameter name="transform"><variable>swift#mapper#17008</variable></vdl:parameter>
+      </vdl:mapping>
+    </vdl:new>
+  </set>
+   
+  <restartLog>
+  	<vdl:mains>
+		<vdl:startprogressticker />
+		<vdl:mainp>
+		    <uparallel>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="14">
+		                 <variable>nFiles</variable>
+		                 <swiftscript:to_int _traceline="13">
+		                  <swiftscript:arg _traceline="13">
+		                  <variable>swift#string#17000</variable><variable>swift#string#17001</variable> 
+		                 </swiftscript:arg> 
+		                 </swiftscript:to_int>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{nFiles}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="17">
+		                 <variable>MODISdir</variable>
+		                 <swiftscript:arg _traceline="14">
+		                  <variable>swift#string#17002</variable><variable>swift#string#17003</variable> 
+		                 </swiftscript:arg>
+		             </vdl:setfieldvalue>
+		             <partialCloseDataset var="{MODISdir}"/>
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17004</variable>
+		                 <variable>swift#string#17005</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17006</variable>
+		                 <variable>swift#string#17007</variable>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		             <vdl:setfieldvalue _traceline="-1">
+		                 <variable>swift#mapper#17008</variable>
+		                 <swiftscript:strcat _traceline="21">
+		                  <variable>swift#string#17009</variable> 
+		                 </swiftscript:strcat>
+		             </vdl:setfieldvalue>
+
+		        </sequential>
+		        <sequential>
+		          <vdl:tparallelFor name="$"_kvar="i" _vvar="g" refs="land 1">
+		          	<getarrayiterator>
+		          		<variable>geos</variable>
+		          	</getarrayiterator>
+		          	<set names="$$, g">
+		          		<each items="{$}"/>
+		          	</set>
+		          	<set name="i">
+		          		<vdl:new type="int" value="{$$}"/>
+		          	</set>
+		          	<unitStart line="23" type="FOREACH_IT"/>
+		          	<sequentialWithID>
+		          	    <sequential>
+		          	      <get_land_use _traceline="24">
+		          	          <vdl:getfieldsubscript>
+		          	            <argument name="var"><variable>land</variable></argument>
+		          	            <argument name="subscript"><variable>i</variable></argument>
+		          	          </vdl:getfieldsubscript>
+		          	          <variable>g</variable>
+		          	          <variable>getlanduse_pl</variable>
+		          	      </get_land_use>
+		          	      <partialCloseDataset var="{land}"/>
+		          	    </sequential>
+		          	</sequentialWithID>
+		          	<unitEnd line="23" type="FOREACH_IT"/>
+		          </vdl:tparallelFor>
+		        </sequential>
+		    </uparallel>
+		</vdl:mainp>
+		<vdl:stopprogressticker />
+	</vdl:mains>
+  </restartLog>
+  <vdl:cleandataset var="{geos}"/>
+  <vdl:cleandataset var="{getlanduse_pl}"/>
+  <vdl:cleandataset var="{land}"/>
+  <vdl:cleandataset shutdown="true"/>
+</project>

Added: branches/release-0.94/tests/stress/apps/modis_uc3/modis.setup.sh
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/modis.setup.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.setup.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+case $STRESS in
+    "S1")
+        FILES=10
+        ;;
+    "S2")
+        FILES=1000
+        ;;
+    "S3")
+        FILES=10000
+        ;;
+    "S4")
+        FILES=10000
+        ;;
+    *)
+        FILES=1000
+        ;;
+esac
+
+nfiles=${FILES:-10}
+#OVERRIDE_GLOBUS_HOSTNAME "swift.rcc.uchicago.edu"
+rm -rf input
+mkdir input
+cp $(dirname $GROUP)/data/t? input/
+cp $GROUP/getlanduse.pl ./
+( cd input
+  n=0
+  for h in $(seq -w 00 99); do
+    for v in $(seq -w 00 99); do
+      n=$((n+1))
+      if [ $n -gt $nfiles ]; then
+        break;
+      else
+        f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/')
+        ln $f h${h}v${v}.rgb
+      fi
+    done
+  done
+  rm t?
+)
+
+#makeinput
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/apps/modis_uc3/modis.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_uc3/modis.swift
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/modis.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,25 @@
+type imagefile;
+type landuse;
+type perlscript;
+
+perlscript getlanduse_pl <"getlanduse.pl">;
+
+app (landuse output) getLandUse (imagefile input, perlscript ps)
+{
+  perl @ps @filename(input) stdout=@filename(output);
+}
+
+# Constants and command line arguments
+int nFiles       = @toInt(@arg("nfiles", "1000"));
+string MODISdir  = @arg("modisdir", "../data/modis/2002");
+
+# Input Dataset
+imagefile geos[] <filesys_mapper; location=MODISdir, suffix=".rgb">;
+
+# Compute the land use summary of each MODIS tile
+landuse land[] <structured_regexp_mapper; source=geos, match="(h..v..)",
+                transform=@strcat("landuse/\\1.landuse.byfreq")>;
+
+foreach g,i in geos {
+    land[i] = getLandUse(g, getlanduse_pl);
+}

Added: branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999

Added: branches/release-0.94/tests/stress/apps/modis_uc3/run
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/run	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/run	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+set -x
+
+swift -config swift.properties -sites.file sites.template.xml -tc.file tc.template.data modis.swift -modisdir=input/


Property changes on: branches/release-0.94/tests/stress/apps/modis_uc3/run
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,19 @@
+<config>
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:condor"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">3600</profile>
+    <profile namespace="globus"  key="maxWalltime">00:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.{env.USER}"</profile>
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <workdirectory>.</workdirectory>
+  </pool>
+
+</config>

Added: branches/release-0.94/tests/stress/apps/modis_uc3/swift.properties
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/swift.properties	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/swift.properties	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,8 @@
+
+wrapperlog.always.transfer=true
+sitedir.keep=true
+execution.retries=0
+lazy.errors=false
+status.mode=provider
+use.provider.staging=true
+provider.staging.pin.swiftfiles=false

Added: branches/release-0.94/tests/stress/apps/modis_uc3/tc.template.data
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/tc.template.data	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/tc.template.data	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+uc3 perl /usr/bin/perl null null null

Added: branches/release-0.94/tests/stress/apps/modis_uc3/title.txt
===================================================================
--- branches/release-0.94/tests/stress/apps/modis_uc3/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/apps/modis_uc3/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Modis UC3

Added: branches/release-0.94/tests/stress/internals/.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,7 @@
+#NIGHTLY 1000 10000
+#WEEKLY       10000 100000 1000000
+define(S3, 100000)
+define(S2, 10000)
+define(S1, 1000)
+-loops=$(esyscmd(`printf $STRESS') )
+

Added: branches/release-0.94/tests/stress/internals/m4_template_gen.sh
===================================================================
--- branches/release-0.94/tests/stress/internals/m4_template_gen.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/m4_template_gen.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+for i in $(ls *swift)
+do
+    NAME=${i%.swift};
+    ARGS="$NAME.args.m4"
+    if [ -f $ARGS ]; then
+        rm $ARGS;
+    fi;
+    grep "#NIGHTLY" $i >> $ARGS
+    grep "#WEEKLY" $i  >> $ARGS
+    cat test.args.m4   >> $ARGS
+done
\ No newline at end of file


Property changes on: branches/release-0.94/tests/stress/internals/m4_template_gen.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/internals/scripts.sh
===================================================================
--- branches/release-0.94/tests/stress/internals/scripts.sh	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/scripts.sh	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+SWIFTSCRIPT=x_func.swift;
+
+SWIFT_ITERATIONS=`grep "#NIGHTLY" $SWIFTSCRIPT`;
+if [ "$?" == "0" ]; then
+    echo "SWIFT_ITERATIONS : $SWIFT_ITERATIONS";
+    SWIFT_ITERATIONS=($SWIFT_ITERATIONS);
+    echo "${SWIFT_ITERATIONS[1]}";
+    echo "${SWIFT_ITERATIONS[2]}";
+    
+fi;


Property changes on: branches/release-0.94/tests/stress/internals/scripts.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/release-0.94/tests/stress/internals/test.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/test.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/test.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 100000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/title.txt
===================================================================
--- branches/release-0.94/tests/stress/internals/title.txt	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/title.txt	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+Stress-Swift Internals

Added: branches/release-0.94/tests/stress/internals/x_append_iter.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_append_iter.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_append_iter.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=100 

Added: branches/release-0.94/tests/stress/internals/x_append_iter.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_append_iter.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_append_iter.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 10000)dnl
+define(S3, 10000)dnl
+define(S2, 1000)dnl
+define(S1, 100)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_append_iter.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_append_iter.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_append_iter.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,27 @@
+/*
+	Iterate loops with variable number of loops
+	to be called with cmdline arg -loops=<Number>
+
+	todo : Fails to compile on 0.94 ? check
+	       Compiles on 0.93 (Regression noted)
+	       perhaps this isn't a very scalable test :(
+	stats: 1K   -> 2.458s real
+	       10K  -> Java heap space ? exec failed
+	       100K -> ?
+	       1M   -> java.langOutOfMemoryError thrown
+	       10M  -> ?
+#NIGHTLY 1000
+#WEEKLY  1000 10000
+*/
+
+int limit   = @toint(@arg("loops"));
+string result[];
+result[0] = "banana";
+
+iterate current {
+	result[current+1] = @strcat(result[current], "banana");
+	//	tracef("result[current] = %s \n", result[current]);
+} until ( current > limit );
+
+tracef("Result[0]    = %s \n", result[0]);
+tracef("Result[%i]   = %s \n", limit, result[limit]);
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_foreach.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_foreach.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_foreach.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=1000 

Added: branches/release-0.94/tests/stress/internals/x_foreach.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_foreach.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_foreach.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 1000000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_foreach.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_foreach.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_foreach.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,17 @@
+/*
+	Foreach loops with variable number of loops
+	to be called with cmdline arg -loops=<Number>
+
+#NIGHTLY 10000 100000  
+#WEEKLY  1000 10000 1000000
+*/
+
+int limit   = @toint(@arg("loops")); 
+int result[];
+
+foreach num, index in [1:limit:1] {
+	result[index] = index;
+}
+
+tracef("Result[0]   = %i \n", result[0]);
+tracef("Result[%i]  = %i \n", limit, result[limit]);
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_func.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=1000 

Added: branches/release-0.94/tests/stress/internals/x_func.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 1000000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_func.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,36 @@
+/*
+	Test reliability of function calls over large scale
+
+	tested on : 0.94
+	using ints
+
+	stats: 1K   -> 3.059s
+	       10K  -> 5.047s (result is probably wrong)
+	       100K -> 31.85s
+	       1M   -> Exception in thread "Hang checker"
+	       java.lang.StackOverflowError
+	       at java.util.HashMap.put(HashMap.java:484)
+	       at java.util.HashSet.add(HashSet.java:217)
+
+#NIGHTLY 1000 10000 100000
+#WEEKLY  1000 10000 100000 1000000
+ */
+
+int limit   = @toInt(@arg("loops"));
+int range[] = [2:limit:1];
+int array[];
+
+(int out) sum (int a, int b){
+     out = a + b ;
+}
+
+array[0] = 0;
+array[1] = 1;
+
+foreach num in range {
+	array[num] = sum(array[num-1], array[num-2]);
+}
+
+tracef("Fibonacci[2]   = %i \n", array[2]);
+tracef("Fibinacci[%i]  = %i \n", limit, array[limit]);
+

Added: branches/release-0.94/tests/stress/internals/x_func.timeout
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+99999
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_func_float.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func_float.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func_float.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=1000 

Added: branches/release-0.94/tests/stress/internals/x_func_float.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func_float.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func_float.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 1000000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_func_float.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func_float.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func_float.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,36 @@
+/*
+	Test reliability of function calls over large scale
+
+	tested on : 0.94
+	todo : Redo with floats as numbers either become too big
+	     Floats give infinity for fib[10K]
+	stats: 10K  -> ?
+	       100K -> 
+	       1M   -> Exception in thread "Hang checker"
+	       java.lang.StackOverflowError
+	       at java.util.HashMap.put(HashMap.java:484)
+	       at java.util.HashSet.add(HashSet.java:217)
+
+#NIGHTLY 1000 10000 100000
+#WEEKLY  1000 10000 100000 1000000
+
+ */
+
+int limit   = @toInt(@arg("loops"));
+int range[] = [2:limit:1];
+float array[];
+
+(float out) sum (float a, float b){
+     out = a + b ;
+}
+
+array[0] = 0.0;
+array[1] = 1.0;
+
+foreach num in range {
+	array[num] = sum(array[num-1], array[num-2]);
+}
+
+tracef("Fibonacci[2]   = %f \n", array[2]);
+tracef("Fibinacci[%i]  = %f \n", limit, array[limit]);
+

Added: branches/release-0.94/tests/stress/internals/x_func_float.timeout
===================================================================
--- branches/release-0.94/tests/stress/internals/x_func_float.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_func_float.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_iterate.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_iterate.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_iterate.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=100000 

Added: branches/release-0.94/tests/stress/internals/x_iterate.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_iterate.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_iterate.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 1000000)dnl
+define(S3, 1000000)dnl
+define(S2, 100000)dnl
+define(S1, 10000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_iterate.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_iterate.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_iterate.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,23 @@
+/*
+	Iterate loops with variable number of loops
+	to be called with cmdline arg -loops=<Number>
+
+	todo : Fails to compile on 0.94
+	       Compiles on 0.93 (Regression noted)
+	stats: 100k -> 17s (core i5)
+	       1M   -> java.langOutOfMemoryError thrown
+
+#NIGHTLY 1000 10000 100000
+#WEEKLY  1000 10000 100000 1000000
+*/
+
+int limit   = @toint(@arg("loops"));
+int result[];
+
+iterate current {
+	result[current] = current;
+	//	tracef("result[current] = %i \n", result[current]);
+} until ( current > limit );
+
+tracef("Result[0]    = %i \n", result[0]);
+tracef("Result[%i]   = %i \n", limit, result[limit]);
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_recursion.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_recursion.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_recursion.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=10000 

Added: branches/release-0.94/tests/stress/internals/x_recursion.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_recursion.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_recursion.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 100000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_recursion.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_recursion.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_recursion.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,45 @@
+/*
+	Linear tail recursion.
+	Expect linear growth only, so usual loop numbers match
+	as for earlier scripts.
+
+	stats: 1K   -> 25s real (i5 8gb)
+	       10K  -> (10% ram 8gb in use by java)
+Uncaught exception: java.lang.StackOverflowError in vdl:unitstart @ x_recursion.kml, line: 45
+java.lang.StackOverflowError
+	at java.lang.String.valueOf(String.java:2959)
+	at org.globus.cog.karajan.util.ThreadingContext.toString(ThreadingContext.java:87)
+	at org.globus.cog.karajan.util.ThreadingContext.toString(ThreadingContext.java:87)
+	...
+Exception is: java.lang.StackOverflowError
+Near Karajan line: vdl:unitstart @ x_recursion.kml, line: 45
+Another uncaught exception while handling an uncaught exception.
+java.lang.StackOverflowError
+	at org.globus.cog.karajan.workflow.nodes.FlowNode.failImmediately(FlowNode.java:77)
+	at org.globus.cog.karajan.workflow.nodes.FlowNode.failed(FlowNode.java:245)
+	...
+The initial exception was
+java.lang.StackOverflowError
+	at java.lang.String.valueOf(String.java:2959)
+	at org.globus.cog.karajan.util.ThreadingContext.toString(ThreadingContext.java:87)
+	at org.globus.cog.karajan.util.ThreadingContext.toString(ThreadingContext.java:87)
+
+	       100K -> ?
+
+#NIGHTLY 1000 10000
+#WEEKLY  1000 10000 100000
+*/
+
+int limit = @toint(@arg("loops"));
+
+(int out) sum (int n){
+     if ( n == 0 ){
+     	out = 0;
+     }else{
+          out = n + sum( n-1 );
+     }
+}
+
+int result = sum(limit);
+
+tracef("Sum(%i)  = %i \n", limit, result);
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_recursion.timeout
===================================================================
--- branches/release-0.94/tests/stress/internals/x_recursion.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_recursion.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+99999
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_sleep.args
===================================================================
--- branches/release-0.94/tests/stress/internals/x_sleep.args	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_sleep.args	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+-loops=10000 

Added: branches/release-0.94/tests/stress/internals/x_sleep.args.m4
===================================================================
--- branches/release-0.94/tests/stress/internals/x_sleep.args.m4	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_sleep.args.m4	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,6 @@
+define(S4, 1000000)dnl
+define(S3, 100000)dnl
+define(S2, 10000)dnl
+define(S1, 1000)dnl
+-loops=esyscmd(`printf $STRESS') dnl
+

Added: branches/release-0.94/tests/stress/internals/x_sleep.swift
===================================================================
--- branches/release-0.94/tests/stress/internals/x_sleep.swift	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_sleep.swift	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1,24 @@
+/*
+	Foreach loops with variable number of loops
+	to be called with cmdline arg -loops=<Number>
+	todo: measure actual times with expected times.
+
+	This is probably better for a larger system.
+	Could take forever to execute on i5s for even modest scales.
+	stats: 1K -> real  41m55.779s
+
+#NIGHTLY 1000 10000
+#WEEKLY       10000 100000 1000000
+*/
+
+int limit   = @toint(@arg("loops"));
+int range[] = [0:limit:1];
+int result[];
+
+app sleep (int seconds){
+    sleep seconds;
+}
+
+foreach num in range {
+	sleep(num%%5);
+}
\ No newline at end of file

Added: branches/release-0.94/tests/stress/internals/x_sleep.timeout
===================================================================
--- branches/release-0.94/tests/stress/internals/x_sleep.timeout	                        (rev 0)
+++ branches/release-0.94/tests/stress/internals/x_sleep.timeout	2013-04-11 20:29:12 UTC (rev 6430)
@@ -0,0 +1 @@
+999999
\ No newline at end of file




More information about the Swift-commit mailing list