LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

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

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ů

15.4.2017 15:20 /František Kučera

Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).


Přidat komentář

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

27.2.2017 22:12 /František Kučera
Pozvánka na 137. sraz OpenAlt – Praha: Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1.3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti. Následně navštívíme jejich datacentrum pod Žižkovskou věží. Provedou nás prostory, které jsou běžnému smrtelníkovi nedostupné!
Po ukončení prohlídky se všchni odebereme do hostince U vodoucha, Jagelonská 21, Praha 3 pochutnat si na některém z vybraných piv či dát si něco na zub. Rezervaci máme od 19:30, heslo je OpenAlt.
Ale pozor! Do prostor datového centra máme omezený přístup, dostane se tam pouze 10 lidí! Takže kdo přijde dříve, ten má přednost, a občanky s sebou! Kdo nebude chtít na prohlídku datového centra, může se pomalu přesunout do hostince U vodoucha a u nepřeberné nabídky piv počkat na ostatní.
Přidat komentář

18.1.2017 0:49 /František Kučera
Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.
Přidat komentář

8.1.2017 17:51 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 19. ledna od 18:30 v pražském hackerspacu Brmlab. Tentokrát je tématem srazu ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. K vidění bude mechanická klávesnice dasKeyboard, trackball Logitech nebo grafický tablet (a velký touchpad) Wacom. Přineste i vy ukázat svoje zajímavé klávesnice a další HW. V 18:20 je sraz před budovou, v 18:30 jdeme společně dovnitř, je tedy dobré přijít včas. Podle zájmu se později přesuneme do nějaké restaurace v okolí.
Přidat komentář

1.12.2016 22:13 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.
Komentářů: 1

4.9.2016 20:13 /Pavel `Goldenfish' Kysilka
PR: Dne 22.9.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, provozování ERP v cloudu, o hostování různých typů softwaru, ale třeba i o zálohování dat nabízeném podnikům formou služby.
Přidat komentář

1.9.2016 11:27 /Honza Javorek
Česká konference o Pythonu, PyCon CZ, stále hledá přednášející skrz dobrovolné přihlášky. Máte-li zajímavé téma, neváhejte a zkuste jej přihlásit, uzávěrka je již 12. září. Konference letos přijímá i přednášky v češtině a nabízí pomoc s přípravou začínajícím speakerům. Řečníci mají navíc vstup zadarmo! Více na webu.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

17.4.2017 19:15 / Jakub shoop
chyba

7.4.2017 15:43 / Som
foreign car repair

31.3.2017 18:33 / David Ostrovsky
Dotazník na obeznámenost s hummusem.

24.3.2017 11:54 / Hui
country cottages

16.3.2017 16:33 / BezvaDesign.cz
Re: Hledám grafika do teamu

Více ...

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