Společnost Abacus nám zapůjčila na
testování dvou-jaderný dual Opteron v 1U, na kterém jsme samozřejmě otestovali 64 bitový Linux.
8.9.2005 07:00 | Ondřej Čečák | přečteno 23937×
V dubnu roku 2003 uvedla společnost AMD na trh svůj první 64 bitový procesor Opteron, který byl malou revolucí ve světě serverových procesorů na architektuře x86. Dvou-jaderný (dual core) Opteron byl oficiálně představen téměř o dva roky později, 21. dubna 2005.
Na úvod si připomeňme některé vlastnosti a výhody architektury AMD64, kam 64bitový procesor AMD Opteron patří.
Více jader v jednom procesoru není žádná horká novinka, jako první tuhle technologii představila firma IBM ve svém procesoru POWER4 už v roce 2001. Společnosti AMD a Intel vydaly veřejnosti první více-jaderné procesory až na jaře v roce 2005 (Intel byl o fous rychlejší).
Dvou-jaderný procesor si můžete představit u AMD jako spojení dvou procesorů – pouze v jednom kousku křemíku tak získáte přibližný ekvivalent dvoucestného systému. Navíc jednotlivá jádra spolu na rozdíl od Intelu komunikují přímo a ne přes sběrnici desky.
Mimochodem, nepleťte si Dual-core s HyperThreadingem od Intelu. HyperThreading umožňuje pouze paralelní zpracování dvou programů jedním procesorem najednou, což je něco trochu jiného.
Situace u dual core Opteronu je dost podobná klasickému stroji s dvěma samostatnými procesory. (Pěkný pohled na věc s nezbytnou dávkou informací pro managery nalezete v interaktivní flashové prezentaci u AMD, ve které doporučuji prozkoumáni Direct Connect Architecture.)
Jak je vidět z prezentace nebo z obrázku nad tímto odstavcem, každé z jader má svůj vlastní megabyte L2 cache a díky novince "Direct Connect Architecture", kterou do série 200 přinesl procesor AMD Opteron 252, mohou jádra komunikovat přímo a rychle mezi sebou, se společným 128 bitovým řadičem paměti nebo s výkonným I/O subsystémem (jehož maximální propustnost je 24 GB/s – frekvence sběrnice HyperTransport byla zvýšena z 800 MHz na 1 GHz a tak došlo ke zvýšení propustnosti z 6,4 GB/s na 8 GB/s). Mimo to byla také zařazena podpora instrukční sady SSE3.
Docela zajímavá situace nastala u licencí softwaru, kde se za licenci platí podle počtu procesorů. Po nasazení dvou-jaderných systémů došlo ke zvýšení výkonnosti podobně jako po přidání dalšího procesoru, ale cena za licenci zůstala stejná.
AMD jako samozvaný leader ve více-jádrovém x86 průmyslu důrazně doporučuje licencovat software po procesorech a ne po jejich jádrech. Toto doporučení akceptovala mj. firma Microsoft. Ale například Oracle nejprve považoval dvou-jaderný procesor za jeden, záhy za dva a nyní se vzhledem k ceně licence počítá jedno jádro jako tři čtvrtiny procesoru.
Námi testovaná sestava obsahovala:
Procesor: 2x Dual Core AMD Opteron 275 (2,2 GHz, 1 MB L2 cache na každé
jádro)
Základní deska: Supermicro
H8DAR-T (chipset AMD 8132 a AMD 8111,
2x Broadcom Corporation NetXtreme BCM5704 Gigabit
Ethernet, 2x USB 1.1, ATI Technologies Inc Rage XL 8 MB, 1U IPMI 2.0)
Paměť: 2x Kingston KRX 3200 1024 MB DIMM SDRAM
Uložení dat: Adaptec Serial ATA RAID 2410S (hardwarový RAID, 4x SATA),
3x WD Raptor (SATA, 75 GB, 10.000 RPM, 8 MB cache, 5 let záruka),
DVD, 3,5" floppy
Case: černá SC813T+-500 Chassis (1U s hot-swap cage na 4 disky)
Rozšiřitelnost: až 12 GB paměti (32 GB 266 MHz; 8 banků), 2 64-bit 133/100MHz PCI-X
Základní deska. *** Sestavu lze ještě rozšířit dvěma PCI-X kartami. *** Pamět s vlastním pasivním chladičem. *** Čelní pohled na 1U case. *** Disk WD Raptor.
Asi nebude příliš překvapivé, že operačním systémem na testovacím stroji je Linux, který je v použité distribuci Debian GNU/Linux 3.1 ve verzi 2.6.8 (jádro řady 2.4 jsem nezkoušel).
Síťová instalace proběhla celkem bez problémů, ale při jejím průběhu jsem narazil na další nepříjemnost u installeru – aniž bych o tom věděl, instaloval jsem systém na poškozené disky s vadnými sektory a z installeru se tohle nedá dost dobře poznat.
Nejprve systém po nainstalování nenabootoval, později instalační program zamrzl v průběhu instalace zavaděče (raději jsem zvolil GRUB, protože opět nemám po ruce 64 bitový rescue režim nebo alespoň nějaký live systém). Pak už bylo jasné, že chyba nebude mezi klávesnicí a židlí nebo v Debianu, ale že chybný bude hardware.
Po připojení fungujících disků bylo vše v naprostém pořádku. Tedy musím opět poznamenat, že z installerem vytvořeného XFS na RAIDu 5 nebo 1 mi LILO ani GRUB nezvládl nabootovat (resp. se úspěšně zavést do MBR alespoň jednoho z disků), takže jsem instalaci opět provedl se svazkem /boot v budoucím swap oddílu.
Po instalaci základního systému a SSH pro vzdálenou administraci systém
nenabootoval s distribučním jádrem
kernel-image-2.6.8-11-amd64-k8-smp
, které je pro Opterony přímo
určené. Hned při začátku bootu jádra došlo k chybě. Problém jsem vyřešil snadno
– instalací vanilla kernelu 2.6.13
(právě kvůli jeho kompilaci jsem chtěl mít jádro s podporou SMP, aby bylo
možné využit více procesorů a jejich jader).
Kernel se zkompiloval a nabootoval bez problémů, .config opět vycházel z Debianu, konkrétně z nefunkčního SMP jádra. Vypnul jsem v něm jenom pár zbytečností, takže půjde ještě snadno zmenšit.
S podporou SMP v jádře systém vypadá jako se 4 procesory, pokud se podíváte
na výpis blíže, uvidíte, že u každého procesoru je vidět core id
a celkový počet jader na procesoru (cpu cores
).
quadro:~# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 33
model name : Dual Core AMD Opteron(tm) Processor 275
stepping : 2
cpu MHz : 2205.038
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4418.90
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 33
model name : Dual Core AMD Opteron(tm) Processor 275
stepping : 2
cpu MHz : 2205.038
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4410.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 2
vendor_id : AuthenticAMD
cpu family : 15
model : 33
model name : Dual Core AMD Opteron(tm) Processor 275
stepping : 2
cpu MHz : 2205.038
cache size : 1024 KB
physical id : 1
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4410.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
processor : 3
vendor_id : AuthenticAMD
cpu family : 15
model : 33
model name : Dual Core AMD Opteron(tm) Processor 275
stepping : 2
cpu MHz : 2205.038
cache size : 1024 KB
physical id : 1
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm
3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 4410.32
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
Pro systém představuje deska s dvěma dual-core opterony 4-cestný systém, proto 4 tučňáci v Knoppixu. *** Procesory jsou schované v pouzdře pod masivním chladičem. *** Uchladit takový stroj v 1U není snadné, o proudění vzduchu vhodné do racku (tedy nasávat vpředu, vyfukovat vzadu) se stará několik větráčků.
V druhém a současně závěrečném díle popíši hardware a jeho podporu detailněji a také se podíváme na některé výkonnostní testy.