Itanium – zapomniana architektura 11


itanium_logoPrzenieśmy się myślą do czerwca 2000 roku. Pecety niemal całkowicie zdominowały rynek komputerów biurkowych i coraz śmielej wkraczają do świata serwerów, chociaż stosowane w „domowych” urządzeniach procesory o architekturze IA-32 (x86) mają wyraźne ograniczenia. Na całe szczęście nie ma powodów do zmartwień. Pozostał już tylko rok do premiery nowej, rewolucyjnej architektury Intela – IA-64. Ma ona nie tylko wyeliminować wszelkie wcześniejsze problemy x86, ale także zupełnie zrewolucjonizować sposób wykonywania obliczeń przez procesor. Jedno z największych na świecie biur analitycznych – IDC – przewiduje, że sprzedaż nowych procesorów osiągnie do 2003 roku wartość 25 mld dolarów rocznie. Nowe układy nie tylko podbiją rynek serwerów, ale zdołają także całkowicie zastąpić wcześniejsze pecetowe x86. Pierwsze modele tych procesorów zostaną wprowadzone do sprzedaży pod nazwą Itanium.

1. Koniec jednej wojny i początek nowej

W roku 2000 wojna pomiędzy różnymi architekturami sprzętowymi już dogasała. Sojusz Wintel (Windows i Intel) odniósł zwycięstwo, a po ziemi co rusz przetaczały się „ścięte głowy” poszczególnych rywalizujących architektur – Motoroli 68K, MIPS, PowerPC. Niektórzy spośród pokonanych wycofali się do konkretnych nisz (np. IBM przeniósł się z architekturą POWER na potężne serwery, MIPS – na systemy wbudowane), inne rozwiązania całkowicie wymarły (przypadek Motoroli 68K). Apple jako ostatni złożył hołd lenny Intelowi, porzucając w 2005 roku PowerPC na rzecz procesorów swojego nowego seniora. Zwycięstwo Intela nie było jednak zupełne – chociaż rywale korzystający z innych architektur zostali pokonani, na rodzimym gruncie x86 nadal istniała duża konkurencja ze strony AMD i VIA, które w roku 2000 radziły sobie całkiem dobrze. Jeśli gigant z Santa Clara chciał osiągnąć pełny monopol, musiał wyeliminować również i tych oponentów. Intel pracował już z HP nad projektem nowej architektury sprzętowej – nadszedł więc czas, by przerzucić większość sił na rozwój tego wynalazku, zbudować szeroki sojusz i wypromować nowość jako następcę x86. Gdyby udało się wdrożyć taki plan w życie, konkurenci trzymający się starej architektury odeszliby w niepamięć. Trzeba przyznać, że Intelowi udało się uzyskać spore wsparcie dla swoich planów – chęć związania swojej przyszłości z nową architekturą zadeklarowały między innymi firmy takie jak HP, Dell, Compaq, Sun, IBM, Microsoft oraz Red Hat, a na nowe procesory miał zostać przeportowany Windows, Unix i Linux. Wszystko zapowiadało rychłe nadejście ofensywy i definitywne wyeliminowanie ostatnich pozostałych na rynku konkurentów Intela.

2. Przegląd nowego oręża

