Ultraszybka pamięć ratuje serwery

Serwery przetwarzają coraz większe ilości danych. Do ich obsługi potrzeba wydajnych dysków. Dlatego do macierzy dyskowych coraz częściej włącza się ultraszybką pamięć Flash. Zapewnia ona świetne osiągi, ale jest droga. Jak dobrać jej wielkość, by usprawnić pracę serwerów, a jednocześnie nie narazić firmy na niepotrzebne koszty?

Rozwój mikroprocesorów w serwerach potwierdza prawo Moore’a. W ciągu dekady zanotowano dziesięciokrotny wzrost mocy obliczeniowej procesorów, co dało silny impuls do rozwoju technologii przetwarzania danych. Niestety, razem ze wzrostem mocy obliczeniowej procesorów nie wzrasta prędkość dostępu do danych. Najczęściej używane nośniki, którymi są magnetyczne dyski mechaniczne, zdają się osiągać granicę wydajności wynikającą z konstrukcji i praw fizyki. Badania firmy IBM pokazują, że kolejne bariery pojemności udawało się stosunkowo łatwo pokonywać, ale wydajność dzisiejszych dysków mechanicznych nie wzrasta równie szybko jak ich pojemność. Ponieważ wzrost gęstości zapisu na dyskach mechanicznych nie idzie w parze z proporcjonalnym wzrostem ich wydajności, pojawia się bardzo silny rozziew między wydajnością procesorów i pojemnością zasobów składowania danych a prędkością pojedynczych napędów mechanicznych. Aby przyspieszyć pracę macierzy dyskowych, powszechnie stosuje się bufory z pamięci półprzewodnikowych, które mają wielką zaletę - niemal zerowy czas oczekiwania na rozpoczęcie pobierania wybranych elementów danych. Ich wadę nadal stanowi koszt, ale stosując odpowiednie rozwiązania techniczne, można maksymalnie wyzyskać zalety bez olbrzymich nakładów. Kluczem do tej technologii jest praktyczna własność informacji przechowywanych w firmach nazywana popularnie "wychładzaniem danych" (z upływem czasu rzadziej się z nich korzysta) oraz umiejętny podział informacji na różne warstwy (tier) przestrzeni dyskowej. Dzięki temu na szybkich dyskach składowane są tylko często wykorzystywane dane, a pozostałe przenoszone są do wolniejszych, ale znacznie tańszych nośników. Proces ten wprowadzono kilka lat temu, obecnie standardem stało się automatyczne przenoszenie informacji między warstwami (autotiering).

Co firmy mają na dyskach

Nawet jeśli firma dysponuje dużym zbiorem danych, prawdopodobieństwo dostępu do każdej z porcji nigdy nie jest jednakowe. Gdyby zarejestrować wykorzystywanie zasobów dyskowych w firmach, badając dostęp do różnych bloków, a następnie posortować wyniki pod względem aktywności, przeciętnie 51% bloków będzie odpowiedzialnych za 80% wszelkich operacji wejścia/wyjścia. Oznacza to, że nawet w losowej aktywności połowa aktywnych bloków obsługuje większość ruchu. Nie jest to jedyna przyczyna różnic w częstotliwości dostępu do informacji składowanych na macierzach dyskowych.

Zobacz również:

  • Wielka inwestycja Atmana w przetwarzanie danych
  • AI ma duży apetyt na prąd. Google znalazł na to sposób
  • OpenAI rozważa stworzenie własnych układów scalonych AI

Zazwyczaj pewien podzbiór danych jest przetwarzany bardzo często (o takich porcjach informacji mówi się, że są "gorące"), a prawdopodobieństwo pobrania pozostałych porcji danych znacząco maleje. Dane, które przestały już być "gorące", dotyczą na przykład zamkniętych okresów rozliczeniowych, zakończonych transakcji lub spraw i rzadko są one ponownie przywoływane. Każda firma charakteryzuje się innym współczynnikiem spadku obciążenia w miarę wzrostu wieku danych na dyskach, ale rozkład ten z grubsza przypomina znaną krzywą fizyczną - wykres napięcia kondensatora w czasie w obwodzie RC. Model ten nie zawsze sprawdza się w 100%, ale jedna cecha jest prawdziwa - większość danych składowanych na dyskach charakteryzuje się bardzo niskim prawdopodobieństwem ponownego wykorzystania w porównaniu do bieżącej informacji. Ta z kolei charakteryzuje się wielką zmiennością w czasie, odpowiadając za ponad 90-95% operacji wejścia/wyjścia.

