Procesor poza serwerem

Moc obliczeniowa, tak jak pamięci masowe i sieci, wkrótce stanie się usługą zewnętrzną wobec serwerów. Architektura zaproponowana przez Azul Systems zyskała już aplauz wielkich graczy rynku IT.

Moc obliczeniowa, tak jak pamięci masowe i sieci, wkrótce stanie się usługą zewnętrzną wobec serwerów. Architektura zaproponowana przez Azul Systems zyskała już aplauz wielkich graczy rynku IT.

Przyzwyczailiśmy się do tego, że wielka moc obliczeniowa wymaga wielkich serwerów albo też wielkiej liczby serwerów. Tak czy owak wielkich pieniędzy, które trzeba wydać - najpierw na zakup, a później na strojenie, monitorowanie i zarządzanie zbudowaną infrastrukturą. Wielka moc obliczeniowa to także wielkie rachunki za energię elektryczną potrzebną do zasilania infrastruktury i jej chłodzenia.

Wielka moc drzemie dziś w każdym serwerze - wystarczy dotknąć wylotu wentylatora. Czy rzeczywiście tak wiele liczymy? A może liczymy nieefektywnie? Do takich wniosków doszedł Stephen DeWitt, założyciel słynnej niegdyś firmy Cobalt Networks, którą Sun Microsystems kupił w 2000 r. za, bagatela, 2 mld USD, a obecnie prezes relatywnie niewielkiej kalifornijskiej firmy Azul Systems.

Łatwo stracić wątek

Współczesne aplikacje serwerowe tworzone są z myślą o serwerach aplikacji działających na maszynach wirtualnych Java i.Net. Maszyny wirtualne to z założenia środowiska wielowątkowe, co zresztą dotyczy m.in. serwerów baz danych i serwerów WWW. Wielowątkowość oznacza zrównoleglenie wykonywania - w ramach maszyny wirtualnej równolegle przetwarzane są dziesiątki, a bywa że setki i tysiące wątków.

Tymczasem dzisiejsze serwery wyposażane są w procesory mogące obsłużyć jeden, dwa, góra cztery wątki jednocześnie. W rezultacie niedostosowania sposobu działania sprzętu i oprogramowania powstaje potrzeba przeplatania wykonywania rozlicznych wątków przez ograniczone zasoby sprzętowe. Serwery grzeją się więc, ale efekty tego wysiłku - mierzone wydajnością aplikacji - pozostają raczej marne. Aby za pomocą istniejących konstrukcji serwerowych osiągnąć wysoką wydajność, firmy muszą uciekać się do budowania skomplikowanych architektur: klastrów, farm czy środowisk przetwarzania równoległego. Każda z tych topologii komplikuje konstrukcję środowiska aplikacyjnego, nie mówiąc o problemach z zarządzaniem konfiguracją, wydajnością czy dostępnością. Ta dziedzina domaga się innowacji idących znacznie dalej, niż zapowiedzi Intela czy Sun Microsystems. I chyba się doczekała.

Współdzielony zasób mocy

Procesor poza serwerem

W obudowie 11U urządzenia obliczeniowe Azul Systems zawierają 384 rdzenie obliczeniowe dedykowane do obsługi aplikacji J2EE.

Pomysł Azul Systems sprowadza się do tego, by wielowątkowym środowiskom aplikacyjnym udostępnić prawdziwie wielowątkową platformę sprzętową - bez żadnych kompromisów. Pierwszym krokiem w tym kierunku było opracowanie własnych, prawdziwie wielowątkowych procesorów. Każdy z układów Azul Systems zawiera nie dwa, o czym słyszymy na co dzień, ale aż 24 rdzenie obliczeniowe. Szczegóły konstrukcyjne nowych układów nie są na razie znane.

Wielordzeniowe układy Azul Systems zostały umieszczone w dedykowanych "urządzeniach obliczeniowych", które nie mają jeszcze ustalonej nazwy. Pierwsza generacja mieści od 4 do 16 układów, a więc od 96 do 384 rdzeni obliczeniowych w jednej obudowie o wysokości 11U. W jednej szafie 19'' zmieszczą się 3 urządzenia, czyli niewiarygodna w dzisiejszych kategoriach liczba 1152 rdzeni obliczeniowych. Na razie każdy rdzeń jest w stanie sprzętowo obsłużyć jeden wątek, ale za jakiś czas będzie to dwa lub więcej wątków. Wydajność przetwarzania wielowątkowego wzrośnie znacząco.

Tak gęste upakowanie układów obliczeniowych nie może pozostać bez wpływu na wydzielanie ciepła. Gdyby rdzenie obliczeniowe układów Azul miały pracować tak, jak ma to miejsce w "normalnych" procesorach, urządzenia najpewniej spłonęłyby zaraz po uruchomieniu. To, że tak się jednak nie dzieje, wynika ze strategii przyjętej przez Azul Systems.

Firma nie pozycjonuje swoich produktów jako następców współczesnych serwerów. Rdzenie obliczeniowe w jej procesorach to nie układy ogólnego przeznaczenia, jak procesory x86 czy RISC, ale wąsko specjalizowane układy przyspieszające operacje charakterystyczne dla maszyn wirtualnych i serwerów aplikacji. Ponieważ operacje te są realizowane sprzętowo, a przy tym są znacznie zrównoleglone, nie ma potrzeby uciekania się do wysokich częstotliwości taktowania procesorów.

Wbrew pozorom, w pojęciu Azul Systems jej rozwiązania nie mają zastąpić serwerów, lecz być dla nich zewnętrznym źródłem mocy obliczeniowej. Projektanci wyszli z założenia, że skoro w przeszłości z serwerów wydzielono na zewnątrz urządzenia sieciowe czy pamięci masowe, to samo można zrobić z mocą obliczeniową.

