18. 10. 2011

CELL - C ako cesta, časť druhá

Ako cieľovú výkonnostnú métu pre CELL procesor si zvolili 1 TFLOP - 160 násobok Emotion Enginu PS2ky. Toshiba tlačila do popredia svoj asymetrický Force System, teda jedno riadiace CPU a veľa jednoduchých RISC procesorov s architektúrou VLIW /very long instruction word - veľký výkon s málo komplexným čipom, avšak s komplikovanejším kompilérom/. Jim Kahle z IBM chcel symetrický design založených na viacerých jadrách - derivát ich Power 4ky. A pretože už vieme, že Toshiba sa s IBM príliš nemusela, vládlo tu napätie a dusno. V jednej chvíli niekto z Toshiby povedal, že možno ani žiadne centrálne CPU potrebovať nebudú. To už Jim na pravidelnom sedení vybuchol a skríkol, že podobný návrh oni nikdy nepodporia. Ich úloha by sa vlastne týmto scvrkla iba na prostú výrobu čipu. Yamazaki ďaleko viac inklinoval ku IBM riešeniu a aj preňho hlasoval. Kutaragi však tento myšlienkový smer rázne zastavil, chcel obmedziť "počet pinov" a teda aj výrobnú cenu CELLu s patričnou matičnou doskou. Vznikol teda kompromisný hybrid kombinujúci centrálny IBM Power4+ procesor obklopený menšími a jednoduchšími sub CPU jednotkami /APU-SPE/. Tie mal pod patronátom aj Peter Hofstee, jeden z architektov prvého 1 Ghz Power CPU.



1xPPE /dual thread/ + 8xSPE /single thread/, cca 210 GFLOPs na 3.2Ghz

Hrubé základy CELL čipu sa položili na jeseň roku 2000, teda presne rok po predstavení PS2 prototypu na TGS 1999 !! CELL bol kuriozitou od prvého dňa, jeho subjednotky napríklad nedisponovali žiadnou "keškou". Každá mala namiesto toho malú dedikovanú lokálnu pamäť /LS -local storage/ o veľkosti 128KB. Pod tlakom Yamazakiho, ktorý už vtedy videl benefity tohto riešenia tento návrh prešiel aj do finálneho designu. Len sa veľkosť LS zvýšila na 256KB, ešte dalšiemu navýšeniu už bránila narastajúca latencia pri spracovaní dát. Ďalší boj sa odohral na poli inštrukčnej sady pre SPE-APU jednotly. Toshiba navrhovala VLIW s /viac podobné štandardnému CPU modelu/, IBM chcelo SIMD /single instruction - multiple data, akcelerácia objektovo orientovaného programovania/. V tomto kole zvíťazilo IBM.

Súboj pokračoval v počte potrebných inštrukcií pre toto nové SIMD APU. Suzuoki navrhol 200 inštrukcií, hlavne po skúsenostiach s programovaním pre vektor jednotky EE CPU. Avšak jeden starý prďola z IBM - Marty Hopkins /pracoval na slávnom IBM RISC 801 CPU/ čosi len tak načarbal na papier /ukážku v strojovom kóde/ a neskoršími simuláciami sa dokázalo, že menej je v tomto prípade skutočne viac. Išlo zároveň o jeho poslednú prácu pre IBM, Martyho návrh má cca 100 inštrukcií.

Na jar roku 2011 bola konfigurácia CELL BE procesoru stanovená na 4xCELL bunku, každá s 8xSPE na 4GHz, teda 32 SIMD APUs = 1 TFLOP. Mozgovým centrom vývoja sa stal americký Austin. Výzkumné centrum IBM. Tu sa zhromaždilo cca 400 inžinierov troch firiem, medzi nimi ďalšie kapacity ako Eiji Kasahara /další ex NEC/, Haruyuki Tago z Toshiby, Ted Maeurer /IBM/, Michael Day /IBM/. Čo meno to pojem. Leto roku 2001 však prinieslo aj prvé vážne technologické problémy. Odber prúdu pre 1TFLOPs 4x CELL riešenie bol gigantický a v podmienkach konzoly nerealizovateľný. Mierne obavy preto mali všetci z Kenovej reakcie. Napriek zníženiu počtu SPE z 8 na 6, alebo CELL buniek na dva z pôvodnych štyroch sa problém stále nepodarilo vyriešiť. Svoju hnusnú tvár ukázala aj finančná náročnosť pri zamýšlanom 90nm procese. CELL s výkonom 1 TFLOP bol proste príliš drahý a papal príliš veľa šťavy. Pochopiteľne s tým súvisí aj "odpadné teplo" a množstvo neúspešných redizajnov chladenia jednotlivých prototypov.



PS3 - najdrahší vývoj, najdrahšia konzola

