FreeBSD dual Intel Woodcrest-en

Címkék

Régen volt hardver teszt. Hát nesztek...

Azt a feladatot kaptam, hogy teszteljek egy új vasat. A tesztelés tapasztalatait rögzítettem. Elsősorban magamnak, de közben arra gondoltam, hogy hátha érdekel mást is... A tesztelés alanyai az Intel nemrég bejelentett "Woodcrest" kódnévre hallgató dual-core Xeon processzorai és a köré épülő, építhető technológiák voltak. A tervem az volt, hogy megnézem, hogy mit szólnak a szabad és nyílt forrású operációs rendszerek out-of-the-box az e CPU-val hajtott vasakhoz. Első körben a FreeBSD/amd64-et vettem szemügyre. Hardver áttekintés, privát vélemény, végén egy kis sebesség teszt...

Egy Intel Server építőelemekből összeállított gépet kellett megvizsgálnom. A gép az alábbi fő alkatrészekből állt:

Néhány szó a gépről:

A bevezetőben azt írtam, hogy FreeBSD/amd64-et tesztelek a vason. Nem, nem bolondultam meg. Intel vason AMD64-et. Ez megér egy magyarázatot, mert tudom, hogy nem mindenkinek tiszta....
(Szakmabeli) Emberekkel beszélgetve, levlistákat olvasva többször tapasztaltam, hogy sokaknak fogalma sincs arról, hogy az Intel új Xeon processzorai milyen processzorok. Volt olyan, aki ezekre a CPU-kra IA64 (Itanium) oprendszert akart felerőltetni. Aztán csodálkozott, hogy nem ment. Aki nem tudja, most jegyezze meg: ezek a CPU-k EM64T processzorok, amit egyes OS gyártók így is hívnak, míg mások x64-nek, megint mások AMD64-nek. Tehát az EM64T az durván egyenlő az AMD64-gyel. Azért durván, mert vannak minimális különbségek, de ez a gyakorlatban nem igazán jelentkezik egy felületes szemlélő számára. Magyarul ezekre a CPU-kra simán rámegy a FreeBSD/amd64.

A kis kitérő után nézzük a vasat. A szerverház könnyen szerelhető. Újabban nem minden brand gyártó szerveréről mondható ez el (sajnos)... Ami a bekapcsolás után elsőre "szembetűnik", hogy az egész "cájg" a BIOS tesztek után (amikoris az összes ventilátor csúcssebességgel forog pár másodpercig a tesztelés miatt) hihetetlenül halk. De frankón. Simán lehet mellette ülni, nem zavaró. Ez minden bizonnyal összefügg azzal, hogy az új Woodcrest Xeon sokkal kevesebb energiát emészt, mint a korábbi társai. Nakuro kollégámmal azon röhögtünk, hogy elöl a vas több órányi folyamatos "buildworld" után is kézzel érezhetően hűvös levegőt fúj. Ha lenne hőmérőm, megmérném, hogy full terheléssel mennyire meleg a cucc. Érdemes lenne szerintem.
A vassal sokat nem időztem, mert a "semmi különleges" kategória. Aki látott már szervert belülről, az mindent megtalál benne, nincs benne semmi triplacsavar. Ahogy egy jóbarátom mondaná: őszinte... Az egyetlen nagyobb érdekesség a RAID kártya, amely egyszerre támogat SAS és SATA lemezeket is.

Azért nézzük néhány képben, hogy mi van még benne / rajta:


A szerverben belül talán a legérdekesebb dolog a hűtőbordával felszerelt FB-DIMM.


Belül tágas, jól szerelhető. Elöl megfigyelhetők a hotswap redundáns hűtőventilátorok. A leszerelt légterelők alatt találhatók a processzorok és a RAM foglalatok.


Jobbra fenn a redundánssá tehető tápegységek helye. Ez a szerver teteje, csak most el van döntve. Alszik.


A SAS / SATA vezérlő.


Memóriák közelről.


Intel ház (és a többi cucc). Nem eladni. Engineering sample.


AMI BIOS, CPU infók.


A tengerszint feletti magassághoz állítható hűtés. Zajszint szintén állítható. :-O


SpeedStep technológia, Intel "Vanderpool" "VT" hardveres virtualizáció rásegítés.

