2012/02/06

i/o cache w serwerze - niby nic nowego, ale ...

Dzisiaj EMC pokazał produkt, który od jakiegoś czasu ukrywał się pod nazwą "Project Lightning". Oficjalna nazwa to VFCache. Jest to rozwiązanie, które zwiększa wydajność macierzy EMC. Wykorzystuje w tym celu pamięć Flash w postaci karty PCI-e instalowanej w serwerze. Na tym zasobie tworzony jest cache dla operacji odczytu z dysków. Cache w systemie operacyjnym to nic nowego. Jednak dzięki technologii SSD może być go dużo więcej. W przypadku tego rozwiązania od 50 do 300 GB.

EMC nie jest jedyna firmą, która wpadła na pomysł takiego właśnie wykorzystania pamięci Flash. Od kilku miesięcy przyglądam się podobnym rowiązaniom. Najciekawiej wygląda produkt firmy VeloBit. Robią cache na RAM i SSD. Zastosowali dodatkowo kompresję. Dzięki temu rozmiar ich cache może zwiększyć się nawet kilkakrotnie. Poza tym nie mają ograniczeń co do stosowanych SSD, a macierze nie muszą być od EMC :) Jestem właśnie w trakcie testów tego produktu. Po zakończeniu podzielę się wnioskami.

Inne produkty z rodziny "server-side cache":
i jeszcze produkt opensource na Linux - facebook flashcache - to też będę chciał przetestować.

2011/08/16

Zagadka w stylu vintage

Dzisiaj miałem pół dnia prac fizycznych w serwerowni - porządki. Przy okazji znaleźliśmy kilka ciekawych eksponatów. Jestem ciekaw, czy wiecie co jest w tym pudle? Nagroda honorowa - tytuł IT kombatanta :)


2011/08/10

Nimble Storage - kompresja w macierzy

To jest bardzo miłe jak spełniają się moje przewidywania. Szkoda, że nie w każdej dziedzinie (np. kurs franka szwajcarskiego). W temacie storage udaje mi się jednak czasem trafić. Tak też stało się w temacie kompresji danych. Na początku roku pisałem, że będzie to nowy trend w budowaniu macierzy dyskowych. Minęło kilka miesięcy i oto jest pierwsza macierz, w której kompresja danych to jedna z głównych funkcjonalności. Redukuje zapotrzebowanie na dyski i dodatkowo zwiększa wydajność. Oczywiście nie jest to produkt dużego gracza na rynku storage -oni wolą sprzedawać dużo dysków. Macierz tą zrobiła firma NimbleStorage , start-up z Kaliforni.


Rozwiązanie to ma też wiele innych fajnych cech jak: cache na flash (ssd), wbudowany mechanizm backupowy oparty na snapshotach, replikacja. Fukcje te dzięki kompresji są bardziej wydajne i efektywne. A tak to reklamują:


2011/02/01

Dyskietka w kosmosie


2011/01/31

Kompresja danych, a wydajność

Doświadczenie jest fajne, ale może prowadzić do rutyny, a to nie jest dobre. Myślenie się wyłącza, umysł się rozleniwia, robimy i mówimy cały czas to samo i w ten sam sposób. Warunki tymczasem zmieniają się i trzeba się do nich ciągle dostosowywać. Już kiedyś o tym pisałem tłumacząc się z mojego naiwnego tłumaczenia wyższości RAID10 nad RAID5. Jak widać sam się za dużo nie nauczyłem, bo oto kolejny raz wpadłem w pułapkę rutyny. Tym razem sprawa dotyczy tytułowej kompresji danych.

Kiedyś sprawa była prosta. Kompresja to ciężki proces, mocno angażujący procesor. Co prawda można dzięki niej upakować więcej danych na mniejszej przestrzeni, ale powoduje to znaczny spadek wydajności. Determinowało to przeznaczenie tej funkcji gdzieś w okolicach archiwizacji i backupu. Takie właśnie miałem podejście do tego tematu jeszcze w zeszły piątek, z rana. Potem poszedłem na warsztaty Oracle z migracji do wersji 11 i już na pierwszym wykładzie dotarło do mnie jak bardzo się mylę.

