Compiler optimizations and MonetDB performance

Stefan Manegold Stefan.Manegold at cwi.nl
Thu Mar 28 16:06:50 CET 2019


Hi,

we did some (probably more than one and more than once) ad-hoc evaluation
of this kind about 20 years ago --- obviously with the compilers, code base
and hardware of then --- and some legacy of that/those might still remain
in the form of CFLAGS in MonetDB's configure.ag .

A new evaluation might be a good idea, if properly planned wrt. what to do
why and how, though simply using different compiler option might not yield
too much without also revising code, in particular ensuring than the compiler
knows/sees that what we consider tight loops are indeed tight loops.

Having said that, there is tons of DB literature taking about using specific
instructions and or other features for specific DB operators / algorithms.
MonetDB IMHO does not use any of those explicitly, for the same of portability.

There is definitely potential. It's not necessarily easily, let alone trivial,
to harvest it.

I'm available for live discussions and brainstorming ;-)

Best,
Stefan

----- On Mar 28, 2019, at 2:25 PM, aris koning aris.koning at monetdbsolutions.com wrote:

> Hi all,
> 
> One of our customers has pointed out that GCC 7+ has a reasonable large
> number of additions to their optimization algorithms and this customer
> was wondering if the MonetDB R&D community is aware of these compiler
> improvements and what their combined effect is on the performance of
> MonetDB. This customer seems to be contemplating to adopt the build
> process of MonetDB into their own build & deployment pipelines. So they
> are interested in the most optimal build signature for MonetDB on their
> Centos environment.
> 
> 
> Somebody already pointed out that given the kernel architecture of
> MonetDB, there is a chance that for instance, (new) inner loop
> optimizations can be useful for MonetDB since we put quite some effort
> into deciding which specialized algorithm to use for a particular
> relational algebraic operation before we dispatch the workload to the
> designated tight and specialized inner loop that does the actual work.
> 
> Is anybody aware of existing evaluations/benchmarks related to different
> compiler, compiler settings and architectures/instruction set
> extensions? Or is it planned? Or should it be planned :)
> 
> Kind regards,
> 
> Aris
> 
> _______________________________________________
> developers-list mailing list
> developers-list at monetdb.org
> https://www.monetdb.org/mailman/listinfo/developers-list

-- 
| Stefan.Manegold at CWI.nl | DB Architectures   (DA) |
| www.CWI.nl/~manegold/  | Science Park 123 (L321) |
| +31 (0)20 592-4212     | 1098 XG Amsterdam  (NL) |


More information about the developers-list mailing list