Polskie Forum Emule - Lossless Music Download, Audio HQ Releases
Home arrow Knownledge arrow Cała prawda o wydajności twardych dysków i SSD
środa, 20 wrzesień 2017
ED2K CATEGORIES
Discography
Lossless Music
Lossy Music
DVD Audio / Multichannel
DVD-Music Video
LQ concert's / Document's
Covers
Windows Software
Linux
[RS] CATEGORIES
Lossless Music
DVD-Music Video
LOGIN FORM ( only TEAM )
Username

Password

Remember me
Forgotten your password?

Cała prawda o wydajności twardych dysków i SSD
sobota, 14 sierpień 2010
Twarde dyski są wolne i znacznie szybsze nie będą. Z tego powodu nasze komputery nie działają tak szybko, jak by mogły. Procesor, zamiast wykonywać zlecone mu zadania, musi czekać na dane, których dysk nie jest mu w stanie dostarczyć w krótkim czasie. Przekonywanie, że jest inaczej, to mydlenie oczu nieistotnymi informacjami. Czy SSD jest wybawieniem z tej sytuacji? Aby się o tym przekonać warto poznać czym w rzeczywistości jest wydajność napędów dyskowych. Trochę historii...



W 1956 r. firma IBM publicznie zaprezentowała komputer IBM RAMAC 305. Była to maszyna wyjątkowa ze względu na fakt zainstalowanej w niej pamięci masowej zbudowanej z rotujących, magnetycznych talerzy. Komponent ten miał nazwę IBM 350 i był to pierwszy twardy dysk. Wywołało to rewolucję w informatyce. Wcześniej dane przechowywano najczęściej na kartach perforowanych. W dużych firmach ich ogromne ilości były układane w skrzyniach (tub files). Gdy zachodziła konieczność użycia danych (np. wystawienie faktury), pracownik ręcznie odszukiwał odpowiednie karty (dane klienta i kupowanych produktów), ładował je do czytnika i uruchamiał właściwy program (tworzenie faktury). Następnie zabierał je oraz ewentualnie nowe karty wynikowe (faktura) i odkładał w tub file. Aby optymalnie wykorzystać cenny czas pracy komputera zlecenia wykonania obliczeń zbierane były w większe paczki. Karty układano w sekwencje zgodnie z kolejnością zleceń w paczce i dla wszystkich uruchamiano przetwarzanie. Dzięki temu nie trzeba było biegać między tub files a komputerem za każdym razem, jak pojawiło się nowe zlecenie. Ten wsadowy tryb pracy (batch), mimo, że jest efektywny, ma jedną istotną wadę - oczekiwanie na wynik wymaga cierpliwości. Głównym zadaniem inżynierów IBM przy tworzeniu RAMAC 305 było stworzenie nowego rodzaju systemu, którego podstawą jest uzyskiwanie rezultatów działania bezpośrednio po jego zleceniu. Z czasem taki tryb pracy z komputerem przyjął nazwę OLTP - OnLine Transaction Processing.



Rozważano także użycie technologii taśmowej. Stosowano ją wtedy w systemach komputerowych już od pięciu lat. Prędkość sekwencyjnych zapisów i odczytów na taśmy była ponad 2x większa niż w przypadku IBM 350. Jednak próby losowego dostępu do danych nie przynosiły dobrych rezultatów. Podobnie jak w przypadku tub files, taśmy można było efektywnie używać tylko do przetwarzania w trybie wsadowym.

Pomysł na umieszczenie danych na rotujących magnetycznych talerzach okazał się najlepszy. Zastosowanie IBM 350 umożliwiło szybki, losowy dostęp do danych. Zmieniło to sposób pracy z komputerem. Operator IBM RAMAC 305 mógł uruchomić program dla dowolnych danych w dowolnym czasie i od razu uzyskać wynik obliczeń. Taki sposób dostępu do informacji był tak istotny, że od niego wzięła się właśnie nazwa RAMAC - Random Access Method of Accounting and Control, czyli Losowa Metoda Dostępu dla Księgowości i Kontroli.

Fizyczność dysku

