AMD Opteron Server – Část 2 (Síla 64 bitů)
V první části tohoto seriálu jsme se zabývali hardwarem AMD64 serveru. V dnešním článku se podíváme na některé vlastnosti AMD64 a také na to, jak v současnosti vypadá podpora v Linuxu.
10.5.2004 23:00 |
Jan Houštěk
| Články autora
| přečteno 24451×
AMD64, x86-64, x86_64?
Kolem jmen této architektury je celkem zmatek. Původně se nazývala x86-64, a
na poslední chvíli se u AMD rozhodli pro poněkud samolibý název AMD64.
Původní x86-64 bude ještě dlouho k nalezení v software i dokumentaci, ovšem
postupně by mělo být nahrazeno novým názvem. Něco málo o tom
píše Marc Miller z AMD do listu
discuss@x86-64.org.
Varianta s podtržítkem je taktéž zmatečná. Není v tom žádný vyšší princip,
pouze nutnost nahradit v některých případech spojovník. Jako hlavní důvod
je většinou vytahován termín "filesystem conventions", osobně se domnívám,
že ve skutečnosti jde hlavně o autoconf/configure, které se neumí vypořádat
se spojovníkem v názvu architektury. Není divu, pokud bychom v zápisu
x86_64-gnu-linux-pc nahradili podtržítko spojovníkem, nebylo by možné
určit architekturu bez předchozí znalosti všech možností obsahujících
spojovník.
Architektura AMD64
Ve světě x86 se již hodně dlouho neudála žádná zásadní změna, pouze se
zrychlovaly šváby a sem tam se přidala nějaká ta instrukce (MMX, SSE apod.).
Klíčové vlastnosti jako adresace instrukcí, segmentace paměti, či instrukční
sada se nezměnily od i386, jenž lze považovat za poslední opravdu revoluční
procesor.
Nejpodstatnější (a někým též nejzatracovanější) vlastností nové platformy
AMD64 je 100% kompatibilita s x86. Pro stávající 32bitové aplikace se nic
nemění, lze je provozovat v 64bitovém OS nebo dokonce použít celý stávající
32bitový OS. AMD tvrdí, že cena za tuto kompatibilitu není velká, údajně nemá
žádný vliv na výkon 64bitových aplikací a počet tranzistorů zvyšuje jen o
2%–3% (tomu druhému by se dalo i věřit vzhledem k tomu, že většina
tranzistorů je v L2 cache :). 32bitové aplikace přitom stále mohou profitovat z
některých inovací, jako je rychlý přístup do paměti, takže poběží o něco
rychleji, než na srovnatelných 32bitových Athlonech.
Podívejme se nyní, jak je 64bitové rozšíření x86 realizováno. Je přidán nový
režim procesoru nazvaný prozaicky long mode. Tento režim je kontrolován
obsahem bitu zvaného LMA (Long Mode Active). Je-li LMA = 0,
procesor se chová jako standardní x86 procesor a je kompatibilní se všemi
možnými i nemožnými 32bitovými a 16bitovými aplikacemi. Long mode se dělí
ještě na dva sub-režimy, 64-bit mode a compatibility mode.
Compatibility mode i legacy mode umožňují spouštění 16 a 32bitových aplikací,
rozdíl je ten, že na compatibility mode je potřeba 64bitový OS a není možné
použít takové archaismy jako reálný režim nebo virtuální 8086 režim.
64bitový režim přidává mj. tyto vlastnosti:
- 64bitové adresy, lineární adresový prostor
- 8 GPR (General Purpose Registers, obecné registry) je rozšířeno na
64 bitů (což se dalo očekávat, "bitovost" procesoru je dána právě
šířkou GPR)
- přidáno dalších 8 64bitových GPR (R8–R15)
- přidáno 8 128bitových SSE registrů (XMM8–XMM15)
- SSE a SSE2. Opteron a Athlon64 jsou prvními procesory od AMD, které
implementují SSE2 instrukce. Navíc tyto instrukce mohou využít 16 XMM
registrů, což je dvojnásobný počet, než má P4. Standardní x87 koprocesor
je stále přítomen, ale SSE2 by téměř vždy mělo být rychlejší.
Co tedy skutečné AMD64 procesory umí? Kromě ne tak zajímavých vylepšení jako
je 1MB L2 cache u Opteronů, non-executable pages, IOMMU a další, máme zde
dvě podstatné až revoluční inovace – integrovaná řadič paměti
a HyperTransport sběrnice.
Přístup do paměti
Ve stávajících x86 systémech spočívá přístup CPU do paměti v několika krocích.
CPU je přímo připojeno na FSB sběrnici (Front-Side Bus) pracující na podstatně
nižší frekvenci než samotné procesorové jádro. FSB připojuje CPU k čipu
zvanému NorthBridge, který teprve integruje řadič paměti. Tento přístup má dva
nedostatky; FSB přestává stačit potřebám dnešních procesorů a škáluje se jen
velmi špatně, jediná možnost, jak toho dosáhnout, je zvyšováním taktovací
frekvence, což není tak snadné, protože se tomu musí přizpůsobit všechny
připojené subsystémy. Druhý problém je, že existence "prostředníka" přidává
jisté zpoždění (navíc občas je dokonce třeba na NorthBridge čekat).
Řešení, se kterým AMD přišla, je vskutku zajímavé. Opteron a Athlon64 mají
řadič paměti integrovaný přímo v CPU. Kromě zjevných výhod má toto i jeden
podstatný důsledek pro víceprocesorové systémy. Zatímco řešení se společným
řadičem paměti je jako dělané pro SMP architekturu, řešení s integrovaným
řadičem v procesoru připomíná NUMA. Obecně lze toto považovat za posun
správným směrem, NUMA se totiž podstatně lépe škáluje a s dobře navrženými
aplikacemi má většinou i lepší výkon. Většina aplikací a OS ale očekává
SMP. Proto AMD přišla s hybridním přístupem zvaným SUMO (Sufficiently Uniform
Memory Organization), což je zjednodušeně řešeno způsob, jak zařídit, aby se
systém s fyzickou NUMA architekturou tvářil jako SMP (stále je přitom možné
těžit z výhod NUMA). SMP "emulace" je zajištěna rychlou komunikací
mezi procesory, která je realizované zcela novou sběrnicí jménem
HyperTransport.
HyperTransport
HyperTransport je vysokorychlostní fullduplexní point-to-point spoj mezi
integrovanými obvody. Má jednoduchý návrh, vysokou rychlost, nízké latence
a je dobře škálovatelný. Jednotlivé linky lze škálovat jak ve frekvenci, tak
šířce přenosu. Základní frekvence je 200MHz, současné implementace používají
většinou 800MHz. Další flexibilita je dosažena možností použit různou šířku
přenosu pro jednotlivé linky (2, 4, 8, 16 nebo 32 bitů). 16bitové
HyperTransport zařízení lze spojit s okolím pomocí 2, 4, 8 nebo 16bitového
linku. Nejrychlejší 32bitový link dokáže přenášet až úctyhodných 12,8 GB/s
(součet v obou směrech).
Opteron má 3 16bitové HT linky a jeden 8bitový. Ve dvouprocesorových systémech
je 8bitový link (3,2 GB/s) použit na připojení pomalejších IO zařízení (včetně
32bitové PCI sběrnice), jeden 16bitový link na připojení rychlých IO zařízení
(např. PCI-X) a zbývající dva linky jsou spojeny do jednoho 32bitového a
použity ke vzájemnému propojení procesorů. Levnější Athlony64 mají pouze jeden
8bitový a jeden 16bitový link. To stále umožňuje použít je v 2-way
konfiguraci. S Opterony jsou pochopitelně realizovatelné i více než
dvouprocesorové systémy, na obrázku je znázorněno, jak vypadá zapojení HT
linků se čtyřmi Opterony.
Následující diagram demonstruje škálovatelnost HyperTransport sběrnice.
Kdo skutečně potřebuje AMD64?
AMD64 bude velmi pravděpodobně vhodné v následujících případech:
- Pro jakékoliv aplikace, které potřebují spoustu paměti, na desktopu např.
různé CAD a podobné systémy, na serveru velké databáze.
- Pro jakýkoliv systém, na kterém je současně obsluhováno velké množství
současně pracujících uživatelů nebo aplikačních vláken, např. server pro velké
množství tenkých klientů, databáze, aplikační servery (včetně webových
aplikací).
- Pro aplikace, které využijí operace s 64bitovými registry a/nebo SSE2
instrukce. Např. různé vědecké či jiné výpočty, výpočty s vysokou přesností,
zpracovaní videa/zvuku, rozpoznávání řeči, vytváření nejrůznějších modelů,
šifrování, komprese aj.
- Pro víceprocesorové systémy. AMD64 je podstatně lépe škálovatelné co do
počtu CPU, než libovolné x86 řešení.
- Pro každou aplikaci, u které hrozí útok typu buffer-overflow nebo podobný.
Díky non-executable stránkám bude útok na podobné zranitelnosti podstatně
komplikovanější.
Kryptografické a příbuzné aplikace, které intenzivně používají operace s
velkými čísly, zaznamenají patrně na AMD64 dramatický nárůst výkonu. Např.
jedna aritmetická operace se 128bitovým číslem potřebuje na x86 60 instrukcí
(16 mul, 29 adc, 15 add), zatímco na AMD64 stačí pouhých 12 (4 mul, 5 adc, 3
add). Doba vykonání se sice nepatrně liší pro 32bitové a 64bitové operandy, i
tak je ale význam 64bitů pro kryptografii více než zřejmý. Pro
vysokorychlostní VPN router či server poskytující velké množství šifrovaných
dat je AMD64 jasná volba.
V další části se na toto podíváme podrobněji a provedeme několik benchmarků
na serveru popsaném v minulém dílu.
Linux na AMD64
Jak bylo již zmíněno, libovolný x86 operační systém je schopný fungovat na
AMD64 v legacy režimu, použití AMD64 je v takovém případě ovšem jaksi
zbytečné. Podívejme se tedy na nabídku skutečně 64bitových systémů.
Microsoft již delší dobu pracuje na 64bitové verzi Windows (nyní –
květen 2004 – je k dispozici betaverze, zlí jazykové tvrdí, že
na release 64bitových Windows si budeme muset počkat ještě 64 let :) SUN má
Solaris 10 a vývojové verze FreeBSD a NetBSD taktéž podporují AMD64.
Linux běží na AMD64 velmi dobře (není tajemstvím, že v současné době ze všech
podporovaných systémů nejlépe). Poslední verze kernelu 2.4 obsahují podporu
AMD64, jsou ovšem postupně vytlačovány verzí 2.6, která by teprve měla ukázat
AMD64 v plné síle. Téměř všechny velké linuxové distribuce mají AMD64 verze.
Některé jsou v následujícím seznamu spolu s dostupností (uvažovali jsme jen
oficiální stabilní verze).
- SUSE 9.0 (k dostání v krabicích nebo na FTP)
- SUSE 9.1 (zatím jen krabice, FTP edition bude co nevidět)
- (SUSE) SLES 8 (krabice)
- Mandrake 9.2 a 10.0 (krabice, ovšem zdrojová SRPM jsou na FTP)
- (Mandrake) Corporate Server 2.1 (krabice)
- Gentoo 2004.1 (FTP, je třeba zkompilovat)
- Fedora FC1 (FTP)
- (RedHat) RHEL 3 (krabice, zdrojová SRPM na FTP)
Slackware zatím AMD64 nepodporuje a ani se o to v současné době vývojáři
nijak nesnaží. Debian má silně vývojovou verzi (v tomto okamžiku je již
zkompilována většina balíčků, ovšem seznam chyb a problémů je pekelně dlouhý).
Není ovšem vyloučeno, že nová stabilní verze přidá další položku do seznamu
podporovaných platforem.
Tento server včetně nainstalovaného a nakonfigurovaného Linuxu nabízíme
v našem Linux CD Shopu za
89 000 Kč včetně DPH.
Zdroje
Verze pro tisk
|
Nejsou žádné diskuzní příspěvky u dané položky.
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|