Czym jednak miały być te nowe, rewolucyjne procesory? Dotychczas wojna toczyła się pomiędzy architekturami CISC (Complex Instruction Set Computer) i RISC (Reduced Instruction Set Computer). Ta pierwsza była promowana przez Intela, drugiej trzymali się natomiast konkurenci tego koncernu. Architektura RISC z założenia była wydajniejsza, więc ostatecznie nawet Intel zaczął ją stosować w rdzeniach swoich procesorów, chociaż do dziś przedstawiają się one programiście jako CISC. Wspólnym elementem obydwu tych architektur jest to, że za harmonogram wykonywania instrukcji przez procesor odpowiada bezpośrednio jego budowa. To nie jest błaha kwestia. Ilość instrukcji wykonywanych jednocześnie (IPC – instructions per clock) jest – obok częstotliwości taktowania – najważniejszą cechą świadczącą o wydajności procesora. Nic dziwnego, że sprzętowemu planowaniu wykonywania instrukcji poświęca się wiele uwagi i to właśnie jemu w całości podporządkowane jest rozlokowanie tranzystorów na kości procesora. Wszelkie błędy lub nieoptymalne decyzje mszczą się niemiłosiernie na wydajności, a ponieważ jest to kwestia sprzętowa, jedynym lekarstwem jest wymiana takiego układu. Kiedy inżynierowie Intela i HP opracowywali nowy typ architektury, szczególną wagę przykładali właśnie do tego zagadnienia. Zaprojektowane rozwiązanie zostało nazwane EPIC, co jest skrótem od „Explicitly Parallel Instruction Computing”. Zdecydowano, że ciężar planowania kolejności wykonywania instrukcji zostanie przerzucony ze sprzętu na oprogramowanie. Teraz to kompilator miał samodzielnie grupować instrukcje, które powinny być wykonywane jednocześnie, a rolą procesora było poddawanie się tym decyzjom. Takie rozwiązanie miało zapewnić nowym procesorom bardzo wysoką wydajność, kompilatorowi zaś znaczną elastyczność działania, a co najważniejsze – olbrzymie możliwości optymalizacji kompilacji. To oznaczało szansę na redukcję opóźnień w komunikacji pomiędzy procesorem a pamięcią, dzięki czemu procesory mogłyby liczyć więcej rzeczy równolegle. Jakby tego było mało, procesory EPIC od podstaw projektowano jako układy 64-bitowe, co uwalnia dodatkową moc obliczeniową oraz znosi limit 4 GB RAM-u na aplikację (już wtedy miało to duże znaczenie dla serwerów oraz aplikacji takich jak bazy danych, czy serwery www). Dzięki mechanizmom emulacji nowe układy zapewniały wsteczną kompatybilność z programami pisanymi dla x86 – co prawda w tym przypadku trzeba się było liczyć ze spadkiem wydajności, jednak inne zalety nowej architektury miały to zrekompensować, na dodatek i tak spodziewano się, że wszystkie istotne programy będą sukcesywnie dostosowywane do nowych procesorów. Różnic pomiędzy nowymi i starymi układami było więcej, nie będę się jednak zagłębiał w te kwestie. Podsumowując ten wywód można stwierdzić, iż przewidywana moc obliczeniowa EPIC miała dosłownie zmieść konkurencję Intela z powierzchni ziemi. Nazwa nowej architektury (IA-64) jednoznacznie sugerowała, że jest to bezpośredni następca IA-32, a więc prędzej czy później wszystkich czekałaby migracja.

3. Pierwsza krew

Coś jednak poszło niezgodnie z planem. Premiera nowych procesorów, którym nadano nazwę kodową „Merced”, opóźniała się o kolejne miesiące. Partnerzy Intela, którzy otrzymali prototypy układów, nabierali wody w usta bądź też zupełnie wycofywali się z partnerstwa. Sytuacja stała się dużo bardziej klarowna, gdy w lipcu 2001 roku pierwsze procesory Intela oparte na tej architekturze trafiły do sprzedaży. Układy te nosiły miano Itanium, a nazwę tę przypisano również na stałe do całej serii układów Intela o architekturze IA-64. Procesory zaskoczyły wszystkich, którzy mieli okazję je przetestować. Chociaż były to bardzo drogie układy i miały one rywalizować z IBM POWER oraz Sun SPARC, w ogóle się do nich nie umywały. Ba, w benchmarkach prezentowały nawet gorsze wyniki niż zwykłe procesory x86. Szczególnie problematyczna była właśnie wydajność aplikacji skompilowanych dla architektury x86. W przypadku emulacji na Itanium programy działały nawet dziesięciokrotnie wolniej, niż na natywnej platformie. Kolejnym problemem był bardzo ubogi zestaw aplikacji 64-bitowych. Wyłaniający się spośród tych problemów obraz stanowił olbrzymie zaskoczenie – to była po prostu porażka. Szacuje się, że w przypadku tych procesorów pula rozdana przez Intela była większa niż to, co udało się sprzedać. Nie oznaczało to jednak końca architektury IA-64. Ludzie po prostu czekali na następne wydanie, które naprawiłoby problemy „wieku młodzieńczego” pierwszej serii. Wydawało się też, że trzeba po prostu poświęcić więcej czasu na optymalizację kompilatorów i poczekać, aż dostępna będzie większa ilość oprogramowania. Poza tym i tak nie było wyjścia – Itanium miało przecież zastąpić x86, a nikt nie mógł w nieskończoność poprzestawać na 32-bitowych procesorach.

 