A gépben található SAS / SATA vezérlőre egy darab 100 GB-os SATA diszket tettem a teszt idejére. A RAID vezérlő beállító "BIOS"-a egérrel vezérelhető :) Valaki rühelli, valaki nem. Amennyi beállítható dolog van ebben a "BIOS"-ban, szükség is van az egérre.
Kíváncsi voltam rá, hogy mit szólnak ehhez a vezérlőhöz a nyílt forrású operációs rendszerek. Bevallom, hogy féltem attól, hogy észre sem veszik a RAID kontrollert...

Node, a FreeBSD 6.1-RELEASE szépen települt a gépre. Látta a RAID0-ba (mi másba?) konfigurált egy szem lemezt. Boot idején szépen felismerte, hogy a gépben 2 x 2 mag (két tok, két mag) van. Egyetlen dologgal gyűlt meg a baja, az alaplapra integrált hálózati chip-ekkel. Mindegy, a tesztek idejére tettem bele egy 10/100-as 3Com 3c905C-TX-et.

dmesg:

Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE #0: Sun May 7 04:15:57 UTC 2006
root@bloom.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP
ACPI APIC Table: <INTEL S5000PSL>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(R) CPU 5160 @ 3.00GHz (3004.48-MHz K8-class CPU)
Origin = "GenuineIntel" Id = 0x6f5 Stepping = 5
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x4e3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,<b9>,CX16,<b14>,<b15>,<b18>>
AMD Features=0x20100800<SYSCALL,NX,LM>
AMD Features2=0x1<LAHF>
Cores per package: 2
real memory = 2143289344 (2044 MB)
avail memory = 2057142272 (1961 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
lapic0: Forcing LINT1 to edge trigger
kbd1 at kbdmux0
acpi0: <INTEL S5000PSL> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
acpi_throttle1: <ACPI CPU Throttling> on cpu1
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
cpu2: <ACPI CPU> on acpi0
acpi_throttle2: <ACPI CPU Throttling> on cpu2
acpi_throttle2: failed to attach P_CNT
device_attach: acpi_throttle2 attach returned 6
cpu3: <ACPI CPU> on acpi0
acpi_throttle3: <ACPI CPU Throttling> on cpu3
acpi_throttle3: failed to attach P_CNT
device_attach: acpi_throttle3 attach returned 6
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 0.0 on pci1
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 16 at device 0.0 on pci2
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> irq 18 at device 2.0 on pci2
pci4: <ACPI PCI bus> on pcib4
pci4: <network, ethernet> at device 0.0 (no driver attached)
pci4: <network, ethernet> at device 0.1 (no driver attached)
pcib5: <ACPI PCI-PCI bridge> at device 0.3 on pci1
pci5: <ACPI PCI bus> on pcib5
xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0x2000-0x207f mem 0xb8900000-0xb890007f irq 25 at device 1.0 on pci5
miibus0: <MII bus> on xl0
xlphy0: <3c905C 10/100 internal PHY> on miibus0
xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl0: Ethernet address: 00:04:75:94:02:e6
pcib6: <PCI-PCI bridge> at device 3.0 on pci0
pci6: <PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 4.0 on pci0
pci7: <ACPI PCI bus> on pcib7
pcib8: <ACPI PCI-PCI bridge> at device 5.0 on pci0
pci8: <ACPI PCI bus> on pcib8
pcib9: <ACPI PCI-PCI bridge> at device 6.0 on pci0
pci9: <ACPI PCI bus> on pcib9
pcib10: <PCI-PCI bridge> at device 0.0 on pci9
pci10: <PCI bus> on pcib10
mfi0: <LSI MegaSAS 1064R> mem 0xb8b00000-0xb8b0ffff,0xb8d00000-0xb8d1ffff irq 18 at device 14.0 on pci10
pcib11: <PCI-PCI bridge> at device 0.2 on pci9
pci11: <PCI bus> on pcib11
pcib12: <PCI-PCI bridge> at device 7.0 on pci0
pci12: <PCI bus> on pcib12
pci0: <base peripheral> at device 8.0 (no driver attached)
pcib13: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci13: <ACPI PCI bus> on pcib13
uhci0: <UHCI (generic) USB controller> port 0x4080-0x409f irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0x4060-0x407f irq 22 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0x4040-0x405f irq 23 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0x4020-0x403f irq 22 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <UHCI (generic) USB controller> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xb8e00400-0xb8e007ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: waiting for BIOS to give up control
usb4: timed out waiting for BIOS
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <EHCI (generic) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib14: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci14: <ACPI PCI bus> on pcib14
pci14: <display, VGA> at device 12.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <GENERIC ATA controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x40b0-0x40bf irq 20 at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
atapci1: <GENERIC ATA controller> port 0x40c8-0x40cf,0x40e4-0x40e7,0x40c0-0x40c7,0x40e0-0x40e3,0x40a0-0x40af mem 0xb8e00000-0xb8e003ff irq 20 at device 31.2 on pci0
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc8fff,0xce800-0xcf7ff,0xcf800-0xd07ff on isa0
ppc0: cannot reserve I/O port range
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
module_register_init: MOD_LOAD (amr_linux, 0xffffffff8062a040, 0) error 6
acd0: DVDR <PLEXTOR DVDR PX-716A/1.09> at ata2-slave UDMA33
mfid0: <MFI Logical Disk> on mfi0
mfid0: 113486MB (232421375 sectors) RAID
lapic1: Forcing LINT1 to edge trigger
SMP: AP CPU #1 Launched!
lapic7: Forcing LINT1 to edge trigger
SMP: AP CPU #3 Launched!
lapic6: Forcing LINT1 to edge trigger
SMP: AP CPU #2 Launched!
Trying to mount root from ufs:/dev/mfid0s1a

 
Kézzel épített szerver. Buherátorok álma. Nos, ne nézze le senki azért, mert nincs hangzatos logója. Kíváncsi voltam, hogy mit tud egy ilyen homebrew stuff. Mivel sok mindennel nem tudom összehasonlítani, ezért összehasonlítottam a HUP új vasával. Azt nemrég összeeresztettem egy másik szerverrel. Ott születtek FreeBSD "buildkernel" és "buildworld" eredmények. Megnéztem, hogy ez a szerver mit nyom ezekben a tesztekben. Nyilván sokat nem ér, de a semminél több.

Ha nagyon nem is érdemes belemélyedni a számokba (különböző órajelek, diszk alrendszerek, stb.), azért annyi biztos, hogy ez az új Intel Xeon CPU-val hajtott vas is megállja a helyét, és nem kidobott pénz, ha valaki ilyet választ.

iXsystems Jupiter RS2350 HP Proliant DL 385 Intel Woodcrest Server
Egy korábbi vas Új HUP vas Trey új játéka
Dual Opteron 246 @ 2.0 GHz 2x dual-core Opteron 275 @ 2.2 GHz 2x dual-core Xeon 5160 @ 3.0 GHz
 
buildkernel 11m 10m25.869s 7m48.893s
-j 2 - 5m44.726s 4m41.485s
-j 4 - 4m32.874s 4m18.983s
-j 8 - 4m47.860s 4m26.851s
 
buildworld 56m 57m33.189s 39m1.904s
-j 2 36m 30m37.347s 22m41.037s
-j 4 36m 18m20.679s 17m46.667s
-j 8 36m 18m42.667s 17m40.777s
 
-s buildkernel 12m 10m31.037s 7m37.258s
-s -j 2 6m 5m44.783s 4m43.185s
-s -j 4 7m 4m41.394s 4m26.301s
-s -j 8 - 4m54.693s 4m33.740s
 
-s buildworld 58m 55m56.784s 39m14.034s
-s -j 2 35m 30m42.396 22m55.357s
-s -j 4 - 18m18.851s 17m53.289s
-s -j 8 - 18m42.161s 18m19.807s
 

(A tesztek alatt ugyanazt a FreeBSD 6.1-RELEASE/amd64 GENERIC kernelt és world-öt fordítottam le. Mindegyik gép "boot, install, no tuning" eljárással került telepítésre.)

Legközelebb amd64-es Ubuntu 6.06 Server kerül a gépre. Azért, hogy lássam, hogy az mennyire támogatja. Utána OpenBSD 3.9/amd64 és végül NetBSD 3.0.1/amd64. Akit érdekel, az legyen készen! Sajnos időm sebességtesztekre nem biztos, hogy lesz. Ezekből a tesztekből max. annyi fog kiderülni, hogy jelenleg ezek az OS-ek mennyire vannak képben az újabb technológiákkal szemben. A FreeBSD jól vizsgázott. Az összes fordítási teszt alatt stabilan viselkedett. Meglátjuk, hogy a többiek mit szólnak a dologhoz!

Hozzászólások

NetBSD-t kéne buildelni, mert azt mindenhol lehet... akkor kapnánk egy OS/hw fordítási idő mátrixot, az mókás lenne.

Ez ugye ilyen Core magos xeon már, nem pedig netburst?
(jó, hülye kérdés, ha netburst lenne, akkor be lehetne fűteni vele egy egész uszodát)
Szóval én igazán azon hidalok le, hogy míg egy processnél ott van a várt előny az opteronnal szemben, 4 processnél már szinte teljesen elfogy. Azt tudom, hogy elvben az opteronnak jobban kell skálázódnia ahogy a magok számát növeljük (az osztott FSB troughput kevés a 4 xeonnak), de hogy ENNYIRE? Ezek a real time-ok ugye? a cpu time-okat nem jegyezted fel?
Csak egy dolgot tudok elképzelni, hogy itt a vinyó a nagyon-nagyon szűk keresztmetszet. Márpedig ha igen, akkor a tesztek nem sokat árulnak el a vasak tényleges teljesítményéről. Tudom, hogy nem ez volt az elsődleges célja a játéknak, de ha esetleg hozzáférsz WD raptorokhoz, akkor mondjuk 2 raptorból csinált raid0-val azért érdekes lenne megpróbálni.
---
Az ember mindig szerepet játszik. Ha másnak nem, hát saját magának.

"Ez ugye ilyen Core magos xeon már, nem pedig netburst?"

Nyilván.

"Szóval én igazán azon hidalok le"

Ezt mindjárt gondoltam :)

