Hlavní navigace

Nastal čas nahradit uzavřené děravé procesory otevřenou alternativou?

Petr Krčmář

Chyby Spectre a Meltdown znovu otevírají otázky ohledně uzavřenosti vývoje procesorů. Můžeme věřit svému software, když běží na tak složitých a proprietárních procesorech, jakými jsou Intel či AMD?

Doba čtení: 5 minut

Chyby Spectre a Meltdown hýbou světem a ještě dlouho hýbat budou. Není divu, jedná se o jedny z nejvážnějších bezpečnostních chyb historie, pokud ne rovnou ty nejvážnější. Komplexní hardwarová chyba ohrožuje prakticky každého uživatele, ať už používá desktopový počítač, server nebo virtuální stroj někde v cloudu.

Ukazuje se navíc, že nejde jen o dvě chyby v konkrétní implementaci jedné firmy. Podobné problémy mají i procesory jiných značek než jen Intel, takže záchranu nemůžeme hledat ve výrobcích firmy AMD nebo celé plejády výrobců procesorů typu ARM. Můžeme navíc očekávat, že se další problémy podobného druhu ještě objeví, v tak komplexním stroji, jakým je moderní počítačový procesor, je to jen otázkou času.

Možná to hýbe hodnotou akcií jednotlivých firem a bude to jistě znamenat spoustu změn ve vývoji dalších generací jejich procesorů, mohlo by to ale znamenat daleko rozsáhlejší změnu v tomto odvětví: příchod skutečně konkurenceschopného otevřeného řešení. Dočkáme se konečně otevřeného procesoru?

Problém celého rodu

Na zmíněných chybách je zásadní to, že je není možné snadno opravit překreslením několika špatně navržených cest na návrhu čipu. Jason Perlow celý problém přirovnává ke genetické vadě. Pokud máte chybu v DNA, můžete dopady omezit různými druhy léčby, ale nikdy ji doopravdy nevyléčíte. Jedinou skutečnou léčbou je, že poškozený organismus zahyne a je nahrazen jiným.

Podle jeho slov je v současné době takto postiženým druhem právě procesor typu x86, který dominuje dnešním osobním počítačům, serverům a mnohdy i embedded zařízením. Chyba je v nich přitom „genetický zakódovaná“ už od roku 1995, kdy procesory poprvé zavedly nové postupy pro optimalizaci výkonu – jako například provádění instrukcí mimo pořadí (out-of-order executing) nebo predikci skoků.

Ve skutečnosti nejde o dvě chyby, i když by se to podle názvu mohlo zdát, ale obzvlášť v případě Spectre jde o celou škálu různě závažných problémů, které mohou být v budoucnu zneužity. Opět se tedy vracíme k hluboko zakořeněné genetické chybě, která se tímto objevem zviditelnila. Povede to jen k dalšímu zkoumání limitů moderních procesorů a objevení dalších mezer.

Otevřený procesor

Nepříjemná situace opět oživila otázku otevřeného procesoru. Linux se stal v posledních dvaceti letech velmi úspěšným operačním systémem na mnoha různých úrovních, stojí na něm internet, velká řada známých služeb a dokonce už i Microsoft ho podporuje ve svých systémech a v jeho cloudu už běží přes 40 procent linuxových serverů. Když je úspěšný otevřený operační systém, proč by neměl být stejně úspěšný i otevřený procesor?

Vývoj něčeho takového pochopitelně vyžaduje velké finanční prostředky, ale zároveň existuje velké množství firem, které by něco takového rády ve svých datacentrech měly. Google se například dlouhodobě trápí s nevypočitatelným Intel Management Enginem a snaží se jej ze svých datacenter dostat pryč. Podobně na tom je spousta dalších firem, které provozují obří služby: Amazon, Microsoft, Oracle a mnoho dalších.

Část z nich navíc přímo staví na Linuxu, který poměrně snadno umožňuje odpoutat se od existujícího hardware, zahodit vrstvy kompatibility a zaměřit se na něco nového. Spojení otevřeného operačního systému a procesoru (či hardware obecně) je proto nasnadě. Google přece nemusí kupovat procesory kompatibilní s x86. Pokud bude existovat dostatečně rozumná alternativa nabízející konkrétní výhody v podobě otevřenosti, auditovatelnosti a díky konkurenci třeba i nižší ceny, může se rozhodnout přehodit výhybku.

Nově nastolená otázka tedy zní: Není na čase přestat o procesorech uvažovat jako o uzavřených černých krabičkách, které si musíme povinně kupovat od několika málo obřích firem jako Intel, AMD nebo ARM?

No jo, ale který?

Myšlenka to není nová, v minulostí se jí skutečně vážně začalo zabývat několik různých společností. Zatím ale hlavní chybějící složkou byl slabý zájem ze strany spotřebitelů – velkých firem. Intel to uměl dobře, bylo to standardní řešení bez práce a za celkem rozumnou cenu. Nálada se ale v posledních měsících prudce změnila a hlavně mezi velikány začíná být cítit chuť s tím něco dělat.

Před deseti lety se dnes už neexistující společnost Sun Microsystems rozhodla otevřít procesor UltraSPARC T2 pod licencí GNU GPL v rámci projektu OpenSPARC. Zveřejnila opravdu ohromné množství veškeré dokumentace a předpokládala, že se toho trh chytí a začne pracovat na něčem přelomovém. Bohužel k tomu nedošlo, pak byla firma pohlcena Oraclem a ten svým přístupem odrazuje jakékoliv další snahy o zapojení do libovolného projektu s ním spojeného.

V principu je to ale přesně to, co by svět potřeboval: úvodní šťouchnutí od někoho velkého. Mohlo by to být IBM, které by v rámci OpenPOWER Foundation mohlo zveřejnit kompletní podklady třeba k procesorům POWER9. Pokud by licence zajišťovala volný přístup k technologii bez zatížení licenčními či patentovými poplatky, byl by to jistě zajímavý impuls.

Ale nejsou to jen velké firmy, které se do něčeho podobného pouštějí, nezapomeňme například na nedávno zveřejněný procesor RISC-V, který pochází z univerzity v Berkeley. Více v rozsáhlém článku Pavla Tišnovského. Podobných aktivit je celá řada, otázkou je, na kterou z nich se rozhodnou naskočit velcí poskytovatelé služeb.

Pokud bude vůle

Jako Linux proměnil náš pohled na operační systémy, mohly by otevřené procesory zcela proměnit naše vnímání datacenter a cloudu. Bylo by s nimi možné odpoutat se od jednoho dodavatele a vytvořit otevřené konkurenční prostředí, které by navíc bylo výrazně flexibilnější a umožnilo by například rychlé hledání a odstraňování chyb.

MIF18 tip v článku Steiner

Jason Perlow však také upozorňuje na možná rizika, jako například riziko roztříštěnosti. Jeden výrobce a jednotná architektura přinášejí velký komfort v tom, jak používáme počítače na různých úrovních od desktopu po server. S otevřením prostředí bychom se mohli snadno dostat do stavu, kdy by každý výrobce měl vlastní mírně nekompatibilní verzi. To už je ale riziko svobody.

Ve skutečnosti potřebujeme vytvořit něco nového, osvobozeného od staré zátěže, která řídí celé odvětví a táhne ke dnu posledních 40 let. Stejně jako jsme to udělali s Linuxem, uzavírá Perlow.

Našli jste v článku chybu?