W lipcu 2002 roku (czyli rok po premierze oryginalnego Itanium) Intel wypuścił Itanium 2 o nazwie kodowej McKinley. W nowym układzie wyeliminowano wiele problemów znanych z pierwszej serii, a chociaż wreszcie zaoferowano wydajność podobną do konkurencji, euforia wywołana premierą nowej architektury dawno już minęła. IA-64 nie było już tak bezkrytycznie zachwalane, a Intel skupił się na promowaniu tego rozwiązania jedynie w serwerach korporacyjnych, gdzie można było jeszcze przeboleć koszmarnie wysoką cenę. W ciągu roku Itanium powoli zyskiwało udziały w rynku. W tym okresie przygotowano dla niego systemy operacyjne Windows Server 2003 oraz Red Hat Linux Advanced Workstation 2.1 for the Itanium Processor, a także Red Hat Enterprise Linux 3. Do działania włączyło się również Oracle i przeportowało swoje oprogramowanie do zarządzania bazami danych – kluczowy element niezbędny do funkcjonowania wielu korporacji. Stopniowo wzrastała ilość innych natywnych aplikacji, a procesory Itanium stopniowo zyskiwały na popularności jako następcy 32-bitowych procesorów x86, nawet jeśli proces ten przebiegał naprawdę powoli. Właśnie w tym momencie wydarzyło się coś, co zupełnie zmieniło dalszy bieg wydarzeń – atak, którego nikt się nie spodziewał.

4. EPIC fail

Skrajną naiwnością byłoby oczekiwać, że konkurencja będzie siedzieć z założonymi rękami i obserwować, jak Intel przymierza się do ich eksterminacji, choć równocześnie zmaga się z Itanium. To właśnie AMD zaskoczyło świat, gdy w sierpniu 2003 roku zaoferowało 64-bitowe procesory Opteron. Nowe układy nie wykorzystywały jednak architektury IA-64 – AMD w pewien sposób poszło na łatwiznę i po prostu rozszerzyło możliwości procesorów x86 o obsługę 64-bitowych instrukcji. Dzięki takiemu rozwiązaniu procesory miały zyskać moc 64 bitów, nie poświęcając przy tym kompatybilności z klasycznymi procesorami dla pecetów (a w zasadzie – wydajności wynikającej z takiej właśnie zgodności). Nową architekturę zaczęto nazywać x86_64, amd64 lub x64, a cała społeczność korzystająca z komputerów stanęła nagle przed dziwnym wyborem. Okazało się, że Itanium nie jest jedynym istniejącym następcą x86 – AMD zaproponowało zupełnie inną drogę. Co zrobił z tym wszystkim Intel? Musiał zareagować szybko i zdecydowanie, dlatego natychmiast ogłosił, że nie ma zamiaru produkować procesorów w tej „pseudo 64-bitowej” architekturze AMD, a przyszłość należy do Itanium. By tego dowieść, już 2 miesiące później wypuścił na rynek nowe procesory Itanium, które przeszły z technologii 180 nm na 130 nm, miały też wyraźnie poprawioną wydajność i były bardziej energooszczędne. W tym czasie nikt jeszcze nie wiedział, po stronie której architektury opowie się rynek. Rozstrzygnięcie miało dopiero nadejść.

 

