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