Changeset: c3f541927a61 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c3f541927a61
Modified Files:
        sql/backends/monet5/sql_optimizer.c
Branch: default
Log Message:

Turn off automatic switch to use volcano optimizer
The volcano optimizer seems relevant for traditional HDD settings.
It produced about 8 % improvement onf TPCH SF 100 on a 16G machine.
In a SSD setting it was counter productive, leading to worse parallel behavior.
The automatic switch to volcano is now disabled assuming more use of SSD.
The volcano optimizer pipeline can be used instead


diffs (32 lines):

diff --git a/sql/backends/monet5/sql_optimizer.c 
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -165,21 +165,24 @@ addOptimizers(Client c, MalBlkPtr mb, ch
        InstrPtr q;
        backend *be;
        str msg= MAL_SUCCEED;
-       lng space;
 
        be = (backend *) c->sqlcontext;
        assert(be && be->mvc);  /* SQL clients should always have their state 
set */
 
-       space = SQLgetSpace(be->mvc, mb, prepare);
+       (void) SQLgetSpace(be->mvc, mb, prepare); // detect empty bats.
+       /* The volcano optimizer seems relevant for traditional HDD settings.
+        * It produced about 8 % improvement onf TPCH SF 100 on a 16G machine.
+        * In a SSD setting it was counter productive, leading to worse 
parallel behavior.
+        * The automatic switch to volcano is now disabled assuming more use of 
SSD.
+        * The volcano optimizer pipeline can be used instead
        if(space && (pipe == NULL || strcmp(pipe,"default_pipe")== 0)){
-               /* for queries with a potential large footprint and running the 
default pipe line,
-                * we can switch to a better one. */
                if( space > (lng)(0.8 * MT_npages() * MT_pagesize())  && 
GDKnr_threads > 1){
                        pipe = "volcano_pipe";
                        //mnstr_printf(GDKout, "#use volcano optimizer 
pipeline? "SZFMT"\n", space);
                }else
                        pipe = "default_pipe";
        } else
+       */
                pipe = pipe? pipe: "default_pipe";
        msg = addOptimizerPipe(c, mb, pipe);
        if (msg){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to