Dyski

Testy technologii Intel Matrix RAID Storage, oraz Technologii kolejkowania NCQ

przeczytasz w 6 min.

Żyjemy w cyfrowym świecie. To oklepane i nieco pompatyczne hasło z reklamówek, ale w rzeczywistości w postaci cyfrowej tworzymy niemal wszystko: słuchamy, nagrywamy, czytamy, oglądamy, zapisujemy i dzielimy się danymi. Poczynając od domowych filmów, poprzez zdjęcia na dokumentach skończywszy. Chcąc czy nie chcąc zależymy od pewności danych przechowywanych na twardych dyskach naszych komputerów. Jak ważna jest ta pewność przekonał się ten, kto doświadczył w swoim życiu awarii dysku twardego. Z reguły uszkodzenie samego urządzania, jakim jest dysk twardy, to najmniejszy problem. Ważne są wyłącznie dane przechowywane na tym dysku. Pal sześć, jeśli były tam zdjęcia z imienin Babci, nie wysłany list do Cioci, oraz kilka ulubionych utworów muzycznych zgranych 'z niedawno kupionej płyty';) . Jeśli jednak na martwym już dysku posiadaliśmy jedyną kopie naszej kilku miesięcznej pracy (np.: pisaną właśnie super grę, która ma zarobić miliony ;) albo baza danych niezbędna aby nasza raczkująca działalność gospodarcza mogła normalnie funkcjonować.

