AMD Opteron
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ří.
- 100 % kompatibilita s x86 – na procesoru je možné provozovat 64 nebo 32 bitový systém, dokonce můžete
spouštět 32 bitové aplikace na 64 bitovém systému (pokud to systém podporuje,
setkat se s tím můžete třeba u Linuxu)
- 128 bitový řadič paměti (které může být až 1 TB) je integrovaný
přímo v CPU
- jednotlivé procesory na vícecestných strojích spolu nekomunikují přes
North Bridge, ale přímo a rychleji přes sběrnici HyperTransport
- s více-jadernými procesory se počítalo už v návrhu architektury
AMD64
Dual core
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.
Dual core v podání AMD
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.
Výhody AMD dual-core
- na stávající desku s jedno-jaderným procesorem (940-pin socket) snadno připojíte
více-jaderný procesor (potřeba je např. pouze update BIOSu), u více jaderných
procesorů Intelu je obvykle nutné pořídit novou základní desku
- vyšší výkonnost procesoru se naplno projeví při zatížení aplikací, která
používá vlákna, případně více aplikacemi naráz
- nároky na chlazení by měly být vzhledem k výkonu menší než by byly v případě
ekvivalentního jedno-jaderného systému
Licencování
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.
Hardware
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
Operační systém
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
Závěr prvního dílu
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.
Komerční oznámení:
Tento stroj prodáváme od 143 630 Kč (bez DPH) v
Linux CD Shopu.
Poděkování:
Rád bych za tým Linuxsoftu poděkoval společnosti
Abacus, která nám server na otestování laskavě
zapůjčila. Děkujeme.