en historyczny rys miał na celu pokazanie jakie były powody powstania dysków twardych. Mimo, że od tamtych wydarzeń minęło już ponad pół wieku, są one nadal aktualne. Znacznie zwiększyła się jednak ilość danych oraz nasze wymagania. Pracując z komputerem oczekujemy natychmiastowego wyniku naszych operacji. Jeżeli do ich wykonania wymagane jest skorzystanie z informacji zapisanych na dysku, powinny być one szybko odszukane i dostarczone. Nie chcemy też czekać na zapisanie wyników naszej pracy. Aby sprostać tym oczekiwaniom dysk musi kręcić się z wielką prędkością, a jego głowica szybko i precyzyjnie lokalizować sektory szerokości zaledwie kilku atomów. Jest to konieczne dla uzyskania wysokiej wydajności i pojemności. Budowa dysków twardych wymaga od ich konstruktorów przełamywania kolejnych fizycznych barier. Niestety większość z nich jest już niemożliwa do sforsowania.

W 2000 roku firma Seagate zaprezentowała pierwszy dysk kręcący się z prędkością 15 tys. obrotów na sekundę (RPM). Dzisiaj jest to nadal najlepszy wynik, dostępny tylko w najdroższych modelach. Większość dostępnych na rynku HDD ma 7200 RPM. Ruchy głowicy w najszybszym aktualnie dysku są tylko o 25% szybsze od wspomnianego Seagate'a. Oznacza to, że realna wydajność dysków twardych w ciągu 9 lat wzrosła o 16%. Jest to fakt, którym producenci nie chcą się chwalić i w sumie nie ma co się dziwić, jako że przemilczanie tej prawdy jest wymogiem współczesnego marketingu, podobnie jak eksponowanie nieistotnych parametrów. W przypadku HDD przykładem takiej nieistotnej informacji jest maksymalna prędkość transmisji danych wyrażana w MB/s.

Mydlenie oczu

Podawana przez producentów maksymalna prędkość transmisji danych jest z roku na rok coraz większa. Wynika to głównie z coraz szybszych interfejsów (SATA, SAS, FC). Ich możliwości ciągle się zwiększają, co jest związane z postępem w dziedzinie elektroniki. Nie oznacza to bynajmniej, że jednocześnie rośnie wydajność dysku. Do osiągnięcia wyników transferu prezentowanych w specyfikacjach niezbędne jest wykonanie testu, który nie ma nic wspólnego z rzeczywistością. W tym celu generowany jest sekwencyjny strumień danych złożony w wielkich bloków (1, 2, 4 MB). Jest to dobra metoda na sprawdzenie mocy napędów taśmowych, które są przeznaczone do obsługi sekwencyjnych strumieni danych. Nie sprawdza się jednak w przypadku dysków, których główne przeznaczenie to udostępnianie danych w sposób losowy.

Aby poznać wydajność HDD trzeba sprawdzić jak będzie on sobie radził w warunkach, w których najczęściej przyjdzie mu pracować. Parametrem, który to najlepiej obrazuje, jest średnia ilość losowych operacji zapisu/odczytu na sekundę (IOPS). Wartości tej nie można znaleźć w specyfikacjach dysków twardych. Są tam jednak dostępne informacje, dzięki którym łatwo go obliczyć samodzielnie - prędkość obrotowa dysku (RPM) i średni czas pozycjonowania głowicy (average seek time). Parametry te określają generowane przez dysk opóźnienia w dostępie do danych. Cała reszta danych dostarczanych przez producentów nie jest istotna dla wydajności. Dotyczą one elektroniki, a w porównaniu z elementami mechanicznymi jest ona dużo szybsza.

IOPS to informacja o tym, ile razy w ciągu sekundy dysk jest w stanie ustawić głowicę nad zadanymi sektorami. W tym celu trzeba obliczyć ile średnio trwa pojedynczy losowy dostęp do danych (average access latency). Jest to równe sumie opóźnień generowanych przez obroty dysku (average rotation latency) i ruch głowicy (average seek latency):

average rotation latency = 60s / RPM / 2
average seek latency = (read seek time + write seek time) / 2
average access latency = average rotation latency + average seek latency


Teraz wystarczy tylko wyliczyć ile operacji I/O przy takim opóźnieniu jest w stanie wykonać się w ciągu sekundy i otrzymujemy nasze średnie IOPS dla operacji losowych:

average random IOPS = 1000ms / average access latency

