Changeset: f1bc4422e342 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f1bc4422e342 Modified Files: monetdb5/optimizer/opt_mitosis.c Branch: default Log Message:
Reduce work unit as more clients join It turns out that reducing the piece sizes with increasing number of concurrent clients consistently improves throughput. diffs (21 lines): diff --git a/monetdb5/optimizer/opt_mitosis.c b/monetdb5/optimizer/opt_mitosis.c --- a/monetdb5/optimizer/opt_mitosis.c +++ b/monetdb5/optimizer/opt_mitosis.c @@ -117,7 +117,7 @@ OPTmitosisImplementation(Client cntxt, M * Experience shows that the pieces should not be too small. * If we should limit to |threads| is still an open issue. */ - r = (wrd) (monet_memory / argsize); + r = (wrd) (monet_memory / argsize/ MCactiveClients()); /* if data exceeds memory size, * i.e., (rowcnt*argsize > monet_memory), * i.e., (rowcnt > monet_memory/argsize = r) */ @@ -128,7 +128,7 @@ OPTmitosisImplementation(Client cntxt, M * i.e., (rowcnt/pieces <= r/threads), * i.e., (pieces => rowcnt/(r/threads)) * (assuming that (r > threads*MINPARTCNT)) */ - pieces = (int) (rowcnt / (r / threads)) + 1; + pieces = (int) (rowcnt / (r / threads/ MCactiveClients())) + 1; } else if (rowcnt > MINPARTCNT) { /* exploit parallelism, but ensure minimal partition size to * limit overhead */ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list