[Swift-commit] r2665 - in trunk: . etc libexec resources

noreply at svn.ci.uchicago.edu noreply at svn.ci.uchicago.edu
Mon Mar 9 10:23:16 CDT 2009


Author: hategan
Date: 2009-03-09 10:23:13 -0500 (Mon, 09 Mar 2009)
New Revision: 2665

Modified:
   trunk/CHANGES.txt
   trunk/etc/swift.properties
   trunk/libexec/vdl-lib.xml
   trunk/resources/Karajan.stg
Log:
limit number of concurrent iterations in foreach

Modified: trunk/CHANGES.txt
===================================================================
--- trunk/CHANGES.txt	2009-03-09 15:12:24 UTC (rev 2664)
+++ trunk/CHANGES.txt	2009-03-09 15:23:13 UTC (rev 2665)
@@ -1,3 +1,9 @@
+(03/09/09)
+*** Added a throttling parallelFor and changed the swift foreach underlying
+    implementation to it. The throttling parallelFor limits the number of
+    concurrent iterations allowed, which should allow swift to scale better
+    in certain cases.
+
 (02/09/24)
 *** New configuration option wrapper.invocation.mode, specifiable either
     globally in the configuration file or per-site as a profile key,

Modified: trunk/etc/swift.properties
===================================================================
--- trunk/etc/swift.properties	2009-03-09 15:12:24 UTC (rev 2664)
+++ trunk/etc/swift.properties	2009-03-09 15:23:13 UTC (rev 2665)
@@ -302,3 +302,13 @@
 # valid values: absolute, relative
 # wrapper.invocation.mode=absolute
 
+#
+# Limits the number of concurrent iterations that each foreach statement
+# can have at one time. This conserves memory for swift programs that 
+# have large numbers of iterations (which would otherwise all be executed
+# in parallel).
+#
+# Default: 1024
+#
+
+foreach.max.threads=1024

Modified: trunk/libexec/vdl-lib.xml
===================================================================
--- trunk/libexec/vdl-lib.xml	2009-03-09 15:12:24 UTC (rev 2664)
+++ trunk/libexec/vdl-lib.xml	2009-03-09 15:23:13 UTC (rev 2665)
@@ -90,5 +90,7 @@
 	
 	<export name="execute"><elementDef classname="org.griphyn.vdl.karajan.lib.Execute"/></export>
 	<export name="expandArguments"><elementDef classname="org.griphyn.vdl.karajan.lib.ExpandArguments"/></export>
+	
+	<export name="tparallelFor"><elementDef classname="org.griphyn.vdl.karajan.lib.ThrottledParallelFor"/></export>
   </namespace>
 </karajan>

Modified: trunk/resources/Karajan.stg
===================================================================
--- trunk/resources/Karajan.stg	2009-03-09 15:12:24 UTC (rev 2664)
+++ trunk/resources/Karajan.stg	2009-03-09 15:23:13 UTC (rev 2665)
@@ -200,7 +200,7 @@
 >>
 
 foreach(var,in,indexVar,declarations,statements) ::= <<
-<parallelFor name="\$">
+<vdl:tparallelFor name="\$">
   <getarrayiterator>$in$</getarrayiterator>
   <set names="\$\$, $var$">
     <each items="{\$}"/>
@@ -214,7 +214,7 @@
     $if(statements)$
       $parallel(statements=statements)$
     $endif$
-</parallelFor>
+</vdl:tparallelFor>
 >>
 
 call(func, outputs, inputs) ::= <<




More information about the Swift-commit mailing list