Jeśli robimy regularny backup (przynajmniej raz na tydzień) nie powinniśmy mieć problemu (pod warunkiem że dane backup'ów przechowywane są na innym dysku lub płycie CD). Jednak jak pokazuje życie, najczęściej nie chce nam się tego robić, zapominamy o nim lub nie doceniamy znaczenia kopii zapasowej (pozdrowienia dla pewnego znajomego programisty, tworzącego właśnie najlepszą w Polsce grę, któremu cudem udało się uratować dane przez wymianę elektroniki w dyskach - Wojtek ;)

Niestety większość ludzi zakłada, że tego typu awarie ich nie spotkają. Dyski padają Kowalskiemu z forum "problemy', sąsiadowi z góry, wujkowi Stefanowi. Ale w żadnym wypadku nie nam. Z pomocą przychodzi nam nowa technologia Intela: Matrix RAID Storage Technology.

Co to jest RAID pisaliśmy już wcześniej w artykule poświęconym macierzom. Co ma do powiedzenia na ten temat Intel? Otóż lider z krzemowej doliny wprowadził jako pierwszy technologie RAID do mostków południowych na swoich płytach głównych. Inni producenci chcąc udostępnić technologię RAID muszą posiłkować się integracją zewnętrznych kontrolerów macierzy. Są to najczęściej chipsety firm SiliconImage, Promise, Marvell oraz coraz rzadziej HighPoint. Takie rozwiązanie nie jest zbyt wygodne, oraz często podnosi koszt całej płyty głównej, przez co tego typu rozwiązania trafiają tylko na rynek entuzjastów komputerowych. Ochrony danych potrzebują jednak wszyscy, nie tylko zapaleńcy.

Kreator tworzenia wolumenu RAID w Intel Aplication Accelerator

Matrix Storage Technology składa się z dwóch elementów. Pierwszym jest komponent sprzętowy, czyli odpowiedni mostek południowy. W chwili obecnej wspierane są ICH5R, ICH6R oraz ICH6WR. Drugim elementem jest odpowiednie oprogramowanie - jest to dobrze znany Intel Aplication Accelerator. Dzięki takiemu rozwiązaniu zyskujemy dwa bardzo ważne atrybuty: dostępność dla każdego, oraz unifikacje i łatwość obsługi. Pamiętajmy, że nie każdy musi posiadać dyplom specjalisty komputerowego. A jeśli wspomniany już wcześniej sąsiad z góry również posiada takie samo rozwiązanie i korzysta z niego bez problemu - wdrożenie pójdzie nam zdecydowanie łatwiej.

... wybieramy dwa dostępne dyski

No dobrze, co więc zyskujemy? Dwie rzeczy, wydajność oraz bezpieczeństwo - Macierz RAID 0, oraz RAID 1. Niestety w przypadku mostka ICH5R mogliśmy z nich korzystać zamiennie, albo podnosić wydajność, albo podnosić bezpieczeństwo. Wydawało by się, że dla każdego coś odpowiedniego. Jednak nie zawsze. Jeśli potrzebowaliśmy wydajności i bezpieczeństwa - dwa porty Serial ATA oferowane przez ten mostek to za mało. Do tej pory implementacja poziomów mieszanych, czyli np. 0+1 wymagała obecności większej ilości portów - minimum 4. Jest to przecież nic innego jak macierz RAID 0 stworzona z dwóch macierzy RAID 1. Mamy więc wydajność i bezpieczeństwo. Sprawa zmieniła się na lepsze wraz z wprowadzeniem ICH6R. Po pierwsze mostek ten jest w stanie obsłużyć od 4 do 8 portów SerialATA - czyli z założenia spełnia wstępne warunki aby stworzyć macierz mieszaną. Co więcej, Intel opracował rozwiązanie pozwalające stworzyć macierz 0+1 korzystając tylko z dwóch dysków! Tak, to nie pomyłka.

W tym przypadku warto posłużyć się łopatologicznym przykładem. Wyobraźmy sobie, że posiadamy dwa dyski, a na każdym z tych dysków utworzyliśmy dwie partycje. Dla uproszczenia niech oba dyski będą tych samych rozmiarów, podzielone na dwie równe partycje. Jeśli każdą z partycji potraktujemy nie jako twór logiczny, ale jako odrębne fizyczne urządzenie, to w bardzo prosty sposób będziemy mogli stworzyć macierz 0+1. Niech obie pierwsze partycje zostaną połączone w macierz 'mirror', a więc RAID 1, a z pozostałych dwóch stwórzmy RAID 0. Mamy więc dwa obszary: bezpieczny, dla naszych ważnych danych, oraz wydajny, np. dla gier.

określanie rozmiaru wolumenu RAID

Nie jest to poziom swobody oferowany przez dedykowana macierz 0+1, ale w przypadku warunków domowych wystarcza w zupełności. Co więcej, takie rozwiązanie jest efektywniejsze jeśli chodzi o zagospodarowanie miejsca na dyskach. W przypadku macierzy RAID 0+1, bądź RAID 1 efektywna wypadkowa pojemność użytkowa wynosi zawsze 50% pojemności rzeczywistej dysków. Jednak w naszym przykładzie przy dwóch dyskach i takim rozkładzie partycji, współczynnik ten podnosi się aż do 75%. Oczywiście może on być większy lub mniejszy, w zależności od tego jak podzielimy dyski. Ale to nie koniec rewelacji.

Matrix Storage wspiera migrację macierzy. Co dla użytkownika domowego może mieć kluczowe znaczenie. Migracja jest to nic innego jak zmiana poziomu macierzy w locie bez utraty danych na niej zawartych. Jeśli do tej pory posiadamy jeden dysk i nagle zapragnęliśmy bezpieczeństwa. To po podłączeniu drugiego napędu będziemy mogli stworzyć z nich mirror bez jakiejkolwiek ingerencji w dane zawarte na pierwszym dysku. Do tej pory taki zabieg wymagał najczęściej opróżnienia obu napędów, a co się z tym wiąże dość kłopotliwego dla niektórych przeinstalowania systemu operacyjnego. To nadal nie koniec. ICH6R jako pierwszy na świecie wspiera zapowiadaną dla Serial ATA od dawna technologie NCQ (Native Command Queuing). Cóż to takiego?

NCQ (Native Command Queuing)

Mówiąc prosto jest to sposób na optymalizacje pracy dysku twardego tak, aby zyskał on nieco większą wydajność podczas dużych obciążeń I/O. Podobne rozwiązania wykorzystuje się od lat w wysokowydajnych dyskach SCSI. Jak powszechnie wiadomo, wydajność dysków twardych zależy w głównej mierze od ich wydajności mechanicznej. Jeśli udało by się poprawić wydajność mechaniki, wydajność dysku znacząco by się podniosła. Tutaj z pomocą przychodzi nam właśnie technologia NCQ. Pozwala ona napędowi utworzyć kolejkę z rozkazów, a następnie przesortować i wykonać je w taki sposób, aby mechanika dysku była jak najmniej obciążona.

Znów postaramy się posłużyć przykładem. Wyobraźmy sobie sytuacje w których dysk otrzymuje od kontrolera polecenia odczytania sektorów z następujących cylindrów: pierwszego, ostatniego, drugiego, przedostatniego, trzeciego, środkowego. Klasyczny dysk zacznie dość intensywnie machać głowicami, skacząc miedzy "początkiem" a "końcem" talerzy. Dysk wyposażony w technologie NCQ przestawi sobie kolejność odczytu sektorów z cylindrów na następującą: pierwszy, drugi, trzeci, środkowy, przedostatni, ostatni. Przez co ze względu na mniejsze obciążenie mechaniczne dane zostaną odczytane odczuwalnie szybciej, niż w przypadku klasycznego dysku.

NCQ pozwala kolejkować do 32 rozkazów, co powinno być wystarczające w większości przypadków. Oczywiście podniesienie górnej granicy ilości rozkazów w kolejne nie stwarza żadnych problemów, to prosta zmiana w oprogramowaniu urządzeń. Poza kolejkowaniem rozkazów NCQ wprowadza dodatkowo specjalny tryb komunikacji miedzy napędem hdd a oprogramowaniem działającym po stronie hosta. Nazwano go First Party DMA. Tryb ten pozwala na wykonywanie skomplikowanych sekwencji rozkazów bez ingerencji głównego procesora. Przez to dyski Serial ATA, które wspierają technologie NCQ, działają bardzo podobnie do znacznie droższych dysków SCSI minimalizując obciążenie procesora podczas operacji I/O.

Aby nie być całkowicie gołosłownym przygotowaliśmy dla was kilka testów obrazujących jaki przyrost wydajności może oferować NCQ. Do tego celu wybraliśmy dwa identyczne z pozoru dyski Seagate Baracuda 7200.7 model ST3160823A oraz ST3160827A. Oba posiadają interfejs SerialATA, 8MB pamięci podręcznej oraz 160GB pojemności. Pierwszy to klasyczny model, drugi wyposażony jest w technologię NCQ. Wszystkie testy zostały przeprowadzone na komputerze o następującej konfiguracji.

  • Płyta główna: Intel Desktop Board D925XBC oparta o chipset i925X + ICH6R.
  • Procesor: Intel Pentium 4 Prescott 3.6 GHz
  • Pamięć RAM: 1GB DDR2.
  • Karta graficzna: nVidia GeForce FX 5700 PCI Express.
  • HDD: Seagate Barracuda 7200.7 80GB, Serial ATA

Jako system operacyjny posłużył nam Windows XP Pro SP1 oraz wszystkie dostępne na dzień testu łatki. Zestaw aplikacji nie zmienił się od ostatniego testu, będzie to więc SiSoft Sandra, PCmark 2002, PCmark 2004, HD Tach, WinBench 99. Aby wykluczyć ewentualne zmiany w konstrukcji dysku, poza technologia NCQ porównaliśmy kontrolnie ich wydajność także na kontrolerze, który nie wspiera technologii kolejkowania poleceń. Był to Adaptec 1210A oparty o bardzo popularny chipset SiliconImage 3112. Niestety w ten sposób nie udało nam się powtórzyć wszystkich testów. WinBench 99 i PCmark 2004 z niewiadomych przyczyn odmówiły posłuszeństwa.

Intel ICH6R
Barracuda bez NCQ

PC Mark 2002
PC Mark 2004
Sandra 2004

Intel ICH6R
Barracuda z NCQ

PC Mark 2002
PC Mark 2004
Sandra 2004

Jak widać, różnica w wydajności jest mierzalna. Nie jest to co prawda duży skok, raptem kilka procent. Jednak dzięki porównaniu na kontrolerze nie wspierającym NCQ wiemy, iż nie jest to zasługa odmiennej (lepszej) konstrukcji samego dysku, ale właśnie technologii kolejkowania poleceń. Test był dość przewidywalny, ponieważ tam, gdzie nie powinno być różnicy - faktycznie nie było widać jej. Mówimy tutaj głównie o liniowym zapisie i odczycie danych, na który NCQ nie ma najmniejszego wpływu.

NCQ to raczej zmiana ewolucyjna, kolejny mały kroczek ku zwiększeniu wydajności. Tak na dobra sprawę, największy skok wydajności będzie odczuwalny w środowiskach wielodostępnych/wieloużytkownikowych, a więc głównie na serwerach. W ten sposób ATA, a właściwie Serial ATA przybliżyło się o kolejny kroczek do nadal elitarnego SCSI.

Komentarze

0
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.

    Nie dodano jeszcze komentarzy. Bądź pierwszy!