Sesję prowadził pan Piotr K., a jej tematem były nowe funkcje jedenastki, w tym Oracle Advanced Compression. Mechanizm ten pozwala na kompresję obiektów strukturalnych (tabele w relacjach) na poziomie bloku bazy danych. Dzięki temu można znacznie zredukować zapotrzebowanie na pamięć masową - co jest jasne. Dodatkowo jednak baza generuje mniej operacji i/o (w spakowanym bloku jest przecież więcej danych). To też jest oczywiste, ale dotarło do mnie po raz pierwszy. Świadomość tego faktu spowodowała, że nie zaprzeczyłem gdy pan Piotr stwierdził, że mechanizm ten może również pozytywnie wpłynąć na wydajność bazy danych. Przecież procesory są coraz szybsze i muszą czekać na wolne dyski. Okazuje się, że często dla wydajności całego systemu zysk w postaci mniejszej liczby operacji i/o jest większy niż strata związana z wykonywaniem kompresji.

Kompresję jako mechanizm zwiększający wydajność storage wykorzystują też nowe kontrolery SSD firmy SandForce. Używają one do tego dedykowanego procesora. Wspominałem o tym w zeszłym miesiącu, ale bez zrozumienia tematu. Teraz zastanawiam się, czy niedługo nie pojawią się macierze z taką funkcjonalnością. A może dyski twarde? Myślę, że to będzie nowy trend.

2011/01/27

Xiotech Hybrid ISE

O firmie Xiotech usłyszałem po raz pierwszy dwa lata temu. Szukałem wtedy nowości na rynku macierzy dyskowych. Konkretnie potrzebowałem konkurenta w przetargu dla 3PAR'a. Nie przepadam za tradycyjnymi macierzami. Mimo ciągłego udoskonalania bazują one na pomysłach sprzed kilkudziesięciu lat! Powoduje to, że trzeba się nagimnastykować aby osiągnąć wysoką wydajność, a tym bardziej aby utrzymać ją w całym cyklu życia macierzy. Poza tym zarządzanie - niewygodne i powolne.

Xiotech stworzył coś nowego - ISE - Inteligent Storage Element. Został on zaprojektowany przez zespół pracowników firmy Seagate. Ich celem było zbudowanie rozwiązania storage, które będzie niezawodne i wydajne. Xiotech kupił ten projekt. ISE to tak naprawdę macierz. Ma jednak zaimplementowane mechanizmy i rozwiązania dzięki którym osiąga kilkanaście tysięcy SPEC-1 IOPS i dostaje 5 lat gwarancji na niezawodność od producenta. Do tego proste zarządzanie.
Te kilka lat temu nie zainteresowałem się mocniej tym produktem ze względu na jego stosunkowo małą pojemność - kilkanaście TB. Ostatnio jednak znowu zaciekawiła mnie oferta tej firmy. Zaprezentowali bowiem nowy produkt Hybrid ISE. Jak łatwo się domyślić włożyli do środka SSD. Dodali do tego mechanizm Continuous Adaptive Data Placement, czyli automat do przenoszenia danych między HDD a SSD i już mi się podoba. Mimo ciągle małej pojemności ~14 TB wyniki testów są bardzo ok - 31000 SPEC-1 IOPS!

df - Linux mnie zadziwił

Pracuję z UNIX'ami już kilkanaście lat, ale czegoś takiego jeszcze nie widziałem:

??

2011/01/12

Kontroler w SSD i trochę o pamięci Flash

