Představení procesoru Cell

Matthew Scarpino na základní úrovni vysvětluje, co je procesor Cell a jak funguje.

V září 2007 vyhlásila Guinnessova kniha rekordů nového držitele rekordu pro nejvýkonnější distribuovaný výpočetní systém na světě. Nešlo o tradiční cluster výkonných počítačů, ale o celosvětovou síť složenou z běžných počítačů a konzolí PlayStation 3 (PS3). Tento distribuovaný výpočetní systém, nazvaný Folding@Home, simuluje skládání proteinů a analyzuje, jak vznikají nemoci.

Před zapojením počítačů PS3 byla síť schopna dosáhnout výkonu pouze 0,25 petaflops (250 000 000 000 000 000 operací s pohyblivou řádovou čárkou za sekundu). Když však klient Folding@Home začal běžet na počítačích PS3, rychlost výpočtů se během šesti měsíců zečtyřnásobila a Folding@Home se tak stal prvním distribuovaným výpočetním systémem, který překonal hranici 1 petaflopu.

Tabulka 1.1 objasňuje význam počítačů PS3 v síti Folding@Home. Konzolí není zdaleka tolik jako PC, ale poskytují větší výpočetní výkon než počítače s Windows/Mac/Linuxem dohromady.

Tabulka 1.1. Statistiky výkonu Folding@Home (zaznamenáno 16. dubna, 2008)

Typ operačního systému

Aktuální počet Pflops

Aktivní procesory

.

Celkový počet CPU

Windows

190,892

1 986 517

Mac OS X/PowerPC

8 478

114,326

Mac OS X/Intel

7,428

45,480

Linux

27,796

286,172

PlayStation 3

40 880

492,491

Obrovský výpočetní výkon systému PS3 zajišťuje širokopásmový procesor Cell Engine, běžně nazývaný Cell nebo jen Cell. Cell, vyvinutý sdružením STI Alliance (Sony, Toshiba a IBM), kombinuje univerzální schopnosti architektury IBM PowerPC s dostatečným počtem čísel, aby uspokojil i ty nejnáročnější hráče a vývojáře grafiky.

Co to pro vás znamená? Znamená to, že můžete využívat to nejlepší z obou světů: výpočetní flexibilitu a výkon. Na jedné straně můžete na Cell nainstalovat běžný operační systém, například Linux, a spouštět aplikace stejně pohodlně, jako by běžely na počítači PC. Na druhé straně můžete implementovat výpočetně náročné algoritmy rychlostí, která dalece převyšuje běžné procesory a dokonce konkuruje superpočítačům.1 Ještě neuvěřitelnější je, že můžete dělat obojí najednou.

Cell to umožňuje díky dělbě práce na čipu: Operační systém běží na jediném procesorovém prvku PowerPC (PPE) a vysokorychlostní výpočty provádí řada synergických procesorových prvků (SPE). Tyto dva typy jader jsou speciálně navrženy pro své úkoly a každé podporuje jinou sadu instrukcí.

Tyto výpočetní prvky jsou jednotlivě snadno pochopitelné a jednoduše se programují. Obtížnější je koordinovat jejich činnost tak, aby se co nejlépe využily jejich silné stránky. Aby toho programátor dosáhl, musí znát programovací příkazy specifické pro buňky a mít důkladnou znalost architektury zařízení: jeho výpočetních prvků, propojení a struktury paměti.

Účelem této knihy je pokrýt tato témata dostatečně do hloubky, abyste mohli vytvářet aplikace, které maximálně využijí možnosti buňky. Velká část tohoto pojednání se zabývá architekturou procesoru, ale pouze těmi aspekty, které můžete používat a konfigurovat v kódu. Některá témata mohou těm, kteří nejsou zvyklí uvažovat jako počítačoví architekti, připadat zdrcující, ale nemějte obavy: Vše bude vysvětleno podle potřeby. A cílem této knihy je vždy software.

Cílem této kapitoly je vysvětlit na základní úrovni, co je procesor Cell a jak funguje. Pojednání začíná popisem pozadí procesoru Cell, včetně jeho historie a možností, a pokračuje představením základní architektury procesoru.

1.1 Pozadí procesoru Cell

Procesor Cell je natolik odlišný od svých předchůdců, že vám pomůže informace o tom, proč byl vytvořen a jaké firemní síly formovaly jeho návrh. Až zjistíte, proč společnost STI Alliance věnovala vývoji Cell tolik času a úsilí, budete mít lepší představu o tom, proč se vám jeho poznávání vyplatí.

Historie Cell

Společnost Sony dokončila vývoj systému PlayStation 2 v roce 1999 a následující rok jej uvedla na trh. I přes její obrovský úspěch byl tehdejší generální ředitel Nobuyuki Idei nervózní: Jak může konzole Sony nové generace překonat PS2? Co ještě může dokázat? Rozhodl se, že odpověď je dvojí: Příští nabídka musí integrovat širokopásmové multimediální funkce a výrazně zlepšit grafické zpracování. Tyto vysoké cíle vyžadovaly zcela nový hardware, a aby to bylo možné, poradil se s tehdejším generálním ředitelem IBM Louisem Gerstnerem. Společně vytvořili koncept, který nakonec vedl ke vzniku procesoru Cell.

Šéf společnosti Sony Computer Entertainment Ken Kutaragi upřesnil požadavky na hardware a vznesl požadavky, které daleko přesahovaly současný stav techniky. Ken Kutaragi si představoval každý procesor jako stavební prvek většího síťového celku a nazval zařízení Cell. V souladu s původním záměrem Nobuyuki-sana se projekt začal nazývat Cell Broadband Engine (CBE). Tento název zůstává oficiálním názvem procesoru Cell.

