Subject: Re: x86 Port outperforms SPARC64 port on NetBSD v2.0.2
To: Chris Fuhrman <cfuhrman@gmail.com>
From: Philip Jensen <phil_jensen@yahoo.com>
List: port-sparc64
Date: 10/05/2005 11:07:49
Hi Chris

Thanks for your message.  I used to work for a Sun
Master Reseller, so agree with your general sentiment.

Sun hardware is generally excellent, although their
forays into the low end workstations left something to
be desired, the Sunblade 100 probably the worst of
them.  Fancy have a buzzing sound from the speaker
when you scrolled a page with black text on a white
background, of course Sun resolved it with a mobo
replacement.

We have a number of multi-CPU SPARC machines lying
around, the best being an E3500 with the odd E4000
too.  I am very keen to see NetBSD SPARC64 become SMP
capable to be able to put one of these things through
their paces.  I am also keen to do some comparisons
with a large >10GB database on a SPARC64 -v- x86 too,
running NetBSD of course ;-)

cheers



--- Chris Fuhrman <cfuhrman@gmail.com> wrote:

> Phillip,
> 
> Where I work, we do a lot of string manipulation and
> utilize Oracle 8i (soon
> to be 10g I hope) for transaction processing. We
> also provide a mapping
> service to our clients that utilizes Esri's ArcSDE
> software. What we've
> found is that our main data-base server, (a 4
> processor E450 ... 450MHz each
> ... yes, it's scheduled to be replaced this year) is
> significantly slower at
> both string processing and when Oracle has to
> manipulate a large amount of
> mapping data.
> 
> We had the opportunity to test a V890 ( I think it
> had 16 dual-core
> processors ... 1.2GHz each ) for a couple of months.
> My tests showed an
> improvement of 3x over the E450. I do not remember
> how good mapping
> performance was on that particular box although I do
> know that a Sun i86 box
> pretty much left the V890 in the dust.
> 
> If you do a lot of crypto, consider purchasing a
> Crypto accelerator from
> Sun. If you want to watch OpenSSH crawl, try logging
> into something like a
> SPARCstation 2 ... it is an exercise in patience ;)
> 
> Just a couple of notes:
> 
>    1. Remember, i86 CPUs were not really designed to
> run UNIX operating
>    systems. SPARCs are.
>    2. While Sun SPARC servers can be a bit on the
> pokey side, they are
>    very well built and hold up well. I think we had
> to have a CPU replaced on
>    one of the E450's a while ago --- under warrenty
> --- but other than that
>    they've held up well.
> 
> HTH :)
> 
> On 9/30/05, Philip Jensen <phil_jensen@yahoo.com>
> wrote:
> >
> > Hello Gentlemen
> >
> > Just wanted to get some ideas from the group at
> large. I often run Zope
> > (http://www.zope.org) as my application server (it
> is built with
> > Python), and for sometime have thought it would
> perform really well on
> > SPARC64 due to the 64-bit addressing available.
> The main reason being
> > Zope stores all its data in a single file
> (Data.fs) on the filesystem
> > which can grow to GB in size. However some tests I
> have performed using
> > funkload have demonstrated otherwise with a P3
> 600MHz Laptop
> > outperforming an UltraSPARC IIi 400MHz.
> >
> > Additionally after reading another comment on the
> NetBSD forums about
> > regression testing python on SPARC64, I did a
> regression test using
> > /usr/pkg/lib/python2.3/test/regrtest.py and found
> python core dumped on
> > the "*isinstance" test.
> >
> > Funkload was run locally on both machines, talking
> to localhost to avoid
> > any network issues.
> >
> > So should x86 be faster (almost twice as fast) in
> this instance?
> > Does python suck on SPARC64 still due to threading
> issues?
> >
> > thanks
> > Phil J
> >
> >
> > Detailed information below, machines dmesg is
> first with the funkload
> > results after that.
> >
> > Machine info:-
> > _x86_
> > NetBSD 2.0.2 (GENERIC_LAPTOP) #0: Wed Mar 23
> 08:59:09 UTC 2005
> >
> > jmc@faith.netbsd.org
> >
>
:/home/builds/ab/netbsd-2-0-2-RELEASE/i386/200503220140Z-obj/home/builds/ab/netbsd-2-0-2-RELEASE/src/sys/arch/i386/compile/GENERIC_LAPTOP
> > total memory = 255 MB
> > avail memory = 244 MB
> > BIOS32 rev. 0 found at 0xfd890
> > PCI BIOS rev. 2.1 found at 0xfd9ae
> > pcibios: config mechanism [1][x], special cycles
> [x][x], last bus 1
> > PCI IRQ Routing Table rev. 1.0 found at 0xfdf50,
> size 144 bytes (7
> > entries)
> > PCI Interrupt Router at 000:07:0 (Intel 82371FB
> PCI-to-ISA Bridge (PIIX)
> > compatible)
> > ------------------------------------------
> > device vendor product pin PIRQ IRQ stage
> > ------------------------------------------
> > 000:04:0 0x104c 0xac1c A 0x00 11 0 fixed up
> > 000:04:1 0x104c 0xac1c A 0x00 11 0 fixed up
> > 000:07:2 0x8086 0x7112 D 0x03 5 0 already assigned
> > 000:08:0 0x125d 0x1978 A 0x03 5 0 already assigned
> > 001:00:0 0x1002 0x4c4d A 0x00 11 0 already
> assigned
> > ------------------------------------------
> > PCI fixup examining 8086:7190
> > PCI fixup examining 8086:7191
> > PCI fixup examining 1002:4c4d
> > PCI bridge 0: primary 0, secondary 1, subordinate
> 1
> > PCI fixup examining 104c:ac1c
> > PCI bridge 1: primary 0, secondary 2, subordinate
> 2
> > PCI fixup examining 104c:ac1c
> > PCI bridge 2: primary 0, secondary 3, subordinate
> 3
> > PCI fixup examining 8086:7110
> > PCI fixup examining 8086:7111
> > PCI fixup examining 8086:7112
> > PCI fixup examining 8086:7113
> > PCI fixup examining 125d:1978
> > PCI bus #3 is the last bus
> > [System BIOS Setting]-----------------------
> > device vendor product
> > register space address size
> > --------------------------------------------
> > 000:00:0 0x8086 0x7190
> > 10h mem 0xe0000000 0x04000000
> > [OK]
> > 000:01:0 0x8086 0x7191
> > [OK]
> > 000:04:0 0x104c 0xac1c
> > 10h mem 0x10000000 0x00001000
> > [OK]
> > 000:04:1 0x104c 0xac1c
> > 10h mem 0x10001000 0x00001000
> > [OK]
> > 000:07:0 0x8086 0x7110
> > [OK]
> > 000:07:1 0x8086 0x7111
> > 20h port 0x00001050 0x00000010
> > [OK]
> > 000:07:2 0x8086 0x7112
> > 20h port 0x00001060 0x00000020
> > [OK]
> > 000:07:3 0x8086 0x7113
> > [OK]
> > 000:08:0 0x125d 0x1978
> > 10h port 0x00001400 0x00000100
> > [OK]
> > 001:00:0 0x1002 0x4c4d
> > 10h mem 0xfd000000 0x01000000
> > 14h port 0x00002000 0x00000100
> > 18h mem 0xfc000000 0x00001000
> > [OK]
> > --------------------------[ 0 devices bogus]
> > Physical memory end: 0x0ffec000
> > PCI memory mapped I/O space start: 0x10000000
> > mainbus0 (root)
> > cpu0 at mainbus0: (uniprocessor)
> > cpu0: Intel Pentium III (686-class), 601.39 MHz,
> id 0x683
> > cpu0: features
> 387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
> > cpu0: features
> 387f9ff<PGE,MCA,CMOV,PAT,PSE36,PN,MMX>
> > cpu0: features 387f9ff<FXSR,SSE>
> > cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB
> 32B/line 4-way
> > cpu0: L2 cache 256 KB 32B/line 8-way
> > cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries
> fully associative
> > cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries
> 4-way
> > cpu0: serial number 0000-0683-0002-4106-1B31-57E4
> > cpu0: 8 page colors
> > pci0 at mainbus0 bus 0: configuration mode 1
> > pci0: i/o space, memory space enabled, rd/line,
> rd/mult, wr/inv ok
> > pchb0 at pci0 dev 0 function 0
> > pchb0: Intel 82443BX Host Bridge/Controller (rev.
> 0x03)
> > agp0 at pchb0: aperture at 0xe0000000, size
> 0x4000000
> > ppb0 at pci0 dev 1 function 0: Intel 82443BX AGP
> Interface (rev. 0x03)
> > pci1 at ppb0 bus 1
> > pci1: i/o space, memory space enabled
> > vga1 at pci1 dev 0 function 0: ATI Technologies
> Rage Mobility (rev. 0x64)
> > wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100
> emulation)
> > wsmux1: connecting to wsdisplay0
> > cbb0 at pci0 dev 4 function 0: Texas Instruments
> PCI1225 PCI-CardBus
> > Bridge (rev. 0x01)
> > cbb1 at pci0 dev 4 function 1: Texas Instruments
> PCI1225 PCI-CardBus
> > Bridge (rev. 0x01)
> > pcib0 at pci0 dev 7 function 0
> > pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4)
> (rev. 0x02)
> > piixide0 at pci0 dev 7 function 1
> > piixide0: Intel 82371AB IDE controller (PIIX4)
> (rev. 0x01)
> > piixide0: bus-master DMA support present
> > piixide0: primary channel wired to compatibility
> mode
> > piixide0: primary channel interrupting at irq 14
> > atabus0 at piixide0 channel 0
> > piixide0: secondary channel wired to compatibility
> mode
> > piixide0: secondary channel ignored (disabled)
> > uhci0 at pci0 dev 7 function 2: Intel 82371AB USB
> Host Controller
> > (PIIX4) (rev. 0x01)
> > uhci0: interrupting at irq 5
> > usb0 at uhci0: USB revision 1.0
> > uhub0 at usb0
> > uhub0: Intel UHCI root hub, class 9/0, rev
> 1.00/1.00, addr 1
> > uhub0: 2 ports with 2 removable, self powered
> > Intel 82371AB Power Management Controller (PIIX4)
> (miscellaneous bridge,
> > revision 0x03) at pci0 dev 7 function 3 not
> configured
> > esm0 at pci0 dev 8 function 0: ESS Technology,
> Inc. Maestro 2E PCI Audio
> > Accelerator (rev. 0x10)
> > esm0: interrupting at irq 5
> > esm0: ac97: SigmaTel STAC9721/23 codec; 18 bit
> DAC, 18 bit ADC, SigmaTel
> > 3D
> > audio0 at esm0: full duplex, mmap, independent
> > cbb0: interrupting at irq 11
> > cardslot0 at cbb0 slot 0 flags 0
> > cardbus0 at cardslot0: bus 2 device 0
> > pcmcia0 at cardslot0
> > cbb1: interrupting at irq 11
> > cardslot1 at cbb1 slot 1 flags 0
> > cardbus1 at cardslot1: bus 3 device 0
> > pcmcia1 at cardslot1
> > isa0 at pcib0
> > lpt0 at isa0 port 0x378-0x37b irq 7
> > com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a,
> working fifo
> > com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a,
> working fifo
> > pckbc0 at isa0 port 0x60-0x64
> > pckbd0 at pckbc0 (kbd slot)
> > pckbc0: using irq 1 for kbd slot
> > wskbd0 at pckbd0: console keyboard, using
> wsdisplay0
> > pms0 at pckbc0 (aux slot)
> > pckbc0: using irq 12 for aux slot
> > wsmouse0 at pms0 mux 0
> > pcppi0 at isa0 port 0x61
> > midi0 at pcppi0: PC speaker
> > sysbeep0 at pcppi0
> > isapnp0 at isa0 port 0x279: ISA Plug 'n Play
> device support
> > npx0 at isa0 port 0xf0-0xff: using exception 16
> > isapnp0: no ISA Plug 'n Play devices found
> > apm0 at mainbus0: Power Management spec V1.2
> > Kernelized RAIDframe activated
> > ex0 at cardbus0 dev 0 function 0: 3Com 3c575CT
> Ethernet
> > ex0: MAC address 00:50:da:8e:de:d8
> > tqphy0 at ex0 phy 0: 78Q2120 10/100 media
> interface, rev. 11
> > tqphy0: 10baseT, 10baseT-FDX, 100baseTX,
> 100baseTX-FDX, auto
> > ep0 at pcmcia1 function 0: 3Com 3c589 10Mbps
> Ethernet
> > ep0: address 00:10:5a:6a:ab:ed, 8KB byte-wide
> FIFO, 5:3 Rx:Tx split
> > ep0: 10baseT, 10base5, 10base2 (default 10baseT)
> > wd0 at atabus0 drive 0: <FUJITSU MHK2120AT>
> > wd0: drive supports 16-sector PIO transfers, LBA
> addressing
> > wd0: 11513 MB, 23392 cyl, 16 head, 63 sec, 512
> bytes/sect x 23579136
> > sectors
> > wd0: 32-bit data port
> > wd0: drive supports PIO mode 4, DMA mode 2,
> Ultra-DMA mode 4 (Ultra/66)
> > wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA
> mode 2 (Ultra/33) (using
> > DMA data transfers)
> > boot device: wd0
> > root on wd0a dumps on wd0b
> > root file system type: ffs
> > ex0: interrupting at 11
> > wsdisplay0: screen 1 added (80x25, vt100
> emulation)
> > wsdisplay0: screen 2 added (80x25, vt100
> emulation)
> > wsdisplay0: screen 3 added (80x25, vt100
> emulation)
> > wsdisplay0: screen 4 added (80x25, vt100
> emulation)
> >
> >
> >
> > _SPARC64_
> > NetBSD 2.0.2 (GENERIC) #0: Wed Mar 23 01:40:44 UTC
> 2005
> >
> > builds@works.netbsd.org
> >
>
:/home/builds/ab/netbsd-2-0-2-RELEASE/sparc64/200503220140Z-obj/home/builds/ab/netbsd-2-0-2-RELEASE/src/sys/arch/sparc64/compile/GENERIC
> > total memory = 512 MB
> > avail memory = 490 MB
> > bootpath: /pci@1f,0/pci@1,1/ide@3,0/disk@0,0
> > mainbus0 (root): SUNW,Ultra-5_10: hostid 80fd8a69
> > cpu0 at mainbus0: SUNW,UltraSPARC-IIi @ 400 MHz,
> version 0 FPU
> > cpu0: 32K instruction (32 b/l), 16K data (32 b/l),
> 2048K external (64 b/l)
> > psycho0 at mainbus0 addr 0xfffc4000
> > SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0
> to 2; PCI bus 0
> > DVMA map: c0000000 to e0000000
> > IOTSB: d44000 to dc4000
> > pci0 at psycho0
> > pci0: i/o space, memory space enabled
> > ppb0 at pci0 dev 1 function 1: Sun Microsystems,
> Inc. Simba PCI bridge
> > (rev. 0x13)
> > pci1 at ppb0 bus 1
> > pci1: i/o space, memory space enabled
> > ebus0 at pci1 dev 1 function 0
> > ebus0: Sun Microsystems, Inc. PCIO Ebus2, revision
> 0x01
> > auxio0 at ebus0 addr 726000-726003, 728000-728003,
> 72a000-72a003,
> > 72c000-72c003, 72f000-72f003
> > power at ebus0 addr 724000-724003 ipl 37 not
> configured
> > SUNW,pll at ebus0 addr 504000-504002 not
> configured
> > sab0 at ebus0 addr 400000-40007f ipl 43: rev 3.2
> > sabtty0 at sab0 port 0
> > sabtty1 at sab0 port 1
> > com0 at ebus0 addr 3083f8-3083ff ipl 41: ns16550a,
> working fifo
> > com0: console
> > kbd0 at com0 (console input)
> > com1 at ebus0 addr 3062f8-3062ff ipl 42: ns16550a,
> working fifo
> > ms0 at com1
> > lpt0 at ebus0 addr 3043bc-3043cb, 30015c-30015d,
> 700000-70000f ipl 34
> > fdthree at ebus0 addr 3023f0-3023f7,
> 706000-70600f, 720000-720003 ipl 39
> > not configured
> > clock0 at ebus0 addr 0-1fff: mk48t59
> > flashprom at ebus0 addr 0-fffff not configured
> > audiocs0 at ebus0 addr 200000-2000ff,
> 702000-70200f, 704000-70400f,
> > 722000-722003 ipl 35 ipl 36: CS4231A
> > audio0 at audiocs0: full duplex
> > hme0 at pci1 dev 1 function 1: Sun Happy Meal
> Ethernet, rev. 1
> > hme0: interrupting at ivec 3021
> > hme0: Ethernet address 08:00:20:fd:8a:69
> > nsphy0 at hme0 phy 1: DP83840 10/100 media
> interface, rev. 1
> > nsphy0: 10baseT, 10baseT-FDX, 100baseTX,
> 100baseTX-FDX, auto
> > ATI Technologies 3D Rage Pro (VGA display,
> revision 0x5c) at pci1 dev 2
> > function 0 not configured
> > cmdide0 at pci1 dev 3 function 0
> > cmdide0: CMD Technology PCI0646 (rev. 0x03)
> > cmdide0: bus-master DMA support present
> > cmdide0: primary channel configured to native-PCI
> mode
> > cmdide0: using ivec 1820 for native-PCI interrupt
> > atabus0 at cmdide0 channel 0
> > cmdide0: secondary channel configured to
> native-PCI mode
> > atabus1 at cmdide0 channel 1
> > ppb1 at pci0 dev 1 function 0: Sun Microsystems,
> Inc. Simba PCI bridge
> > (rev. 0x13)
> > pci2 at ppb1 bus 2
> > pci2: i/o space, memory space enabled
> > pcons at mainbus0 not configured
> > No counter-timer -- using %tick at 400MHz as
> system clock.
> > Kernelized RAIDframe activated
> > wd0 at atabus0 drive 0: <ST340014A>
> > wd0: drive supports 16-sector PIO transfers, LBA48
> addressing
> > wd0: 38166 MB, 77545 cyl, 16 head, 63 sec, 512
> bytes/sect x 78165360
> > sectors
> > wd0: drive supports PIO mode 4, DMA mode 2,
> Ultra-DMA mode 5 (Ultra/100)
> > wd0(cmdide0:0:0): using PIO mode 4, DMA mode 2
> (using DMA data transfers)
> > atapibus0 at atabus1: 2 targets
> > cd0 at atapibus0 drive 0: <CRD-8483B, 2000/05/10,
> 1.00> cdrom removable
> > cd0: drive supports PIO mode 4, DMA mode 2,
> Ultra-DMA mode 2 (Ultra/33)
> > cd0(cmdide0:1:0): using PIO mode 4, DMA mode 2
> (using DMA data transfers)
> > root on wd0a dumps on wd0b
> > root file system type: ffs
> >
> >
> >
> > Fairly informal performance results:-
> >
> > _x86_
> > # time for i in 1 2 3^Jdo^Jfl-run-test -cv
> test_Zope.py^Jdone
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 15.418s
> >
> > OK
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 12.625s
> >
> > OK
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 12.749s
> >
> > OK
> > 42.87s real 1.54s user 0.17s system
> >
> >
> >
> > _SPARC64_
> > # time for i in 1 2 3^Jdo^Jfl-run-test -cv
> test_Zope.py^Jdone
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 32.321s
> >
> > OK
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 26.332s
> >
> > OK
> > test_00_verifyExample (test_Zope.Zope) ... Ok
> > test_anonymous_reader (test_Zope.Zope) ... Ok
> > test_exampleFileLibrary (test_Zope.Zope) ... Ok
> > test_exampleGuestBook (test_Zope.Zope) ... Ok
> > test_exampleNavigation (test_Zope.Zope) ... Ok
> > test_exampleShoppingCart (test_Zope.Zope) ... Ok
> > test_flushCache (test_Zope.Zope) ... Ok
> > test_packZodb (test_Zope.Zope) ... Ok
> > test_restart (test_Zope.Zope) ... Ok
> >
> >
>
----------------------------------------------------------------------
> > Ran 9 tests in 26.564s
> >
> > OK
> > 89.67s real 3.21s user 0.47s system
> >
> >
> 
> 
> --
> Chris Fuhrman
> cfuhrman@gmail.com
> 


Send instant messages to your online friends http://au.messenger.yahoo.com