Na czym leży plik i blok

Tradycyjnie do obsługi składowania danych o różnych charakterystykach dostępu stosowano dwie warstwy (inaczej zwane poziomami) storage’u - szybkie dyski SAS lub FC pracujące z szybkością 15 tys. RPM oraz wolne, ale pojemne i tańsze dyski SATA. Niektóre macierze stosowały nawet podział informacji pod względem stref zapisu sektorów na dyskach mechanicznych. Obecnie do wspomnianych poziomów doszły kolejne - bufor w pamięci DDR, pamięć Flash dołączana za pomocą magistrali PCI-E oraz pamięć Flash w macierzach dyskowych.

Napęd dyskowy SAS o prędkości 15 tys. RPM jest powszechnie znany, obsługuje do około 200-210 IOPS (operacji wejścia/wyjścia na sekundę), czyli dwa razy więcej niż dyski SATA. Mimo wszystko, przy zastosowaniach charakteryzujących się wysoką konsolidacją, takich jak wirtualizacja, należało łączyć duże grupy szybkich dysków SAS, by osiągnąć oczekiwaną wydajność.

Zupełnie inną charakterystykę ma pamięć Flash, która jest pozbawiona części ruchomych i nie wprowadza istotnych opóźnień przy odczycie czy zapisie danych. Wadą tych pamięci jest znaczny koszt, który jednak stopniowo maleje.

Flash zastępuje dysk, a dysk taśmę

Podstawową zaletą pamięci półprzewodnikowych jest szybkość - pamięci te umożliwiają obsłużenie ponad 8 tys. IOPS z pojedynczego modułu, a zatem z powodzeniem zastąpią pod względem wydajności sporą pulę dysków mechanicznych. Oznacza to, że stosowanie pamięci Flash w najszybszej warstwie storage’u jest uzasadnione ekonomicznie, gdyż wystarczy pokryć kilka procent pojemności ogółu zasobów, by zapewnić dobre osiągi, porównywalne z bardzo dużą liczbą napędów mechanicznych.

Z kolei najniższe koszty przechowywania danych osiąga się przy składowaniu na dyskach SATA o prędkości 7200 RPM. Zasoby z takimi dyskami świetnie nadają się do długotrwałego przechowywania "zimnych" danych, które rzadko są odczytywane lub zapisywane. Ponieważ pamięć Flash jest jeszcze kosztowna, jako stadium pośrednie stosuje się szybkie dyski mechaniczne 15 tys. RPM, które są szybsze od SATA 7200 RPM. Dyski takie umożliwiają zmniejszenie rozmiaru puli SSD utworzonej z pamięci Flash, a zatem obniżenie kosztów budowy macierzy o oczekiwanej wydajności i pojemności. Ceną za to jest większe skomplikowanie konstrukcji oraz wyższe wymagania wobec oprogramowania, które w procesie automatycznego podziału na warstwy storage’u musi uwzględnić trzy, a nawet cztery (bufor DDR) rodzaje mediów.

5% SSD zazwyczaj wystarczy

Specjaliści EMC często mówią, że "SSD daje wydajność w tysiącach IOPS, a dyski 7200 RPM dają pojemność w terabajtach". Jest to prawda, gdyż oba wspomniane nośniki pamięci znajdują się po przeciwnych stronach kosztów i wydajności, uzupełniając się nawzajem. Ponieważ bufor SSD przechowuje tylko "gorące" dane, należy go traktować jako bufor FIFO (first in, first out). Jego pojemność powinna wystarczać do przetwarzania tych danych, dla których przyrost wydajności uzyskany dzięki pamięci Flash okaże się największy przy jak najniższych kosztach.