Škrípanie zubov teda doprevádzalo rozhodnutie Kutaragiho akceptovať degradáciu na riešenie 1xCELL na 3.2Ghz s 8xSPE a teda výkon na úrovni cirka 256 GFLOPS. Aby toho nebolo málo, "vyťaženosť" čipov z IBM FAB továrne bola prekliato nízka. Teda množstvo 100% funkčných CELL procesorov. Problém bol hlavne so stabilitou SPE jednotiek. Vtedy sa vlastne prikročilo ku ďalšej redukcii designu a do PS3 sa montovali všetky CELL procesory s aspoň siedmymi funkčnými SPE. Ta ôsma aj keď náhodou funkčná bola - je vždy "odpojená". IBM ešte k tomu prilepilo vysokovýkonné zbernice od firmy Rambus počas vývoja PS3 známe pod pracovnými názvami projekt Yellowstone a Redwood /XDR radič a Flexio/ a CELL bol definitívne hotový.

Napriek označeniu CELL Broadband Engine sa nikdy nepodarilo vzhľadom na primitívnu online infraštruktúru - naplniť predstavu o distribuovaných "broadband" výpočtoch po sieti. Kutaragiho sen o matrixe. Zlýhal tiež grafický návrh Toshiby /majú na triku aj grafickú časť pre PS2/ - ich extremne výkonný rasterizér sa nedal za rozumnú cenu vyrobiť a Kutaragi nakoniec aj tak potreboval hlavne softvérovú kompatibilitu na úrovni DirectX a OGL APi. Preto na konci roka 2003 oslovili Nvidiu a napasovali tam neskôr ich NV 7800 pod názvom RSX, avšak s výkonom znížením asi o polovicu kvôli redukcii počtu ROPs /raster jednotky z 16 na 8/ ako následok zúženia zbernice do grafickej pamäte - z 256 na 128 bitov. Išlo o rozhodnutie Kutaragiho, ktoré malo v budúcnosti priniesť okrem mora výkonnostných problémov aj možnosť rýchleho zmenšovania grafického čipu a teda pokles ceny /čo bol bohužiaľ primárny cieľ/. V roku 2005 na E3ke šéf Nvidie povedal, že RSX je rovná výkonom dvojici GeForce 6800 Ultra.

Ďalšia história je už dobre známa. CELL sa nakoniec presadil iba ako CPU pre jednu konzolu. IBM s jeho serverovým využitím veľa vody nenamútila, napriek ďalším výrazným vylepšeniam /D2 verzia v konfigurácii 2xPPE + 16xSPE/. Toshiba a jej SPURS multimediálne akcelerátory v so 4xSPE na polovičnom takte síce fungovali, trh však neprejavil väčší záujem. Ken Kutaragi niesol následky za výslednú cenu PS3 spôsobenú hlavne dvojicou ním protežovaných súčastí PS3, prvou je pochopiteĺne CELL, druhou veľmi drahá BD mechanika. Na jeseň roku 2006 bol za trest odvolaný z funkcie prezidenta SCE - Sony Computer Entertainment. V jari 2007 odišiel aj z funkcie čestného "odoženého šéfa", aby v lete roku 2011 skončil vo funkcii "staršieho" technologického poradcu, bez akýchkoľvek veliacich právomocí. Ešte pred tým však na jeseň roku 2009 IBM ohlásilo zrušenie naplnenia pôvodného projetku "CELL 4xPPE+32xSPE1 - TFLOP" a táto mimoriadne drahá a ambiciózna kapitola z vývoja revolučných mikroprocesorov sa považuje za definitívne ukončenú.

Patrí sa ešte povedať, že CPU v bill šmejde je tiež produktom IBM, a jeho tri symetrické PPE jadrá, de fakto identické a riadiacim CPU CELLu a mimochodom ukradnuté od SONY - vlastne naplnili tú predstavu, ktorú v IBM už raz plánovali pre PS3, ale Ken im to zatrhol. Ken je pasé. Ostal však Takeshi Yamazaki, ktorí ako vieme uprednostňoval tiež riešenie od IBM. Vieme aj to, že IBM získalo zákazku pre všetky tri konzoly ďalšej generácie - Wee Urinal, xcrap 720 a PS4. Keďže tu už niet vizionára Ken Kutaragi a Yamazaki to má teraz pevne pod palcom je pravdepodobné, že sa dočkáme nejakého veľmi jednoduchého a prehĺadného riešenia založeného na Power7+, alebo PowerA2 IBM architektúre. Veľa symetrických jasier, homogénna- jednotná ISA /inštrukčný set, PS2 a PS3 rozdielne inštrukčné sety pre EE a VU, alebo PPE a SPE/ a veľa threadov.

Playstation Vita nám túto filozofiu už celkom jasne naznačila. Obsahuje masovo rozšírené, mierne modifikované, lacné a výkonné CPU/GPU čipy od PowerVR a ARM. A vzhľadom na ich prítomnosť v každom druhom mobile a tablete to umožní bleskurýchle znižovanie ceny. Ešte sa vrátim ku PS3. Ako vidíte bojovalo sa tam o každý meter - CPU, GPU, BD mechanika, pamäť /SONY určite reagovalo na jej zvýšenie pri xcrape z 256 na 512 mega/ a v ktoromkoľvek bode sa vlastne mohlo rozhodnúť v prospech niektorej z početných myšlienkových línií. Ken si vtedy ešte mohol dovoliť ten luxus uvažovať - veľkoryso. Dnes v čase ekonomickej krízy a konca kapitalizmu to dá vznik už "len" rýdzo pragmatickej a funkčnej konzoly bez výstrelkov. PS4.