On Tue, Jan 16, 2018 at 08:25:51AM +0000, REIX, Tony wrote: > My team and my company (ATOS/Bull) are involved in improving the > quality of PostgreSQL on AIX.
Cool to hear that! > We have AIX 6.1, 7.1, and 7.2 Power8 systems, with several > logical/physical processors. And I plan to have a more powerful (more > processors) machine for running PostgreSQL stress tests. > A DB-expert colleague has started to write some new not-too-complex > stress tests that we'd like to submit to PostgreSQL project later. > For now, using latest versions of XLC 12 (12.1.0.19) and 13 (13.1.3.4 > with a patch), we have only (on AIX 6.1 and 7.2) one remaining random > failure (dealing with src/bin/pgbench/t/001_pgbench.pl test), for > PostgreSQL 9.6.6 and 10.1 . And, on AIX 7.1, we have one more > remaining failure that may be due to some other dependent > software. Investigating. > XLC 13.1.3.4 shows an issue with -O2 and I have a work-around that > fixes it in ./src/backend/parser/gram.c . We have opened a PMR > (defect) against XLC. Note that our tests are now executed without the > PG_FORCE_DISABLE_INLINE "inline" trick in src/include/port/aix.h that > suppresses the inlining of routines on AIX. I think that older > versions of XLC have shown issues that have now disappeared (or, at > least, many of them). > I've been able to compare PostgreSQL compiled with XLC vs GCC 7.1 and, > using times outputs provided by PostgreSQL tests, XLC seems to provide > at least 8% more speed. We also plan to run professional performance > tests in order to compare PostgreSQL 10.1 on AIX vs Linux/Power. I saw > some 2017 performance slides, made with older versions of PostgreSQL > and XLC, that show bad PostgreSQL performance on AIX vs Linux/Power, > and I cannot believe it. We plan to investigate this. That's interesting investigation. The community is always interested in such stories. You could have material for a conference talk. > Though I have very very little skills about PostgreSQL (I'm porting > too now GCC Go on AIX), we can help, at least by > compiling/testing/investigating/stressing in a different AIX > environment than the AIX ones (32/64bit, XLC/GCC) you have in your > BuildFarm. Setting up a buildfarm member with the combination of compiler and environment where you are seeing the failures would be the best answer in my opinion: https://wiki.postgresql.org/wiki/PostgreSQL_Buildfarm_Howto This does not require special knowledge of PostgreSQL internals, and the in-core testing framework has improved the last couple of years to allow for more advanced tests. I do use it as well for some tests on my own modules (company stuff). The buildfarm code has also followed the pace, which really helps a lot, thanks to Andrew Dunstan. Developers and committers are more pro-active if they can see automated tests failing in the central community place. And buildfarm animals usually don't stay red for more than a couple of days. -- Michael
signature.asc
Description: PGP signature