Podstawowe pytanie, jakie firma musi sobie zadać, dotyczy rzeczywistego zapotrzebowania na przestrzeń dyskową. Ponieważ macierzy nie kupuje się na jeden sezon, należy uwzględnić obecną ilość danych, którymi IT zarządza, oraz tę, którą prognozuje się w czasie eksploatacji, a szczególnie przyrost każdego roku. Jeśli już znamy ilość, należy odpowiedzieć na kolejne ważne pytanie, dotyczące charakteru przetwarzania danych, mianowicie określić, jak długo dane pozostają "gorące".

Gdyby zebrać typowe odpowiedzi ankietowanych działów IT, okaże się, że obecnie zarządzają one średnio 30 TB informacji, notują przyrost na poziomie 50% rocznie, a dane często są przetwarzane przez około 60 dni, a następnie ich udział w woluminie ruchu znacząco spada. Gdyby założyć, że bufor SSD przechowuje tylko gorące dane, można łatwo obliczyć jego rozmiar - skoro w modelowej firmie przyrasta 15 TB danych rocznie, zatem dzienny przyrost informacji to 42 GB (15 x 1024/365), czyli bufor na 60 dni powinien mieć pojemność 2,5 TB. W tym czasie będzie on odpowiedzialny średniorocznie za około 80% wszystkich operacji wejścia-wyjścia. Ponieważ moduły SSD stosowane jako cache w macierzy będą ponad 30 razy szybsze od dysków mechanicznych, licząc jedynie IOPS tych modułów w porównaniu do szybkich dysków 15 tys. RPM, można oczekiwać obniżenia kosztów macierzy co najmniej o 30%. W praktyce dobrze dobrany moduł SSD i elastyczne wykorzystanie cache obniża koszt macierzy o połowę w porównaniu do konstrukcji wyposażonej jedynie w dyski mechaniczne SAS 15 tys. RPM oraz SATA 7200 RPM.

Dane starsze niż sprzed 60 dni mogą być przechowywane na dyskach SAS 15 tys. RPM, gdzie będą przetwarzane, aż prawdopodobieństwo ich wykorzystania spadnie poniżej 20%. W typowym modelu ten czas wynosi 178 dni od utworzenia informacji. Dane starsze mogą być przeniesione na tańsze dyski SATA, gdyż prawdopodobieństwo ich wykorzystania gwałtownie spada. Biorąc pod uwagę praktyczny rozkład częstotliwości przetwarzania informacji w funkcji czasu w ankietowanych firmach, konieczność zastosowania puli SSD o pojemności większej niż 25% całej wielkości macierzy jest niezwykle rzadka. Zazwyczaj ilość ta oscyluje w okolicy 5% ogółu pojemności. Ponieważ w opisywanym modelu rozmiar puli SSD zależy od tego, jak szybko dane przestają być "gorące", można zmniejszyć jej wielkość o 2-3%, jeśli dane "wychładzają się" już po 30 dniach, a roczny przyrost ilości danych nie przekracza 60%. Skrajnie niekorzystny przypadek dotyczy tych firm, w których dane pozostają "gorące" przez 120 dni, co przy rocznym przyroście rzędu 50% daje rozmiar puli rzędu 11% ogółu pojemności.

Wirtualizacja potrzebuje dysków

Gdyby prześledzić liczbę napędów potrzebnych do pracy jednego serwera w ciągu lat, widać, że napędy mechaniczne mają niewystarczającą wydajność. W roku 2000 na jeden serwer przypadało średnio 20 dysków, w 2005 już 237, w 2008 - 962, obecnie 6245. Prognozy firmy EMC pokazują, że w najbliższej przyszłości liczba napędów będzie rosła jeszcze szybciej, osiągając za dwa lata poziom 25 tys., za pięć lat aż 64 tys. dysków. Jednym z powodów jest oczywiście wirtualizacja, która stała się standardem biznesowym, drugim - eksplozja danych oraz rozwój narzędzi do ich analizy. Odpowiedzią na rosnące potrzeby jest wprowadzenie macierzy dyskowych sprawnie obsługujących najszybsze dostępne moduły pamięci półprzewodnikowych razem z wolniejszymi, ale znacznie tańszymi dyskami mechanicznymi przeznaczonymi do długotrwałego składowania informacji.

