Compiler optimizations and MonetDB performance
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
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@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@monetdb.org https://www.monetdb.org/mailman/listinfo/developers-list
-- | Stefan.Manegold@CWI.nl | DB Architectures (DA) | | www.CWI.nl/~manegold/ | Science Park 123 (L321) | | +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
participants (2)
-
aris
-
Stefan Manegold