Thread: apparent problem on linux/s390

apparent problem on linux/s390

From
Andrew Dunstan
Date:
headsup courtesy of buildfarm.

problems apparently with NaNs, infinities and negative zeros.

see: 
http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=fantail&dt=2004-12-06%2011:05:24


cheers


Re: apparent problem on linux/s390

From
Nicolai Tufar
Date:
Hello,

On Mon, 06 Dec 2004 19:15:23 -0500, Andrew Dunstan <andrew@dunslane.net> wrote:
> 
> problems apparently with NaNs, infinities and negative zeros.

I am the owner of this baby. It is not an actual mainframe,
it is Hercules emulator running on AthlonXP 2500+ producing
20-25 MIPS of pure mainframe horsepower! On bootup Linux
reports 130 BogoMIPS and OS/390 reports 40 MIPS. We all
know that mainframe MIPS != mini MIPS. Anyways, a full
compile of PostgreSQL source takes about 300 minutes.
I run it overnight.

Hercules is a tested and proved emulator but I have a vague doubt
that it's IEEE FPU emulation may be slightly different from the 
real iron's one. Are there test suites to check if a linux's 
math functions confirm to the standards. I may need to run one 
of them first.

Also if the is something to do with the code I am more than willing
to help. Seems like nobody else has a mainframe handy for testing.
I will do what I can but bear in mind the compile time. In case anyone
wants to try it at home I will help to set it up, it is really easy once it
is up and running it is the same old Linux to you.

As for urgency of bugfixes for S390 platform I am not aware of 
anyone running PostgreSQL on IFL (integrated facility for Linux).
And I am not aware of anyone who would even consider this.
Mainframe users are all so scared by IBM FUD.

Nevertheless running PostgreSQL in iron is an important sales pitch
for me and Devrim. Imagine: "Of course it runs on mainframe" or 
"Save $2,573,000.00 in monthly software licence fees, use PostgreSQL!".

> see:
> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=fantail&dt=2004-12-06%2011:05:24

Meanwhile another fresh build completed with absolutely the same result:

http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=fantail&dt=2004-12-06%2023:04:43


Best regards,
Nicolai Tufar


Re: apparent problem on linux/s390

From
"Andrew Dunstan"
Date:
Nicolai Tufar said:
> Hello,
>
> On Mon, 06 Dec 2004 19:15:23 -0500, Andrew Dunstan
> <andrew@dunslane.net> wrote:
>>
>> problems apparently with NaNs, infinities and negative zeros.
>
> I am the owner of this baby. It is not an actual mainframe,
> it is Hercules emulator running on AthlonXP 2500+ producing
> 20-25 MIPS of pure mainframe horsepower! On bootup Linux
> reports 130 BogoMIPS and OS/390 reports 40 MIPS.
...
>
> Hercules is a tested and proved emulator but I have a vague doubt
> that it's IEEE FPU emulation may be slightly different from the
> real iron's one.


Maybe we should mark the buildfarm member as "s390 emulator" ?

Meanwhile, if anyone knows of real big iron that could join the buildfarm
that would also be good.

cheers

andrew




Re: apparent problem on linux/s390

From
Nicolai Tufar
Date:
On Tue, 7 Dec 2004 06:38:25 -0600 (CST), Andrew Dunstan
<andrew@dunslane.net> wrote:

> Maybe we should mark the buildfarm member as "s390 emulator" ?

It could be. But we'd rather use the full specification,
"Hercules 2.37, ESAME S390 architecture, 31 bit mode, running Debian
Linux Woody"
or something like that. Don't quote it now though, I do not remember what
was the version Hercules I used. But in my opinion what runs on Hercules
runs on Mainframe too, we can safely claim that we compiled and tested
on a mainframe.

> Meanwhile, if anyone knows of real big iron that could join the buildfarm
> that would also be good.

It will be great. There should be some universities that still use mainframe 
and some of them even installed Linux. Compiling PostgreSQL is extremely
resource hungry process. I doubt a business will lend its mainframe for
such a purpose. Also the used to be P390 - personal mainframes machines
produced by IBM a decade ago. They still can be bought on eBay for
something like $5,000. They can run Linux too.

Regards,
Nicolai Tufar


Re: apparent problem on linux/s390

From
Tom Lane
Date:
"Andrew Dunstan" <andrew@dunslane.net> writes:
>> Hercules is a tested and proved emulator but I have a vague doubt
>> that it's IEEE FPU emulation may be slightly different from the
>> real iron's one.

> Maybe we should mark the buildfarm member as "s390 emulator" ?

> Meanwhile, if anyone knows of real big iron that could join the buildfarm
> that would also be good.

I can't put it in the buildfarm ;-) but I have access to real s390
hardware inside Red Hat.  I'll try to run a test build and see whether
the regression tests pass.