Kolejnym krokiem w przyspieszaniu pracy serwerów będzie powszechne wprowadzenie kart SSD łączonych z serwerami za pomocą szybkiej magistrali PCI-Express, tworząc pulę pamięci najbliższą miejscu przetwarzania danych. Utworzona w ten sposób pamięć podręczna może być zintegrowana z macierzą dyskową, usprawniając przesyłanie informacji w obu kierunkach. Aby dodatkowo usprawnić pracę serwerów działających w klastrach, inżynierowie pracują nad sposobem synchronizacji tych pamięci w ten sposób, że zmiana w danych wykonana przez jeden z serwerów będzie replikowana do pamięci SSD obecnej w pozostałych serwerach pracujących w tym samym klastrze. Umożliwi to realizowanie części operacji wejścia-wyjścia już w obrębie serwerów, odciążając macierze dyskowe i magistrale SAN.

Komentarz ekspercki

Nie ulega wątpliwości, że pamięć półprzewodnikowa stosowana razem z dyskami magnetycznymi jest jednym z najskuteczniejszych sposobów usprawnienia pracy środowiska serwerowego. Jej najważniejszą zaletą jest prędkość dostarczania danych, daleko wykraczająca poza możliwości dysków mechanicznych. Aby w pełni wyzyskać możliwości, jakie daje pamięć Flash, w EMC opracowano technologię FAST Cache oraz FAST VirtualPools (FAST VP). Zadaniem FAST Cache jest wykorzystanie SSD jako pamięci podręcznej, w której są przechowywane "gorące" dane, które normalnie znajdują się w puli złożonej z dysków mechanicznych. Narzędzie to operuje na blokach o rozmiarze 64 KB, działając przy tym bardzo szybko. Z kolei FAST VP operuje znacznie większymi blokami o rozmiarze 1 GB i zajmuje się dynamicznym przenoszeniem danych między warstwami, działając przy tym zależnie od częstotliwości przetwarzania porcji danych. Zastosowanie obu technik umożliwia optymalne wykorzystanie zalet każdego z poziomów pamięci masowej (dysk, moduł SSD) przy zachowaniu bardzo dobrej granularności operacji.

Jeśli ilość pamięci Flash zostanie poprawnie dobrana do potrzeb przedsiębiorstwa i charakterystyki przetwarzania danych w środowisku IT firmy, można osiągnąć ponaddwunastokrotną poprawę współczynników zwrotu z inwestycji ROI, gdyż jednocześnie zmniejsza się 2,5 raza koszt składowania informacji oraz osiąga się znacznie wyższą wydajność, nierzadko notuje się pięciokrotną różnicę w kosztach USD/IOPS.

Oto przykład: osiągnięcie oczekiwanej wydajności przy pojemności 30 TB, współczynniku wzrostu 50% rocznie i czasie intensywnego przetwarzania danych wynoszącym 60 dni wymaga zakupu macierzy VNX5500 wyposażonej w 200 napędów SAS 15 tys. RPM. Tymczasem te same parametry można osiągnąć w mniejszej macierzy VNX5300 wyposażonej w moduły SSD dla FAST Cache i FAST VP, zestaw szybkich dysków 15 tys. RPM oraz wolnych, ale pojemniejszych SATA, przy czym wszystkie pule są zarządzane przez FAST VP. Konfiguracja o podobnej wydajności i pojemności, ale korzystająca z dobrodziejstw pamięci Flash kosztuje wtedy mniej niż połowę ceny pierwszego wariantu.

Paweł Tokarski, dyrektor techniczny w firmie EMC

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

TOP 200