Przykład:

dysk Seagate Barracuda ES.2 1TB 7200 RPM
read seek time: 8,5 ms
write seek time: 9,5 ms


avarage rotation latency 60s / 7200 / 2 = 4,2ms
avarage seek latency (8,5ms + 9,5ms) / 2 = 9ms
average access latency 4,2ms + 9ms = 13,2ms
average random IOPS 1000ms / 13,2ms = 75,75

Użycie takiego kalkulatora ułatwia liczenie. Dopiero znając wartość parametru IOPS można wyliczyć prędkość transferu danych dla różnych wielkości bloku:

75,75 * 4 kB = 303 kB 75,75 * 8 kB = 606 kB 75,75 * 32 kB = 2424 kB 75,75 * 128 kB = 9696 kB 75,75 * 512 kB = 38784 kB 75,75 * 1 MB = 75,75 MB


Jak widać przy losowych operacjach, dopiero bardzo duże wielkości I/O pozwalają na uzyskanie szybkiego transferu danych. Wiemy, że w rzeczywistości komputery operują głównie małymi blokami. Dlatego też przy codziennej pracy trudno zaobserwować prędkości większe od 20 MB/s. Im więcej IOPS, tym wyniki będą lepsze. Problem jest taki, że najszybszy twardy dysk średnio wykonuje 186,92 losowych IOPS i raczej nie ma perspektyw na polepszenie tego wyniku.

Od czasu IBM 350 pojemność dysków wzrosła 476625 razy (4,4 MB vs 2 TB). Wydajność tylko 112 razy (1,66 IOPS vs 186,92 IOPS). Niecałe 200 IOPS przy tak dużej ilości danych magazynowanych na pojedynczym HDD to bardzo mało. Już od dawna sposobem na zwiększenie komfortu pracy z dyskiem jest wykorzystanie pamięci półprzewodnikowej. Stosuje się ją jako cache w wielu miejscach: system operacyjny, kontroler, macierz, a także w samym HDD. Odciąża ona dysk. Dzięki temu operacje na najczęściej używanych obszarach danych są wykonywane znacznie szybciej. Im więcej pamięci podręcznej tym lepsze są efekty. Ta zasada była podstawą dla powstania rozwiązań SSD - Solid State Drive, czyli pamięci masowej pozbawionej ruchomych elementów mechanicznych.

My name is Solidny, Stan Solidny


Dane w tego typu rozwiązaniach przechowywane są nie na materiale magnetycznym, a w pamięci półprzewodnikowej. Warunkiem, jaki musi ona spełniać, jest utrzymanie stanu komórek po odłączeniu zasilania. Dla komputera prezentują się jako zwykły twardy dysk, co sprawia, że ich implementacja jest łatwa.



SSD staje się coraz bardziej popularne. Dużą zasługę w tym ma dynamiczny wzrost produkcji i sprzedaży pamięci flash. Krótko mówiąc, technologia ta stała się na tyle tania, że używanie jej jako storage jest już opłacalne. Najbardziej znaną postacią SSD są pendrive'y USB. Idealne do przenoszenia danych między komputerami. Zastąpiły zawodne i mieszczące mało danych nośniki magnetyczne (dyskietki, zipy, taśmy). Kolejnym krokiem w rozwoju Solid State Drive było zastosowanie tej technologii w komputerze jako podstawowej pamięci masowej. W tym celu powstała ich nowa forma - kości flash zamknięte w obudowie standardowego dysku 3,5", 2,5" lub 1,8". Do komunikacji z komputerem wykorzystują typowe interfejsy - SATA, SAS, FC.

Pamięci flash w porównaniu z magnetycznymi talerzami mają wiele zalet:

* brak opóźnień wynikających z ruchu elementów mechanicznych
* dużo większa odporność na wstrząsy, upadki itp.
* zdecydowanie niższy pobór prądu
* bezgłośna praca
* czas odpowiedzi mniejszy o rząd wielkości (ms vs ns)
* brak konieczności chłodzenia napędu

Na wydajność przekłada się to w postaci rewelacyjnej obsługi losowych operacji odczytu.

Problemy z pisaniem