I would expect that s390 floating point is not even remotely
IEEE-compliant; they'd have stuck with the S/360 behavior which predates
the IEEE spec by probably 20 years.  Whether it's worth generating
variant regression files for this arch, I don't know.
        regards, tom lane


Re: apparent problem on linux/s390

From
Tom Lane
Date:
Nicolai Tufar <ntufar@gmail.com> writes:
> Hercules is a tested and proved emulator but I have a vague doubt
> that it's IEEE FPU emulation may be slightly different from the 
> real iron's one.

FWIW, I get clean regression test passes on a real z900 at Red Hat,
in both s390 and s390x (32- and 64-bit) modes.  I'm not sure what that
means --- it could be that Red Hat Linux doesn't use the hardware
floating point, or it could be that their version of glibc knows how to
deal with corner cases like NaNs on this hardware.  Or it could be that
Hercules is broken.
        regards, tom lane


Re: apparent problem on linux/s390

From
Horak Daniel
Date:
> > Meanwhile, if anyone knows of real big iron that could join
> the buildfarm
> > that would also be good.
>
> I can't put it in the buildfarm ;-) but I have access to real s390
> hardware inside Red Hat.  I'll try to run a test build and see whether
> the regression tests pass.
>
> I would expect that s390 floating point is not even remotely
> IEEE-compliant; they'd have stuck with the S/360 behavior
> which predates
> the IEEE spec by probably 20 years.  Whether it's worth generating
> variant regression files for this arch, I don't know.

I think that IEEE float numbers are available on S390 G5 and newer
machines.

    Dan


Re: apparent problem on linux/s390

From
Horak Daniel
Date:
> > Maybe we should mark the buildfarm member as "s390 emulator" ?
>
> It could be. But we'd rather use the full specification,
> "Hercules 2.37, ESAME S390 architecture, 31 bit mode, running Debian
> Linux Woody"

Full support for IEEE float number instructions was added into Hercules
during last weeks of november. So you could try to recompile the last
Hercules sources from CVS.

    Dan


Re: apparent problem on linux/s390

From
Nicolai Tufar
Date:
On Tue, 07 Dec 2004 13:51:36 -0500, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> FWIW, I get clean regression test passes on a real z900 at Red Hat,
> in both s390 and s390x (32- and 64-bit) modes.  I'm not sure what that
> means --- it could be that Red Hat Linux doesn't use the hardware
> floating point, or it could be that their version of glibc knows how to
> deal with corner cases like NaNs on this hardware.  Or it could be that
> Hercules is broken.

Too bad :(  I had great confidence in Hercules emulator.

This is from official Hercules FAQ:
``The following standard feature has been partially implemented:
   * Binary Floating-Point instructions ''

I am playing with "-msoft-float" gcc option which
disables hawdware floating-piont instructions and
uses glibc's ones instead but I get the following error:

/tmp/ccOWrBZJ.o: In function `main':
/tmp/ccOWrBZJ.o(.text+0x40): undefined reference to `__extendsfdf2'
collect2: ld returned 1 exit status

Doeas somebody know in what library 
`__extendsfdf2' is?

Thanks in advance,
Nicolai


Re: apparent problem on linux/s390

From
Steve Atkins
Date:
On Tue, Dec 07, 2004 at 10:37:36AM +0200, Nicolai Tufar wrote:
> On Mon, 06 Dec 2004 19:15:23 -0500, Andrew Dunstan <andrew@dunslane.net> wrote:
> > 
> > problems apparently with NaNs, infinities and negative zeros.

Sure smells more like an IEEE issue than a postgresql issue (built for
IBM FP rather than IEEE? Dodgy bugs in the emulator?).

> I am the owner of this baby. It is not an actual mainframe,
> it is Hercules emulator running on AthlonXP 2500+ producing
> 20-25 MIPS of pure mainframe horsepower! On bootup Linux
> reports 130 BogoMIPS and OS/390 reports 40 MIPS. We all
> know that mainframe MIPS != mini MIPS. Anyways, a full
> compile of PostgreSQL source takes about 300 minutes.
> I run it overnight.
> 
> Hercules is a tested and proved emulator but I have a vague doubt
> that it's IEEE FPU emulation may be slightly different from the 
> real iron's one. Are there test suites to check if a linux's 
> math functions confirm to the standards. I may need to run one 
> of them first.

IIRC older S390s don't do IEEE FP at all, and it's done via traps to
the OS. Are you emulating the S390 IEEE FP hardware option or are you
emulating non-IEEE hardware, with IEEE fixup in OS390?

Paranoia by Dr Kahan is the classic IEEE compliance tester
<http://www.netlib.org/paranoia/> but I've also had a lot of
success with the softlib based tester at
<http://www.jhauser.us/arithmetic/TestFloat.html>.

Cheers, Steve