Nie zamiast, lecz obok

Azul Systems proponuje architekturę, w której tradycyjne serwery stają się jedynie bramkami przechwytującymi żądania przetwarzania, zaś samo przetwarzanie odbywa się w wyspecjalizowanym, wydzielonym na zewnątrz "urządzeniu obliczeniowym". W praktyce ma to polegać na tym, że w środowisku maszyny wirtualnej Azul Systems instaluje aplikacyjny serwer proxy, przechwytujący transakcje kierowane do lokalnej maszyny wirtualnej i przekazujący je do działających bezstanowo zewnętrznych "urządzeń obliczeniowych".

Najbardziej interesujące jest to, że Azul Systems nie tylko zaproponowała zupełnie nową architekturę, ale także namówiła do jej wsparcia najważniejsze firmy rozwijające maszyny wirtualne i serwery aplikacji J2EE - BEA Systems, IBM, Oracle oraz Sun Microsystems. Zamiarem Azul jest włączenie swoich rozwiązań do infrastruktury centrów przetwarzania danych bez konieczności dokonywania zmian w już istniejących aplikacjach.

Zadanie, które stawia sobie Azul Systems, jest ambitne, ale przy współpracy z twórcami middleware - co już ma miejsce - wykonalne. Produkty ww. firm są obecnie optymalizowane pod kątem zgodności i testowane - oficjalne premiery serwerów aplikacyjnych J2EE wspieranych sprzętowo prawdopodobnie będą mieć miejsce jeszcze w tym roku.

Choć na razie Azul Systems współpracuje jedynie z firmami działającymi na polu Enterprise Java, nie zamierza na tym poprzestać. Według przedstawicieli Azul trwają zaawansowane rozmowy z Microsoftem, by "urządzenia obliczeniowe" działające w ramach jednego centrum przetwarzania danych mogły przyjmować zlecenia obliczeniowe zarówno od serwerów J2EE, jak i od rozwiązań bazujących na architekturze .Net i maszynie wirtualnej CLR Microsoftu.

Kto zyska, kto straci

Co będzie, jeśli architektura zaproponowana przez Azul Systems zyska akceptację rynku? Po stronie klientów korzyści będą oczywiste - otrzymają bowiem możliwość skalowania mocy obliczeniowej na potrzeby aplikacji znacznie taniej, niż za pomocą dostępnych obecnie wielkich serwerów SMP czy farm serwerów x86. Pojedyncze "urządzenie obliczeniowe" zawierające 96 rdzeni obliczeniowych ma kosztować ok. 1000 USD za rdzeń. Dla porównania, serwer zawierający 64 procesory kosztuje kilka milionów dolarów.

Modele z większą liczbą procesorów będą atrakcyjną propozycją dla firm usługowych, co przełoży się na atrakcyjniejsze oferty outsourcingowe dla klientów (wiadomo, że urządzenia Azul Systems testuje EDS). Korzyścią będzie także uproszczenie infrastruktury i wynikające z niej oszczędności w wydatkach na utrzymanie i zarządzanie nią. Argumentem za nową architekturą jest również zmniejszenie poboru mocy przez infrastrukturę, a także spadek poziomu emitowanego przez nią ciepła, co powinno dodatkowo zmniejszyć zapotrzebowanie na energię.

Po stronie dostawców oprogramowania middleware pojawienie się wydajnej i relatywnie taniej w eksploatacji platformy sprzętowej oznacza wzrost popytu na ich rozwiązania. Wszystko będzie jednak zależeć od przyjętej przez nich polityki licencyjnej - dotychczasowych reguł licencjonowania nie będzie można do nowej architektury zastosować wprost. Wypada jednak zapytać, jaka będzie przyszłość Azul Systems - czy pozostanie niezależna, oferując swoje konstrukcje na zasadach OEM dużym firmom, czy też zostanie kupiona przez jednego z liderów.

Jeśli moc obliczeniowa w warstwie aplikacyjnej rzeczywiście miałaby należeć do specjalizowanych urządzeń, stosowane dziś na potrzeby aplikacji średnie i duże serwery SMP mogłyby pójść w odstawkę. Serwery aplikacyjne można by odchudzić, ponieważ spełniałyby jedynie rolę bramek do systemów zapewniających moc obliczeniową.

To byłby prawdziwy cios dla producentów dużych serwerów. Wprawdzie pozostałyby one w użytku, np. na potrzeby baz danych, ale jak długo jeszcze? Można przecież łatwo wyobrazić sobie specjalizowane, sprzętowo przyspieszane serwery dedykowane dla baz danych lub choćby karty rozszerzeń dla istniejących konstrukcji.

Z serwera wyjęte

Z perspektywy historycznej próba wydzielenia z serwera mocy obliczeniowej nie jest czymś wyjątkowym. Wydzielenie z serwerów pamięci masowych stworzyło warunki do budowy wielkich, nadających się do współdzielenia przez wiele serwerów, systemów pamięci masowych - dyskowych i taśmowych. Wydzielenie sieci na zewnątrz umożliwiło podłączenie do serwera znacznie większej liczby użytkowników, zaś wydzielenie dedykowanych połączeń między serwerami a systemami pamięci masowych doprowadziło do powstania pojęcia sieci SAN, pozwalających wygodnie współdzielić zasoby. Tak może być również w wyniku upowszechnienia się "urządzeń obliczeniowych". Z biegiem czasu - tak jak w przypadku sieci - może jeszcze dojść do dalszej specjalizacji.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200