SSD bez dobrego, wbudowanego kontrolera jest niewydajny i awaryjny. Wszystko przez niedoskonałości Flasha. Zapewne Dr. Fujio Masuoka, projektując ten układ, nawet nie podejrzewał, że stanie się on realną alternatywą dla magnetycznych dysków. Pierwotnie został on stworzony do przechowywania firmware'ów i bios'ów. Zastosowanie Flash'a umożliwiło aktualizację tych programów bez konieczności wymiany kości. W porównaniu do stosowanych wcześniej pamięci ROM był to ogromny krok naprzód, mimo nieoptymalnej i 'brutalnej' metody zapisu. Jest to bowiem w zasadzie operacja sekwencyjna, która wymaga wcześniejszego wymazania poprzedniej wartości całego segmentu danych. Przy czym kasowanie wykonywane jest poprzez przyłożenie stosunkowo wysokiego napięcia, co przy wielu cyklach powoduje zniszczenie komórek pamięci.

"Flashowanie" firmware wykonywane jest rzadko i jest to operacja sekwencyjna. Dysk w komputerze to już inna historia. Mimo, że statystycznie większość plików jest niemodyfikowana, to są jednak takie, które zmieniane są bardzo często i to w różnych miejscach. Dodatkowo zapis wykonywany jest małymi bloczkami. Takiego traktowania Flash nie lubi i potrzebuje do tego pomocnika. Tutaj właśnie pojawia się kontroler, element który powoduje, że jeden SSD jest dobry, a drugi już nie.

Nawet pamięć Flash na kluczu USB ma kontroler. To samo dotyczy kart pamięci SD, CF i innych. Ich rola jest stosunkowo prosta. Realizują zapis poprzez wykonanie poniższych czynności:

- odczyt zawartości całego segmentu pamięci flash do bufora
- kasowanie segmentu pamięci flash
- aktualizacja danych w buforze
- zapis danych z bufora do segmentu pamięci flash

Pierwsze SSD posiadały podobnie działający kontroler. Skutki takiego zagrania łatwo przewidzieć - słaba wydajność i krótka żywotność. Uwaga, bo nadal pojawiają się takie kwiatki! Prawdziwy kontroler SSD musi się bardziej wysilić:

- liczy ile razy segmenty były kasowane,
- optymalizuje ilość kasowań segmentu poprzez zapis danych w innym, mniej używanym segmencie,
- migruje i deaktywuje nadmiernie wykorzystywane i uszkodzone segmenty,
- organizuje kości pamięci w RAISE (Redundant Array of Independent Silicon Elements) co zwiększa bezpieczeństwo danych i przyspiesza operacje,
- efektywnie zarządza przestrzenią poprzez migracje danych z mało zajętych segmentów,
- optymalizuje proces zapisu poprzez kasowanie segmentów w tle

Nie wymieniłem tu wszystkich technologii. Są jeszcze takie, o których się nie pisze i takie, których nie za bardzo rozumiem (np. kompresja - ma niby zwiększać wydajność). Tak czy inaczej dobry kontroler to podstawa w SSD. Przy zakupie warto zajrzeć do specyfikacji i sprawdzić co siedzi w danym produkcie.

2011/01/11

Marvell HyperDuo - hybrydowy kontroler SATA

SSD szybko nie zastąpi dysków twardych. Głównie ze względu na wysoką cenę. Dlatego coraz częściej pojawiają się technologie, które sprytnie łączą wysoką wydajność SSD i tanią, dużą pojemność HDD. W dziedzinie dużych macierzy są to mechanizmy typu EMC Fast, albo 3PAR Adaptive Optimization. Adaptec dodał technologię MaxIQ do swoich kontrolerów SAS/SATA. W połowie poprzedniego roku z kolei Seagate pokazał hybrydowy dysk Momentus XT.

W ostanich dniach pojawił się nowy produkt - kontroler SATA Marvell 88SE9130.

Ten chip już niedługo pojawi się na płytach głównych takich producentów jak Asus, Gigabyte, MSI czy ASRock. Podłączając do komputera wyposażonego w ten układ dyski SSD i HDD będzie można utworzyć na nich hybrydową pamięć masową. Układ zadba o to aby dane trafiały na odpowiedni nośnik - często dostępowanie na SSD, a te rzadko używane na HDD. Proste.

2010/07/28

Spotkanie zarządu EMC