W gąszczu małych serwerów

Wirtualizacja i głęboka konsolidacja obciążeń na serwerach o wysokiej wydajności to standard we współczesnym IT. Są jednak aplikacje i zadania, w których takie podejście się nie sprawdzi.

W 2007 r., gdy obserwowano silny wzrost technologii mobilnych, Facebook miał 50 mln użytkowników i rozwijała się intensywnie technologia netbooków, zauważono, że wzrost ilości danych był znacznie wyższy, niż wynikałoby to z prawa Moore'a. Już wtedy działały aplikacje, dla których wirtualizowane środowisko niekoniecznie było optymalne pod względem zużycia energii elektrycznej. Jednocześnie zadania te nie były aplikacjami krytycznymi i nie wymagały kosztownych serwerów, które gwarantują wysoką dostępność zadania. Niejednokrotnie są to zadania wsadowe lub wymagające webowego front-endu, z którego serwowana jest statyczna treść.

Do obsługi tych zadań można zastosować typowe serwery x86 z wirtualizacją, ale korzystniejsze jest użycie serwerów, które można zdefiniować pod kątem potrzeb, dobierając liczbę rdzeni i obsługiwaną pamięć. Zadania nie wymagają skrajnie wysokiej wydajności per rdzeń, liczy się w nich sprawność energetyczna procesorów oraz możliwość dostosowania platformy serwerowej pod kątem obciążenia.

Zobacz również:

W ciągu ostatnich czterech lat producenci opracowali nowe procesory, głównie przeznaczone na rynek mobilny lub do urządzeń osadzonych. Charakteryzują się one znacznie mniejszą wydajnością od serwerowych procesorów x86, ale pobierają mniej energii per rdzeń, gdyż od początku były projektowane pod kątem oszczędności energii. Takie procesory od dawna były wykorzystywane do produkcji mikroserwerów oraz niewielkich urządzeń osadzonych, takich jak proste routery. Rozwiązania były zamknięte i nie dało się ich dostosować pod kątem obciążenia, nie też osiągały oczekiwanej gęstości konsolidacji. Ciekawe serwery, które charakteryzują się wysoką konsolidacją i możliwością dostosowania pod potrzeby aplikacji, zaprezentowała niedawno firma HP, w ramach projektu Moonshot.

Serwery mikroblade

Kluczem do nowej koncepcji serwera było opracowanie technologii budowy wysoce skonsolidowanych mikroserwerów, wyposażonych w procesory o niewielkim poborze energii. Wprowadzenie minimodułów umożliwiło bardzo gęste upakowanie podzespołów, sprawne zasilanie i chłodzenie grupowe. W tej samej technologii opracowane są także osobno umieszczone moduły pamięci oraz pamięć cache Flash dla dysków mechanicznych.

W odróżnieniu od typowych serwerów, modułami w urządzeniach rozwijanych w ramach projektu Moonshot mogą być serwery zgodne ze standardem x86, ARM, a także akceleratory cyfrowego przetwarzania sygnałów i obliczeń matematycznych. W tych modułach mogą pracować także układy programowalnych bramek logicznych FPGA, dzięki którym osiąga się radykalne przyspieszenie niektórych operacji. Modelowy serwer wyposażony w układy FPGA specjalizowany do obsługi memcached dał dziesięciokrotny wzrost wydajności w porównaniu do klasycznych rozwiązań x86, w których konstrukcja serwerów nie mogła być dostosowana do istniejącego obciążenia.

Kolejnym krokiem będzie zastosowanie specjalizowanych układów zintegrowanego komputera w pojedynczym układzie (system on chip) o ultraniskim zużyciu energii, uniwersalna pamięć, a także szersze zastosowanie fotoniki, np. przy realizacji połączeń sieciowych.

Oprogramowanie w modelu open source

Wiele z narzędzi korzystających z mikroprocesorów zintegrowanych korzysta z dedykowanych aplikacji. W przypadku serwerów rozwijanych w projekcie Moonshot wielką rolę grać będzie ruch open source. Serwery świetnie nadają się do dostarczania statycznej treści, co od dawna realizuje się produkcyjnie w dużej skali za pomocą oprogramowania open source (w hostingu open source, w tym Linux, jest podstawowym standardem). Jeśli operator telekomunikacyjny lub inna podobna firma eksploatuje aplikacje webowe, które zawierają dużo elementów statycznych, hostowanie zasobów za pomocą oprogramowania open source na wielu serwerach www pracujących na komputerach mikrokasetowych jest uzasadnione. Brak wirtualizacji nie jest przeszkodą, szczególnie jeśli aplikacja skaluje się poziomo.

Kto z tego skorzysta

Sprzęt jest kierowany głównie do operatorów telekomunikacyjnych oraz firm posiadających szczególne aplikacje, które dobrze pracują w rozproszonym środowisku wielu małych serwerów. Przy zastosowaniach podobnych do hostowania statycznych stron brak wirtualizacji jest zaletą - awaria jednego niewielkiego serwera sprzętowego nie powoduje takich skutków, jak awaria jednego z modułów kasetowych x86 hostujących kilkanaście maszyn wirtualnych, często należących do różnych firm.

Operatorzy hostingowi mają czasami serwery klasy entry level w rozmiarze 1U dla tych firm, które nie chcą korzystać z masowego hostingu w wirtualizowanym środowisku. Na przykładzie firmy LeaseWeb można stwierdzić, że serwery mikrokasetowe Moonshot mogą oszczędzić 80% energii elektrycznej przy wydajności zaledwie o połowę mniejszej od typowego serwera 1U. Wydajność ta jest nadal wystarczająca dla większości odbiorców, którzy skorzystaliby z serwera entry level 1U w formie dedykowanej. Każdy z elementarnych serwerów mikrokasetowych może być skonfigurowany pod kątem potrzeb danej aplikacji. To ciekawe wyważenie między wartością usługi i wydajnością a konsumpcją energii elektrycznej.