"hogy míg egy processnél ott van a várt előny az opteronnal szemben, 4 processnél már szinte teljesen elfogy."

Ez valóban így van, de ez szerintem nem a processzor és az arch hibája, hanem inkább a teszt gyengesége. Ez a teszt erre nem való, mint ahogy említettem is.

Idézet:

"Hozzátenném, hogy a buildworld és buildkernel meglehetősen rosszul párhuzamosított, így hiába van egy 16 processzoros géped, amin egy buildworld kb. 3-4 perc lenne, 12-15 alá nem nagyon fog menni."

Így mégiscsak érdemes koncentrálni az első sorra, mert többi valószínűleg kevésbé mutat meg bármit is.

"Márpedig ha igen, akkor a tesztek nem sokat árulnak el a vasak tényleges teljesítményéről. Tudom, hogy nem ez volt az elsődleges célja a játéknak"

Így van.

"de ha esetleg hozzáférsz WD raptorokhoz, akkor mondjuk 2 raptorból csinált raid0-val azért érdekes lenne megpróbálni."

Jah, de időm nem biztos, hogy lesz ilyenekre. Az elsődleges cél az, hogy kiderüljön, hogy melyik OS (elsősorban Linux) mennyire barátja a vasnak. A többi csak kíváncsiságból született, meg azért mert nagyon sok helyen lehet olvasni, hogy "ez a vas megy-e, az megy-e foobar alatt".

Én kifejezetten örülnék annak, ha más is fogná magát, ha hozzájut új vasakhoz, és kipróbálná több OS-sel is és beszámolna róla. Ha az ember olvasna róla, hogy XY konfig jól megy mondjuk OpenBSD-vel, akkor sokkal könnyebb dolga lenne a vásárlásnál.

--
trey @ gépház

x86-nak? I guess az i486 is x86 architektura ... Az x86 architektura 64bites "kiterjeszteset" az AMD talta ki es AMD64 neven szoktak emlegetni, vagy esetleg x86_64 neven nehanyhol, de lattam x64 nev alatt is, de szerintem siman az x86 az nem ezt jelenti. Rosszul tudnam?

OpenBSD bol mindenkepen 4.0 -s snapshotot probalj mert szinte biztos vagyok hogy 3.9 -el lenne olyan hardware ami nem menne.