Toshiba projevila zájem o využití Cell ve své spotřební elektronice a v roce 2001 společnosti Sony, Toshiba a IBM oznámily vytvoření aliance STI. Jejich deklarovaným záměrem byl výzkum, vývoj a výroba přelomové architektury procesoru. Vytvořily STI Design Center v Austinu v Texasu, aby proměnily požadavky CBE ve skutečnost.

Jim Kahle jako hlavní architekt Cell viděl, že požadavky CBE nelze splnit tradičním jednojádrovým procesorem – nároky na výkon by byly příliš velké. Místo toho zvolil energeticky úspornější návrh, který do jediného čipu začlenil více výpočetních jednotek. Konečná architektura se skládala z devíti jader: jednoho centrálního výpočetního prvku a osmi vyhrazených prvků pro vysokorychlostní výpočty.

V době psaní tohoto článku se STI Design Center rozrostlo na více než 400 inženýrů. Dr. H. Peter Hofstee, jeden ze zakládajících konstruktérů buňky, zastává funkci hlavního vědce a hlavního architekta SPE. V nedávné prezentaci uvedl hlavní cíle, které vedly k návrhu Cell:

  1. Vynikající výkon v herních a multimediálních aplikacích
  2. Odezva uživatele a sítě v reálném čase
  3. Použitelnost na široké škále platforem

V roce 2004 vyrobil závod IBM na výrobu polovodičů v East Fishkill první prototyp Cell. Inženýři STI nainstalovali systém Linux a testovali procesor při rychlostech přesahujících běžně udávaný rozsah 3 až 4 GHz. Prototyp prošel. V následujícím roce společnosti Sony a IBM horečně pracovaly na integraci zařízení do nové generace konzolí Sony a očekávaní hráči poprvé spatřili PlayStation 3 na veletrhu Electronic Entertainment Expo (E3) v roce 2005.

V listopadu 2006 byla PS3 uvedena na trh v plném rozsahu a historky o dlouhých frontách a sotva příčetných zákaznících budou bavit personál prodejen ještě dlouhá léta. Kromě výkonného procesorového mozku Cell poskytovala nová konzole rozlišení až 1080p a mechaniku Blu-ray pro video ve vysokém rozlišení.

V témže roce vydala společnost IBM první sadu pro vývoj softwaru CBE (SDK), která umožnila vývojářům vytvářet aplikace pro Cell. SDK poskytuje kompilátory pro oba typy výpočetních prvků, kombinovaný simulátor/debugger, četné knihovny kódu a vývojové prostředí Eclipse. Velká část této knihy se zabývá sadou SDK a tím, jak ji můžete používat k vytváření aplikací.

V polovině roku 2008 byl v Národní laboratoři v Los Alamos testován první superpočítač založený na platformě Cell, nazvaný IBM Roadrunner. Roadrunner, který obsahoval 12 960 procesorů Cell a 12 960 procesorů Opteron, dosáhl rychlosti zpracování 1,026 petaflops a stal se nejrychlejším ze superpočítačů na seznamu TOP500. Jeho rychlost je více než dvojnásobná ve srovnání se superpočítačem BlueGene/L, který se umístil na druhém místě s hodnotou 0,478 petaflops.

Potenciál procesoru Cell pro vědecké výpočty

V roce 2005 zkoumala Národní laboratoř Lawrence Berkeleyho výpočetní výkon procesoru Cell a svá zjištění zaznamenala ve zprávě The Potential of the Cell Processor for Scientific Computing. Simulovali řadu různých algoritmů a porovnávali výpočetní rychlost Cell s rychlostí podobných procesorů: AMD Opteron, Intel Itanium2 a Cray X1E. V tabulce 1.2 jsou uvedeny jejich výsledky.

Tabulka 1.2. Výsledky studie Lawrence Berkeley National Laboratory (všechny hodnoty v Gflops/s)

Algoritmus

Cel. Procesor

Cray X1E

AMD Opteron

Intel Itanium2

Husté násobení matic (s jednou přesností)

Husté násobení matic. násobení matic (dvojitá přesnost)

Symetrická řídká matice násobení vektorů (s jednou přesností)1

Symetrická matice. násobení řídkých maticových vektorů (dvojnásobná přesnost)1

Nesymetrické Násobení vektorů řídkých matic (s jednou přesností)1

.

Nesymetrické násobení řídkých maticových vektorů (dvojnásobná přesnost)1

2-D rychlá Fourierova transformace (s jednou přesností)2

2-D rychlá Fourierova transformace (dvojitá přesnost)2

Je třeba mít na paměti dva body. Za prvé, výsledky se týkají rychlosti výpočtu v miliardách flopů (operací s plovoucí desetinnou čárkou za sekundu), nikoli času potřebného k provedení algoritmu. Za druhé, protože násobiče buňky první generace jsou s jednoduchou přesností, buňka první generace pracuje mnohem lépe s hodnotami s jednoduchou přesností než s hodnotami s dvojitou přesností. Druhá generace však poskytuje hardwarové násobení hodnot s dvojnásobnou přesností.

Pro inženýra, který se zajímá o zpracování signálů a výpočetní matematiku (jako jsem já), nejsou výsledky nijak ohromující. Studie ospravedlňuje nehorázná marketingová tvrzení: Cell skutečně poskytuje schopnosti superpočítače za téměř stejnou cenu a výkon (přibližně 50 až 60 W) jako běžný procesor.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.