Thread: apparent problem on linux/s390
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
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
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
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
"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
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
> > 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
> > 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
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
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