LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 23823×

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.

LMA bit
AMD64 modes

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.

HT links in 4-way Opteron

Následující diagram demonstruje škálovatelnost HyperTransport sběrnice.

HT scalability

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

pridej.cz

 

DISKUZE

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 ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze