Thread: Postgresql on itanium server

Postgresql on itanium server

From
muthu krishnan
Date:
Hi,

We have installed postgresql on itanium server (HP rx7640), only on this server we are getting the following error in /var/log/messages and also the postgres performance is very slow.

Error:

Jun  9 04:45:42 kernel: postmaster(31965): floating-point assist fault at ip 40000000003dad71, isr 0000020000000008

Server details:

Database - Postgresql 8.3.9
OS - SUSE Linux 11 SP1
Itanium CPU ( ia64 bit architecture)

kindly let me know your valuable suggestions to resolve this issue.

Regards,

Muthu

Re: Postgresql on itanium server

From
Jochen Erwied
Date:
Thursday, June 9, 2011, 11:20:33 AM you wrote:

> *Jun  9 04:45:42 kernel: postmaster(31965): floating-point assist fault at
> ip 40000000003dad71, isr 0000020000000008*

A quick search for 'floating-point assist fault' reveals this article:


http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=62080055abe021100055abe02110275d6e10RCRD

In short: The message is harmless, and should not have any influence on
postgres performance, except if you're getting millions of them...

--
Jochen Erwied     |   home: jochen@erwied.eu     +49-208-38800-18, FAX: -19
Sauerbruchstr. 17 |   work: joe@mbs-software.de  +49-2151-7294-24, FAX: -50
D-45470 Muelheim  | mobile: jochen.erwied@vodafone.de       +49-173-5404164


Re: Postgresql on itanium server

From
muthu krishnan
Date:
Dear Jochen,

Thank you for suggesting the valuable URL, we are getting 3 "floating point assist fault" error for every second, will it impact the performance for postgresql?

Is there any option to turn on "flush to zero mode" in itanium cpu while compiling postgresql from source?

Thank you for your valuable time to read this.

Regards,

Muthu

On Thu, Jun 9, 2011 at 3:00 PM, Jochen Erwied <jochen@pgsql-performance.erwied.eu> wrote:
Thursday, June 9, 2011, 11:20:33 AM you wrote:

> *Jun  9 04:45:42 kernel: postmaster(31965): floating-point assist fault at
> ip 40000000003dad71, isr 0000020000000008*

A quick search for 'floating-point assist fault' reveals this article:

http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=62080055abe021100055abe02110275d6e10RCRD

In short: The message is harmless, and should not have any influence on
postgres performance, except if you're getting millions of them...

--
Jochen Erwied     |   home: jochen@erwied.eu     +49-208-38800-18, FAX: -19
Sauerbruchstr. 17 |   work: joe@mbs-software.de  +49-2151-7294-24, FAX: -50
D-45470 Muelheim  | mobile: jochen.erwied@vodafone.de       +49-173-5404164


Re: Postgresql on itanium server

From
Jochen Erwied
Date:
Thursday, June 9, 2011, 12:03:12 PM you wrote:

> Is there any option to turn on "flush to zero mode" in itanium cpu while
> compiling postgresql from source?

configure will complain when specifying './configure CFLAGS=-ffast-math'.

make won't, so a 'make CFLAGS='-O2 -Wall -ffast-math' after doing a normal
'./configure' should do the trick.

But maybe one of the experts should explain if this will in fact work...

--
Jochen Erwied     |   home: jochen@erwied.eu     +49-208-38800-18, FAX: -19
Sauerbruchstr. 17 |   work: joe@mbs-software.de  +49-2151-7294-24, FAX: -50
D-45470 Muelheim  | mobile: jochen.erwied@vodafone.de       +49-173-5404164


Re: Postgresql on itanium server

From
Marti Raudsepp
Date:
On Thu, Jun 9, 2011 at 13:03, muthu krishnan
<muthu.krishnan.linux@gmail.com> wrote:
> Thank you for suggesting the valuable URL, we are getting 3 "floating point
> assist fault" error for every second, will it impact the performance for
> postgresql?

Probably.

The kernel throttles these messages, so you're probably performing
many more of these calculations than the number of messages.

> Is there any option to turn on "flush to zero mode" in itanium cpu while
> compiling postgresql from source?

As the URL mentions, you can build with CFLAGS=-ffast-math, that
should work for PostgreSQL too.

But since you know you're operating with denormal numbers, you WILL
get different results to queries. Whether that's a problem for you
depends on your application. You could start getting division by zero
errors for instance.

Regards,
Marti

Re: Postgresql on itanium server

From
Jochen Erwied
Date:
Thursday, June 9, 2011, 12:45:06 PM you wrote:

> As the URL mentions, you can build with CFLAGS=-ffast-math, that
> should work for PostgreSQL too.

I just tried this with the source for 9.0.4, at least with this version the
build will not complete since there is a check in
src/backend/utils/adt/date.c throwing an error if FAST_MATH is active.

--
Jochen Erwied     |   home: jochen@erwied.eu     +49-208-38800-18, FAX: -19
Sauerbruchstr. 17 |   work: joe@mbs-software.de  +49-2151-7294-24, FAX: -50
D-45470 Muelheim  | mobile: jochen.erwied@vodafone.de       +49-173-5404164


Re: Postgresql on itanium server

From
Tom Lane
Date:
Jochen Erwied <jochen@erwied.eu> writes:
> Thursday, June 9, 2011, 12:45:06 PM you wrote:
>> As the URL mentions, you can build with CFLAGS=-ffast-math, that
>> should work for PostgreSQL too.

> I just tried this with the source for 9.0.4, at least with this version the
> build will not complete since there is a check in
> src/backend/utils/adt/date.c throwing an error if FAST_MATH is active.

Yeah.  See
http://archives.postgresql.org/pgsql-bugs/2002-09/msg00169.php
and following discussions, which eventually led to adding the #error.

Now this was all done in regards to PG's original floating-point
timestamp implementation.  It's possible that in an integer-datetimes
build (which is now the default) we don't need to forbid -ffast-math to
prevent strange datetime results.  But nobody's done the work to prove
that, because there isn't any particularly good reason to enable
-ffast-math in a database in the first place.  (Other than coping with
brain-dead platforms, I guess.)

However ... I'm not sure I believe that this is related to the OP's
problem anyway.  Postgres doesn't normally work with any denormalized
numbers, so the messages he's seeing probably stem from some other sort
of shortcoming in the hardware FP support.  It would be interesting to
see specific examples of SQL operations that trigger the kernel message.

            regards, tom lane