StorageReview.com

Pomiar wydajności pamięci masowej w oparciu o rzeczywiste zastosowania

Wyobraź sobie, że Twoja aplikacja do ćwiczeń rejestrowałaby jedynie prosty program ćwiczeń, który nigdy nie ulegał zmianie ani nie wymagał żadnej korekty poziomu wysiłku. Dwuwymiarowy wykres Twojego treningu wyglądałby jak płaska linia na monitorze pracy serca, nie dostarczając zbyt wielu informacji o Twojej ogólnej wydajności. Niestety, tak właśnie wygląda wykres syntetycznego testu porównawczego wydajności pamięci masowej stacji roboczej. Tego typu testy porównawcze mają na celu wyodrębnienie wartości szczytowych z urządzenia pamięci masowej przy użyciu specyfikacji dostępu, które są mocno zoptymalizowane pod kątem oprogramowania sprzętowego, sterowników i sprzętu.

Klasycznym przykładem jest pomiar losowego wejścia/wyjścia (IO) przy blokach o rozmiarze 4 KB i bardzo dużej głębokości kolejki. W tym scenariuszu dostawcy mają szerokie możliwości optymalizacji kolejki pamięci masowej i maksymalizacji wyniku IOPS (liczby operacji wejścia/wyjścia na sekundę) dla danego urządzenia. Natomiast rzeczywiste aplikacje stacji roboczych mają średni zakres IOPS na poziomie jednego lub dwóch. Przy tak małej głębokości kolejki, reorderowanie i inne optymalizacje nie mają aż tak dużego wpływu na wydajność; wąskie gardło przesuwa się w kierunku możliwości sprzętowych, nawet w przypadku RAID lub agresywnych hybrydowych/warstwowych architektur buforowania.


Wykres przedstawiający odczyty i zapisy danych w pamięci masowej dla syntetycznego testu porównawczego. Oś X przedstawia przesunięcie od lokalizacji początkowej, w której występuje operacja wejścia/wyjścia. Oś Y przedstawia rozmiar bloku transakcji wykonanej do tej lokalizacji. Na przykład blok o rozmiarze 128 KB wymagałby odczytania 128 KB danych z dysku w określonej lokalizacji przesunięcia, w ramach jednego żądania.

Nieprzewidywalne ścieżki przechowywania
Rzeczywiste aplikacje stacji roboczych nie podążają przewidywalnymi ścieżkami optymalnego dostępu do pamięci masowej. Na przykład w świecie nieliniowej edycji wideo rozmiar bloku jest bardziej zbliżony do formatu kontenera lub metody kodowania niż optymalny rozmiar bloku dla transferu bardzo dużych plików.

Znacznie szybciej byłoby dla aplikacji użycie bloków o rozmiarze 128 KB dla wszystkich dużych plików wczytanych do pamięci, a następnie przeszukiwanie tych danych w mniejszym rozmiarze. Jednak fakt, że aplikacja narzuca inne, mniej optymalne metody dostępu do pamięci masowej, sprawia, że ​​wszelkie syntetyczne pomiary są mniej reprezentatywne dla sposobu przetwarzania rzeczywistej pracy.

Edycja wideo to tylko jeden przykład. Niemal wszystkie aplikacje, nawet te z tej samej branży, korzystają z różnych metod odczytu/zapisu, przez co pomiar szczytowych stanów wydajności jest w dużej mierze nieistotny. Jedynym sposobem na dokładny pomiar pamięci masowej jest odwzorowanie operacji wykonywanych w rzeczywistych aplikacjach.

Udoskonalanie metodologii
W swoim teście porównawczym SPECwpc 2.1, opublikowanym na początku 2016 roku, podkomisja SPEC Workstation Performance Characterization (SPECwpc) wykorzystała IOMeter – narzędzie do pomiaru i charakteryzacji podsystemów wejścia/wyjścia – do symulacji aktywności wejścia/wyjścia w różnych aplikacjach profesjonalnych. Rozmiar i częstotliwość transakcji pamięci masowej zostały zebrane z tych aplikacji, a IOMeter wykorzystał te dane do wygenerowania ciągu transakcji pamięci masowej w określonym przedziale czasowym.

Chociaż ta technika była lepsza niż pomiar maksymalnej przepustowości i opóźnień stacji roboczej, wciąż nie była bliska temu, co faktycznie robią aplikacje. W swojej kolejnej wersji SPECwpc chciał lepiej naśladować zachowanie aplikacji, a jednocześnie uwzględnić wpływ nowych urządzeń SSD, technologii takich jak NAND i 3D Xpoint oraz różnych opcji łączności PCIe.

