From: jjenista Date: Fri, 29 Oct 2010 18:25:55 +0000 (+0000) Subject: alternate version of micro2 that gathers results of every micro task shows that even... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=84745a40ff3ac65b0346dc7469b5d63a682134d6;p=IRC.git alternate version of micro2 that gathers results of every micro task shows that even with just variable dependencies the system is incorrect and parallel version does not behave like serial version --- diff --git a/Robust/src/Benchmarks/oooJava/micro-master-makefile b/Robust/src/Benchmarks/oooJava/micro-master-makefile index ad180512..1b0de9b2 100644 --- a/Robust/src/Benchmarks/oooJava/micro-master-makefile +++ b/Robust/src/Benchmarks/oooJava/micro-master-makefile @@ -32,8 +32,8 @@ USECOREPROF= #-coreprof $(COREPROFOVERFLOW) \ -coreprof-enable cpe_taskstallmem -USEOOO= -ooojava 12 2 -squeue -mempool-detect-misuse #-ooodebug-disable-task-mem-pool #-ooodebug -BSFLAGS= -64bit -mainclass $(PROGRAM) -heapsize-mb 50 -garbagestats -joptimize -noloop -debug -debug-deque # -optimize src-after-pp +USEOOO= -ooojava 24 2 -squeue #-mempool-detect-misuse #-ooodebug-disable-task-mem-pool #-ooodebug +BSFLAGS= -64bit -mainclass $(PROGRAM) -heapsize-mb 1000 -garbagestats -joptimize -noloop -debug -debug-deque # -optimize src-after-pp DRELEASEMODE=-disjoint-release-mode -disjoint-dvisit-stack-callees-on-top -disjoint-alias-file aliases.txt tabbed DISJOINT= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) #-disjoint-desire-determinism diff --git a/Robust/src/Benchmarks/oooJava/micro2.5/makefile b/Robust/src/Benchmarks/oooJava/micro2.5/makefile new file mode 100644 index 00000000..a12742fa --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/micro2.5/makefile @@ -0,0 +1 @@ +include ../micro-master-makefile diff --git a/Robust/src/Benchmarks/oooJava/micro2.5/test.java b/Robust/src/Benchmarks/oooJava/micro2.5/test.java new file mode 100644 index 00000000..67b2acac --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/micro2.5/test.java @@ -0,0 +1,50 @@ +public class test { + + public static void main( String argv[] ) { + + long count = 500000; + + if( argv.length > 0 ) { + count = count * Integer.parseInt( argv[0] ); + } + + long s = System.currentTimeMillis(); + long e1; + long e2; + + + rblock parent { + + long y = 0; + + for( long i = 0; i < count; i++ ) { + + // the subsequent sibling has a dependence + // on the first + rblock child1 { + long x = 3; + } + + rblock child2 { + if( x + 4 == 7 ) { + ++y; + } + } + + } + e1 = System.currentTimeMillis(); + long z = 1; + } + // just read vars so compile doesn't throw them out + // and force parent of parent to depend on z, for + // timing + System.out.println( "ignore: "+z+", "+y ); + e2 = System.currentTimeMillis(); + + + double dt1 = ((double)e1-s)/(Math.pow( 10.0, 3.0 ) ); + double dt2 = ((double)e2-s)/(Math.pow( 10.0, 3.0 ) ); + System.out.println( "dt to parent done ="+dt1+"s" ); + System.out.println( "dt to parent retired="+dt2+"s" ); + } +} diff --git a/Robust/src/Benchmarks/oooJava/micro3/test.java b/Robust/src/Benchmarks/oooJava/micro3/test.java index 2aab2a74..53bde16a 100644 --- a/Robust/src/Benchmarks/oooJava/micro3/test.java +++ b/Robust/src/Benchmarks/oooJava/micro3/test.java @@ -8,8 +8,8 @@ public class test { public static void main( String argv[] ) { - long count = 500; - int numFoo = 1000; + long count = 200; + int numFoo = 100; if( argv.length > 0 ) { count = count * Integer.parseInt( argv[0] );