Changeset: 84dad0228f47 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=84dad0228f47
Added Files:
        monetdb5/optimizer/opt_multicore.c
        monetdb5/optimizer/opt_multicore.h
        monetdb5/scheduler/run_multicore.c
        monetdb5/scheduler/run_multicore.h
        monetdb5/scheduler/run_multicore.mal
Removed Files:
        monetdb5/optimizer/opt_mutation.c
        monetdb5/optimizer/opt_mutation.h
        monetdb5/scheduler/run_mutation.c
        monetdb5/scheduler/run_mutation.h
        monetdb5/scheduler/run_mutation.mal
Modified Files:
        monetdb5/modules/mal/mal_init.mal
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        monetdb5/scheduler/Makefile.ag
        monetdb5/scheduler/Tests/mutation00.mal
        monetdb5/scheduler/Tests/mutation00.stable.out
        monetdb5/scheduler/Tests/mutation01.mal
        monetdb5/scheduler/Tests/query00.stable.out
        monetdb5/scheduler/mut_policy.c
        monetdb5/scheduler/mut_policy.h
        monetdb5/scheduler/mut_transforms.h
Branch: mutation
Log Message:

Rename, the focus from the method


diffs (truncated from 694 to 300 lines):

diff --git a/monetdb5/modules/mal/mal_init.mal 
b/monetdb5/modules/mal/mal_init.mal
--- a/monetdb5/modules/mal/mal_init.mal
+++ b/monetdb5/modules/mal/mal_init.mal
@@ -118,7 +118,7 @@ include transaction;
 # @-
 # scheduler components
 include run_isolate;
-include run_mutation;
+include run_multicore;
 include run_memo;
 include run_octopus;
 include srvpool;
diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -54,7 +54,7 @@ lib_optimizer = {
                opt_mergetable.c opt_mergetable.h \
                opt_mitosis.c opt_mitosis.h \
                opt_multiplex.c opt_multiplex.h \
-               opt_mutation.c opt_mutation.h \
+               opt_multicore.c opt_multicore.h \
                opt_octopus.c opt_octopus.h \
                opt_origin.c opt_origin.h \
                opt_pipes.c opt_pipes.h \
diff --git a/monetdb5/optimizer/opt_mutation.c 
b/monetdb5/optimizer/opt_multicore.c
rename from monetdb5/optimizer/opt_mutation.c
rename to monetdb5/optimizer/opt_multicore.c
--- a/monetdb5/optimizer/opt_mutation.c
+++ b/monetdb5/optimizer/opt_multicore.c
@@ -17,7 +17,7 @@
  * All Rights Reserved.
 */
 #include "monetdb_config.h"
-#include "opt_mutation.h"
+#include "opt_multicore.h"
 
 
 /* (c) M Kersten
@@ -26,7 +26,7 @@
  */
 
 int 
-OPTmutationImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
+OPTmulticoreImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
 {
        int i,limit, slimit;
        InstrPtr *old= mb->stmt;
@@ -48,7 +48,7 @@ OPTmutationImplementation(Client cntxt, 
        for (i = 1; i < limit; i++) {
                if ( getModuleId(old[i]) == languageRef && 
getFunctionId(old[i]) == dataflowRef){
                        setModuleId(old[i], schedulerRef);
-                       setFunctionId(old[i], mutationRef);
+                       setFunctionId(old[i], multicoreRef);
                }
                pushInstruction(mb,old[i]);
        }
diff --git a/monetdb5/optimizer/opt_mutation.h 
b/monetdb5/optimizer/opt_multicore.h
rename from monetdb5/optimizer/opt_mutation.h
rename to monetdb5/optimizer/opt_multicore.h
--- a/monetdb5/optimizer/opt_mutation.h
+++ b/monetdb5/optimizer/opt_multicore.h
@@ -16,16 +16,16 @@
  * Copyright August 2008-2013 MonetDB B.V.
  * All Rights Reserved.
 */
-#ifndef _OPT_MUTATION_
-#define _OPT_MUTATION_
+#ifndef _OPT_MULTICORE
+#define _OPT_MULTICORE
 #include "opt_prelude.h"
 #include "opt_support.h"
 #include "mal_interpreter.h"
 #include "mal_instruction.h"
 #include "mal_function.h"
 
-opt_export int OPTmutationImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+opt_export int OPTmulticoreImplementation(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
 
-#define OPTDEBUGmutation  if ( optDebug & (1 <<DEBUG_OPT_MUTATION) )
+#define OPTDEBUGmulticore  if ( optDebug & (1 <<DEBUG_OPT_MULTICORE) )
 
 #endif
diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -275,10 +275,10 @@ struct PIPELINES {
         "optimizer.garbageCollector();",
         "experimental", "OPTcompress", NULL, 1},
 /*
- * The mutation optimizer modifies the plan at each call.
+ * The multicore optimizer modifies the plan at each call.
  * It is a refinement of the default pipeline
  */
-       {"mutation_pipe",
+       {"multicore_pipe",
         "optimizer.inline();"
         "optimizer.remap();"
         "optimizer.costModel();"
@@ -300,7 +300,7 @@ struct PIPELINES {
         "optimizer.dataflow();"
         "optimizer.querylog();"
         "optimizer.multiplex();"
-        "optimizer.mutation();"
+        "optimizer.multicore();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /* sentinel */
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -129,7 +129,7 @@ str likeuselectRef;
 str ilikeuselectRef;
 str likeRef;
 str ilikeRef;
-str mutationRef;
+str multicoreRef;
 str not_likeRef;
 str not_ilikeRef;
 str listRef;
@@ -391,7 +391,7 @@ void optimizerInit(void){
                listRef = putName("list",4);
                likeRef = putName("like",4);
                ilikeRef = putName("ilike",5);
-               mutationRef = putName("mutation",8);
+               multicoreRef = putName("multicore",9);
                not_likeRef = putName("not_like",8);
                not_ilikeRef = putName("not_ilike",9);
                lockRef = putName("lock",4);
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -129,7 +129,7 @@ opt_export  str ilikeuselectRef;
 opt_export  str listRef;
 opt_export  str likeRef;
 opt_export  str ilikeRef;
-opt_export  str mutationRef;
+opt_export  str multicoreRef;
 opt_export  str not_likeRef;
 opt_export  str not_ilikeRef;
 opt_export  str lockRef;
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -168,7 +168,7 @@ struct OPTcatalog {
 {"mergetable", 0,      0,      0,      DEBUG_OPT_MERGETABLE},
 {"mitosis",            0,      0,      0,      DEBUG_OPT_MITOSIS},
 {"multiplex",  0,      0,      0,      DEBUG_OPT_MULTIPLEX},
-{"mutation",   0,      0,      0,      DEBUG_OPT_MUTATION},
+{"multicore",  0,      0,      0,      DEBUG_OPT_MULTICORE},
 {"octopus",            0,      0,      0,      DEBUG_OPT_OCTOPUS},
 {"origin",             0,      0,      0,      DEBUG_OPT_ORIGIN},
 {"peephole",   0,      0,      0,      DEBUG_OPT_PEEPHOLE},
diff --git a/monetdb5/optimizer/opt_support.h b/monetdb5/optimizer/opt_support.h
--- a/monetdb5/optimizer/opt_support.h
+++ b/monetdb5/optimizer/opt_support.h
@@ -64,7 +64,7 @@
 #define DEBUG_OPT_MACRO                                23
 #define DEBUG_OPT_MATPACK                      53
 #define DEBUG_OPT_MERGETABLE           24
-#define DEBUG_OPT_MUTATION                     54
+#define DEBUG_OPT_MULTICORE                    54
 #define DEBUG_OPT_OCTOPUS                      25
 #define DEBUG_OPT_ORIGIN                       52
 #define DEBUG_OPT_PARTITIONS           26
diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -61,7 +61,7 @@ All Rights Reserved.
 #include "opt_mergetable.h"
 #include "opt_mitosis.h"
 #include "opt_multiplex.h"
-#include "opt_mutation.h"
+#include "opt_multicore.h"
 #include "opt_octopus.h"
 #include "opt_origin.h"
 #include "opt_prejoin.h"
@@ -106,7 +106,7 @@ struct{
        {"mergetable", &OPTmergetableImplementation},
        {"mitosis", &OPTmitosisImplementation},
        {"multiplex", &OPTmultiplexImplementation},
-       {"mutation", &OPTmutationImplementation},
+       {"multicore", &OPTmulticoreImplementation},
        {"octopus", &OPToctopusImplementation},
        {"origin", &OPToriginImplementation},
        {"prejoin", &OPTprejoinImplementation},
diff --git a/monetdb5/optimizer/optimizer.mal b/monetdb5/optimizer/optimizer.mal
--- a/monetdb5/optimizer/optimizer.mal
+++ b/monetdb5/optimizer/optimizer.mal
@@ -494,12 +494,12 @@ pattern optimizer.pushselect(mod:str, fc
 address OPTwrapper
 comment "Push selects down projections";
 
-#opt_mutation.mal
+#opt_multicore.mal
 
-pattern optimizer.mutation():str
+pattern optimizer.multicore():str
 address OPTwrapper;
-pattern optimizer.mutation(mod:str, fcn:str):str
+pattern optimizer.multicore(mod:str, fcn:str):str
 address OPTwrapper
-comment "Prepare for plan mutation";
+comment "Prepare for adaptive multicore procesing";
 
 optimizer.prelude();
diff --git a/monetdb5/scheduler/Makefile.ag b/monetdb5/scheduler/Makefile.ag
--- a/monetdb5/scheduler/Makefile.ag
+++ b/monetdb5/scheduler/Makefile.ag
@@ -30,7 +30,7 @@ lib_scheduler = {
        SOURCES = \
                run_adder.c run_adder.h \
                run_isolate.c run_isolate.h \
-               run_mutation.c run_mutation.h \
+               run_multicore.c run_multicore.h \
                mut_transforms.c mut_transforms.h \
                mut_policy.c mut_policy.h \
                run_memo.c run_memo.h \
@@ -42,7 +42,7 @@ lib_scheduler = {
 headers_mal = {
        HEADERS = mal
        DIR = libdir/monetdb5
-       SOURCES = run_adder.mal run_isolate.mal run_mutation.mal run_memo.mal 
run_octopus.mal srvpool.mal
+       SOURCES = run_adder.mal run_isolate.mal run_multicore.mal run_memo.mal 
run_octopus.mal srvpool.mal
 }
 
 EXTRA_DIST_DIR = Tests
diff --git a/monetdb5/scheduler/Tests/mutation00.mal 
b/monetdb5/scheduler/Tests/mutation00.mal
--- a/monetdb5/scheduler/Tests/mutation00.mal
+++ b/monetdb5/scheduler/Tests/mutation00.mal
@@ -1,7 +1,7 @@
-# example framework for a mutation based execution stack
+# example framework for a multicore based execution stack
 
-# The mutation scheduler picks a plan from a specific pool
-# possibly after performing introspection and plan mutation
+# The multicore scheduler picks a plan from a specific pool
+# possibly after performing introspection and plan multicore
 
 function initialize{unsafe}():bat[:oid,:lng];
        b:= bat.new(:oid,:lng);
@@ -40,7 +40,7 @@ exit z;
 end query;
 
 #multiple calls should produce more parallel plans.
-optimizer.mutation("user","query");
+optimizer.multicore("user","query");
 user.query();
 user.query();
 user.query();
diff --git a/monetdb5/scheduler/Tests/mutation00.stable.out 
b/monetdb5/scheduler/Tests/mutation00.stable.out
--- a/monetdb5/scheduler/Tests/mutation00.stable.out
+++ b/monetdb5/scheduler/Tests/mutation00.stable.out
@@ -18,7 +18,7 @@ stdout of test 'mutation00` in directory
 # MonetDB/GIS module loaded
 # MonetDB/JAQL module loaded
 # MonetDB/SQL module loaded
-function user.initialize():bat[:oid,:lng];
+function user.initialize{unsafe}():bat[:oid,:lng];
     b := bat.new(:oid,:lng);
     INT_MAX := 2147483647;
     dbgmsk_restore := mdb.getDebug();
@@ -40,9 +40,10 @@ function user.query():void;
     t0 := alarm.usec();
     b := user.initialize();
 barrier z := language.dataflow();
-    sum1 := aggr.sum(b);
-    sum2 := aggr.sum(b);
-    sum3 := aggr.sum(b);
+    s1 := algebra.subselect(b,1:lng,99:lng,true,false,false);
+    s2 := algebra.subselect(b,1:lng,999:lng,true,false,false);
+    s3 := algebra.subselect(b,1:lng,9999:lng,true,false,false);
+    language.pass(b);
 exit z;
     t1 := alarm.usec();
     t2 := calc.-(t1,t0);
@@ -53,10 +54,158 @@ function user.main():void;
 # The mutation scheduler picks a plan from a specific pool 
 # possibly after performing introspection and plan mutation 
 #multiple calls should produce more parallel plans. 
-    scheduler.mutation("user","query");
-    scheduler.mutation("user","query");
-    scheduler.mutation("user","query");
+    user.query();
+    user.query();
+    user.query();
+    user.query();
+    user.query();
 end main;
+#1164605
+#mutation candidate 4 cost 6666
+#mutation candidate 5 cost 5806
+#mutation candidate 6 cost 6703
+#mutation calls 1 cost 1000
+#mutation target instruction 6 cost 6703
+
+&1 0 17 1 17
+% .explain # table_name
+% mal # name
+% clob # type
+% 210 # length
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to