Opracowując test porównawczy SPECworkstation 3, opublikowany w listopadzie 2018 roku, SPECwpc wykorzystał Monitor procesów systemu Windows do śledzenia transakcji magazynowych z szerokiej gamy profesjonalnych aplikacji zaangażowanych w rzeczywistą pracę. Następnie SPECwpc stworzył narzędzie do odtwarzania, które przekształca te ślady w strumienie transakcji magazynowych, niemal identyczne z tymi z rzeczywistych aplikacji.


Odczyt/zapis dla aplikacji SPECworkstation 3 Handbrake

Zamiast korzystać z rzeczywistych danych z aplikacji, które miałyby rozmiar setek gigabajtów, SPECwpc wypełnił żądania dotyczące pamięci danymi wybranymi losowo. Następnie narzędzie do odtwarzania używa wielu wątków do zapisu do wielu plików, tak jak sama aplikacja.

Test SPECworkstation 3 uwzględnia ślady z szerokiej gamy aplikacji, w tym mediów i rozrywki (animacja 3D, renderowanie), rozwoju produktów (CAD/CAM/CAE), nauk przyrodniczych (medycyna, molekularna), usług finansowych, energetyki (ropa i gaz), operacji ogólnych i obliczeń GPU.

Prześledzone aplikacje dla obciążenia pamięci masowej SPECworkstation 3 obejmują 7zip, Adobe Media Encoder, Adobe Premier Pro, Ansys Icepak, Ansys Mechanical, Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Blender, CalculiX, Dassault Systémes Solidworks, Handbrake, Lammps, Microsoft Visual Studio 2015, Namd, zestaw widoków energetycznych SPECviewperf 13 i obciążenie SPECworkstation 3 WPCcfd.


Odczyt/zapis dla aplikacji Calculix (CCX) w teście porównawczym SPECworkstation 3

Patrząc przed siebie
Metoda odtwarzania używana w SPECworkstation 3 generuje wątki w sposób dość zbliżony do rzeczywistej aplikacji, ale wciąż ma jeden zasadniczy problem: chronologia operacji wejścia/wyjścia (IO) i ewentualna synchronizacja między wątkami nie są dokładnie zachowywane. Prowadzi to do sytuacji, w których niektóre wątki wykonują określone operacje wejścia/wyjścia szybciej, a współbieżność operacji wejścia/wyjścia (IOP) w różnych wątkach nie jest idealnie zsynchronizowana, co skutkuje sporadycznymi różnicami między uruchomieniami.

W przypadku SPECworkstation 4, którego premiera planowana jest na rok 2020, SPECwpc będzie pracować nad zachowaniem chronologii operacji wejścia/wyjścia (IO) w sposób zapobiegający ich scalaniu po dotarciu przez magistralę do urządzenia pamięci masowej.

Wezwanie do udziału
Choć rozwiązanie to nie jest rozwiązaniem idealnym, śledzenie operacji magazynowania danych z rzeczywistych aplikacji przetwarzających polecenia, takie jak te generowane przez użytkowników stacji roboczych w różnych branżach, to duży krok naprzód.

Podkomisja SPECwpc — w skład której wchodzą przedstawiciele firm AMD, Dell, Fujitsu, HP, Intel, Lenovo i Nvidia — chętnie przyjmie uwagi dotyczące przyszłych obciążeń roboczych od dostawców urządzeń, deweloperów aplikacji i użytkowników zainteresowanych wydajnością pamięci masowej.

Podobnie jak w przypadku innych testów porównawczych SPEC, dostarczenie najdokładniejszych sposobów rejestrowania i raportowania rzeczywistej wydajności pamięci masowej stacji roboczych pomoże wyznaczyć ścieżkę, dzięki której programiści będą mogli w przyszłości udoskonalać swoje procesy.

– Alex pokazuje

Alex Shows jest przewodniczącym podkomisji SPEC Workstation Performance Characterization (SPECwpc) i wybitnym inżynierem w firmie Dell. Jego 23-letnie doświadczenie w branży obejmuje 19 lat projektowania, rozwoju i dokumentacji oprogramowania; 17 lat walidacji projektów sprzętu i sterowników; oraz 10 lat badań stosowanych w dziedzinie technologii sprzętowych i programowych. Jest posiadaczem 12 patentów, z czego sześć jest w trakcie rozpatrywania. 

Aby dowiedzieć się więcej o testach porównawczych grafiki i stacji roboczych, odwiedź witrynę SPEC/GWPG , zapisz się do newslettera SPEC/GWPG lub dołącz do grupy Graphics and Workstation Benchmarking na LinkedIn.

Testy wydajnościowe SPEC/GWPG są dostępne do bezpłatnego pobrania dla wszystkich, z wyjątkiem dostawców komputerów i powiązanych produktów oraz usług, którzy nie są członkami SPEC Graphics and Workstation Performance Group ( SPEC/GWPG ).

Skontaktuj się z StorageReview

Biuletyn | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Kanał RSS

Autor-gość