W ciągu roku Intel i AMD stoczyły wiele bitew. Wszystkich zaskoczyło jednak, że dużo słabsze AMD po kolei wygrywało wszystkie te starcia. Intel coraz wyraźniej tracił grunt pod nogami, a procesory Itanium nie były w stanie nawiązać równorzędnej walki z rywalem. Podczas gdy koszty migracji na IA-64 były ogromne, przejście na zachowujące wsteczną kompatybilność amd64 było tanie i łatwe – również same Opterony były dużo tańsze, niż Itanium. 64-bitowe procesory AMD nie tylko przejmowały rynek serwerów, ale zaczęły także pojawiać się na desktopach, a Intel w tym segmencie nie mógł wystawić niczego, co mogłoby z nimi konkurować. Trudno pominąć również łatwość, z jaką można było przeportować oprogramowanie na architekturę amd64. Nie trzeba było długo czekać na możliwość uruchomienia na nowych procesorach AMD natywnych dystrybucji Linuksa, czy nawet samego Windowsa. Najważniejsze jednak, że wciąż można było korzystać ze starych, 32-bitowych aplikacji, nie odnotowując żadnych spadków wydajności. Ostatecznie latem 2004 roku Intel zaprezentował nową serię procesorów Xeon – tyle że tym razem wyposażono ją w 64-bitową technologię AMD. Intel starał się przynajmniej częściowo zachować twarz, nazwał więc tę architekturę EM64T (zamiast amd64), nie da się jednak ukryć, że ten krok był przyznaniem się do poniesionej porażki. Intel nie mógł już dłużej udawać, że Itanium to jedyny 64-bitowy następca x86. W jednej chwili IA-64 straciło jakąkolwiek wartość dla Intela, który teraz postanowił przystąpić do walki z AMD na warunkach zaproponowanych przez rywala.

5. HP podnosi sztandar

Kolejne firmy zaczęły masowo wycofywać się ze wspierania Itanium – a chociaż zainteresowanie tą architekturą stracił nawet sam Intel, nie oznaczało to wcale jej końca. Procesory tego typu były od pewnego czasu wykorzystywane w wielu serwerach, a nawet superkomputerach bogatych korporacji. Porzucenie tej architektury oznaczałoby dla tych firm tylko jedno – olbrzymie koszty. Sytuację postanowiło wykorzystać HP i podpisało z Intelem stosowne umowy, na mocy których ten ostatni zobowiązał się do dalszego rozwoju procesorów Itanium, natomiast HP stało się uprzywilejowanym dostawcą serwerów i innego sprzętu opartego na tej architekturze. Dla HP był to bardzo lukratywny biznes, a chociaż systemy HP Itanium były sprzedawane z olbrzymią marżą, klienci po prostu zaciskali zęby i płacili – koszty migracji byłyby po prostu jeszcze większe. Do Windowsa i Linuksa obecnego na tej platformie dołączyły systemy HP – Unix HP-UX oraz OpenVMS. Wszystkie te działania miały również wymiar prestiżowy. Tak jak IBM miał POWER, a Sun SPARC w roli procesorów dla swoich serwerów, tak HP dysponowało Itanium. W ciągu następnych lat Intel odświeżał procesory, a w 2006 wypuścił zupełnie nową serię Itanium 2 9000 (Montecito). Procesory te przeszły na technologię 90 nm, posiadały 2 rdzenie i zapewniały wsparcie dla technik wirtualizacyjnych. Porzucono też sprzętową kompatybilność z IA-32 na rzecz emulacji software’owej, która, wbrew pozorom, okazała się wydajniejsza. Procesory ponownie zaktualizowano rok później i wprowadzono do sprzedaży jako Itanium 2 9100 (Montvale). Biznes może i stał się zyskowny, ale nie można go było nazwać kwitnącym. Nowi klienci nie przychodzili, a dotychczasowi użytkownicy przy pierwszej nadarzającej się okazji uciekali na inną architekturę. Ponieważ nieduży rynek kurczył się z biegiem czasu, w 2009 roku Red Hat zapowiedział, że najnowszy RHEL 6 nie będzie już wspierał Itanium. Rok później także Microsoft ogłosił, że Windows Server 2008 będzie ostatnim ich systemem na tę architekturę. Z pewnością były to poważne ciosy, ale dopóki HP było w stanie zapewnić klientom swoje własne systemy, dopóty nie było powodu do paniki. Kolejną nieprzyjemnością był fakt, że premiera nowej serii procesorów Itanium 9300 (Tukwila), produkowanych w technologii 65 nm, opóźniła się aż do 2010 roku. Prawdziwa bomba wybuchła jednak, gdy w marcu 2011 roku Oracle ogłosiło, że przestanie wydawać na Itanium swoje oprogramowanie do obsługi baz danych. Nikomu nie muszę chyba mówić, że bazy danych Oracle są kluczowe dla korporacji. Firmy prędzej wymienią swoje serwery, niż zrezygnują z produktów Oracle. W tym miejscu HP nie mogło odpuścić i zaciągnęło Oracle do sądu. Okazało się, że w myśl podpisanych umów Oracle miało pewne zobowiązania wobec HP, a sędzia nakazał gigantowi baz danych wznowić wsparcie dla Itanium. HP triumfowało.