W przypadku losowych zapisów nie jest już tak kolorowo. Wynika to z konstrukcji pamięci flash. Powstała ona jako pamięć o zapisie sekwencyjnym. Jej początkowe przeznaczenie to przestrzeń na firmware'y i BIOS'y gdzie taki tryb pracy sprawdza się znakomicie. Flash nie umożliwia bezpośredniej zmiany zawartości komórek pamięci. W tym celu należy wykonać najpierw operację kasowania. Dodatkowo nie można tego zrobić na pojedynczej komórce, tylko na całym bloku (erase segment). Wyklucza to losowy dostęp dla zapisu danych. Zapewnienie takiej funkcjonalności wymaga dodatkowych zabiegów. Każdy producent SSD realizuje to w inny sposób, różnymi algorytmami i z wykorzystaniem różnych dodatkowych komponentów sprzętowych.

Brak standardu występuje również w przypadku sposobów radzenia sobie z drugą wadą pamięci flash, jakim jest jej stosunkowo krótka trwałość. Operacja kasowania segmentu komórek wymaga użycia wysokiego napięcia. Twórca tej technologii porównywał to z błyskiem lampy fotograficznej (flash). Efektem takiego traktowania półprzewodników jest degradacja ich właściwości. Zależnie od typu kości, prawidłowe funkcjonowanie komórki szacowane jest na od kilkudziesięciu tysięcy do kilkudziesięciu milionów cykli kasowania-zapisu. Jest to wystarczające dla pendrive'ów wykorzystywanych jako pamięć przenośna. Bez dodatkowych mechanizmów te liczby mogą się jednak okazać za małe w przypadku przestrzeni roboczych, na których zapisy są wykonywane bardzo intensywnie. Jak poznać SSD?

Pamięć masowa oparta na półprzewodnikach to ciągle nowość. Aktualnie kilkanaście firm oferuje napędy SSD. Każda z nich ma swoje pomysły na ich budowę. Nie zawsze są one dobre. Różnice w jakości i wydajności są znaczne, a wybór właściwego rozwiązania jest trudny. O ile dla dysków twardych możliwe jest obliczenie mocy produktu na podstawie jego specyfikacji, to w przypadku SSD takiej możliwości już nie ma. Jedyny sposób na poznanie możliwości konkretnego produktu to właściwie przeprowadzone testy wydajnościowe.

Wynikiem takich benchmarków będzie oczywiście średnia liczba losowych operacji. Część producentów publikuję te informacje. Trudno jednak uznać ich rzetelność skoro nie wiadomo, w jaki sposób zostały one obliczone/zmierzone. Organizacja Storage Performance Council, zajmująca się testowaniem rozwiązań pamięci masowej, póki co też nie opublikowała jeszcze wyników dla SSD. W takiej sytuacji pozostaje wykonać taki benchmark samodzielnie.

Uzyskanie wiarygodnych wyników jest uzależnione od prawidłowego wykonania testów. W tym celu powinny zostać spełnione następujące warunki:

* Przed testami cała powierzchnia SSD kilkakrotnie zapisana losowymi danymi - Jakość algorytmów odpowiedzialnych za losowy zapis i przeciwdziałających utracie danych można poznać dopiero wtedy, gdy wartość każdej z komórek pamięci flash zostanie kilkakrotnie zmieniona.
* Osobne testy dla odczytu, zapisu i mieszanego strumienia I/O - W przypadku HDD zapis trwa tylko odrobinę dłużej niż odczyt. Do określenia wydajności wystarcza w tym wypadku tylko jeden parametr - IOPS. Duża różnica w czasie wykonania tych operacji na urządzeniach SSD wymusza zebranie aż trzech wyników: średnia ilość losowych operacji odczytu (OPS) - 100% odczytów; średnia ilość losowych operacji zapisu (IPS) - 100% zapisów; średnia ilość losowych operacji odczytu/zapisu (IOPS) - 50% odczytów / 50% zapisów
* Operacje I/O wykonywane bezpośrednio na surowym urządzeniu - Testy na systemie plików (NTFS, EXT3, ...) nie będą wiarygodne ze względu na cache systemowy.
* Każdy test powinien trwać kilka godzin - Napędy SSD to w dużej części skomplikowane algorytmy zapisane w firmware. Aby się przekonać czy działają prawidłowo dobrze jest je sprawdzić pod maksymalnym obciążeniem w długim okresie czasu.
* Niedopasowana wielkość operacji I/O (un-aligned I/O) - Aktualnie pamięć Flash do zapisu używa 4kB segmentów danych. Pisanie mniejszym blokiem wymusza uruchomienie algorytmu, który najpierw odczyta zawartość całego segmentu, zmodyfikuje go nowymi danymi, a na koniec zapisze w docelowym miejscu (read-modify-write). Trwa to znacznie dłużej niż zapis całego segmentu.