6. Kapitulacja

HP wygrało batalię sądową, ale przegrało wojnę. Klienci usłyszeli już wystarczająco dużo. Skoro Oracle ma wspierać ich najważniejsze oprogramowanie pod sądowym przymusem, a nie z własnej woli, był to najwyższy czas, by przejść na inną architekturę. Rynek zaczął się gwałtownie kurczyć, a wydanie przez Intela w 2012 roku procesorów Itanium 9500 (Poulson) w technologii 32 nm było jedynie przysłowiową musztardą po obiedzie i nie pozwoliło na odzyskanie przez Itanium swojego znaczenia. Ostatecznym dowodem poniesionej porażki jest jednak zapowiedź zmiany planów względem nowych procesorów o nazwie kodowej „Kittson”. Sam Intel poświęcił im na swojej stronie dosłownie trzy zdania. Konia z rzędem temu, kto znajdzie w innych mediach technicznych najdrobniejszą chociażby wzmiankę o tym wydarzeniu. Z notki dowiadujemy się, że procesory te będą nadal produkowane w technologii 32 nm, mimo iż miały przejść na 22 nm; będą też wciąż wykorzystywać tę samą podstawkę co Poulson, pomimo planowanego przejścia na podstawki Xeonów. Tak naprawdę nie wiemy, czy te procesory będą się czymkolwiek różnić od swoich poprzedników. Jest to wystarczający dowód by stwierdzić, że ta architektura jest całkowicie martwa. Nie oczekujcie więc, że znajdziecie jeszcze w mediach jakąś bardziej istotną nowinkę na temat Itanium. Ta architektura długo była utrzymywana przy życiu w sztuczny sposób, nadszedł jednak moment, w którym trzeba wyciągnąć wtyczkę.

 

A co z Intelem? Okazało się, że na rynku 64-bitowych x86 świetnie radzi sobie z konkurencją i w znacznej mierze zdołał zepchnąć AMD na margines. Powstaje jednak nowy wróg – ARM, który rzuca wyzwanie Intelowi. Szykuje się kolejna wielka wojna, ale to już zupełnie inna historia…

 

korekta: ionash, k2cl


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

11 komentarzy do “Itanium – zapomniana architektura