Testy można wykonać różnymi programami. Muszą one jednak mieć możliwość:

* generowania zarówno sekwencyjnego jak i losowego strumienia danych
* regulacji stosunku operacji odczytu do zapisu
* ustawienia różnych wielkości operacji I/O
* użycia surowych urządzeń
* określenia współczynnika trafień w cache

Wszystkie te funkcjonalności ma aplikacja Vdbench. Jest to oprogramowanie napisane w języku Java co sprawia, że można je używać w różnych systemach operacyjnych i platformach sprzętowych. Przebieg testu przedstawiany jest w sposób tekstowy, ułatwiający interpretację wyników i tworzenie wykresów. Vdbench jest dostępny na zasadach wolnego oprogramowania.

Na koniec...


Historia HDD rozpoczęła się ponad 50 lat temu. Dzisiaj to urządzenie powszechne. Jest obowiązkowym elementem niemal każdego komputera. Kręci się w iPod'ach, kamerach, telewizorach... Znacząca większość informacji i wiedzy ludzkości jest magazynowana i udostępniana z dysków twardych. Technologia ta cały czas się rozwija. Dotyczy to jednak jedynie pojemności. Wydajność pozostaje bez zmian już od bardzo dawna. Mimo usilnych starań marketingu i reklamy, nie da się ukryć, że dysk jest "metalową kulą u nogi" współczesnych komputerów. Rozpowszechnienie rozwiązań Solid State jest szansą na znaczne polepszenie mocy pamięci masowej. Skok w wydajności przypomina przesiadkę z kart perforowanych na IBM 350.

O ile o mocy HDD wiemy praktycznie wszystko, to wokół SSD ciągle jest mnóstwo tajemnic, spekulacji, nieprawdziwych lub nieaktualnych danych. Jednocześnie są to bardzo drogie rozwiązania. Część z dostępnych aktualnie produktów wydajnością nie odbiega od dysków twardych. Czasami okazuje się, że w realnych warunkach sprawują się one nawet gorzej. Inne rozwiązania sprawdzają się z powodzeniem nawet w macierzach. Na horyzoncie pojawiają się też nowe technologie pamięci półprzewodnikowych, które z czasem zastąpią niezbyt doskonały flash.

Minie jeszcze parę lat zanim ta sytuacja się ustabilizuje. Prawdopodobnie pozostanie na rynku kilka firm, których napędy będą miały porównywalną wydajność. Wtedy wybór będzie równie prosty jak dziś w przypadku HDD. Póki co, aby nie wydać niepotrzebnie pieniędzy na produkt, który nie będzie spełniał naszych oczekiwań, pozostaje nam sprawdzać wyniki opisanych testów. Aktualnie są one trudno dostępne i szczątkowe. Ta sytuacja poprawi się wraz ze wzrostem popularności SSD. Niemniej, z pewnością Solid State Drive jest właściwym kierunkiem rozwoju pamięci masowej.

źródło: Marek Wołynko, ekspert ds. pamięci masowych, Netia SA
Last Updated ( czwartek, 05 maj 2011 )
Design by Spanner © Velvet Underground Forum
Pliki lub dane, do których linki można znaleźć na forum, nie są zgromadzone na tej stronie internetowej lub serwerze strony. Ta strona pokazuje tylko i wyłącznie sumy kontrolne znalezione wewnątrz sieci Edonkey2000.
NO files or data the links on this website are pointing to are stored on this website or server the website is hosted on in any way or form. This site is only pointing out links found inside the Edonkey2000 Network, hosted on OTHER computers connected to that network
Bajo ningún concepto, ni este sitio ni su servidor albergan ficheros. Este sitio sólo recaba enlaces que se encuentran ya en la red de Edonkey2000, concretamente, en ordenadores conectados a susodicha red.