Jak szerokość RAIDZ wpływa na opóźnienia losowego odczytu w obciążeniach AI?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Szerszy RAIDZ może poprawić efektywność wykorzystania pojemności i przepustowość sekwencyjną, ale opóźnienia przy małych odczytach losowych zwykle ograniczają zachowanie vdev, układ bloków i kolejkowanie.

Domowe obciążenie AI często łączy duże pliki modeli z małymi metadanymi, stronami indeksów wektorowych, miniaturami i odczytami baz danych. Dodanie dysków do jednego vdev RAIDZ daje każdemu paskowi więcej możliwych kolumn danych, jednak pojedynczy mały blok może nie wykorzystywać ich wszystkich, a jeden vdev nadal stanowi jedną domenę harmonogramowania. Szersze układy mogą także zwiększać obciążenie w trybie obniżonej sprawności i opóźnienia ogona, gdy kilka usług jednocześnie wysyła żądania losowe.

Szerokość zmienia kolumny danych, ale nie liczbę vdev

RAIDZ rozdziela dane i parzystość między dyski w obrębie jednego urządzenia wirtualnego. Szerszy vdev zwiększa dostępną pojemność przypadającą na dysk parzystości i może zapewnić większą łączną przepustowość dla dużych rekordów, ale pula nadal równoważy operacje wejścia-wyjścia na poziomie vdev, zamiast traktować każdy dysk jako niezależny cel odczytu losowego.

Dokumentacja OpenZFS dotycząca układu RAIDZ opisuje koncepcje układów RAIDZ i dRAID, w tym zalecenia dotyczące obciążeń z małymi blokami. Model ten wyjaśnia, dlaczego dodanie lustrzanego specjalnego vdev może mieć większe znaczenie dla metadanych niż samo poszerzenie grupy RAIDZ danych.

Rozmiar bloku, kompresja, recordsize i wyrównanie określają, ilu kolumn dotyka odczyt. Mały skompresowany blok może zajmować mniej sektorów i dysków niż odczyt dużego pliku modelu, dlatego jedna szerokość nie zapewnia jednego konkretnego wyniku opóźnienia.

Odczyty losowe zależą od IOPS i rozkładu kolejek

Duże żądania sekwencyjne mogą być obsługiwane równolegle przez kilka dysków, podczas gdy niezależne małe odczyty są ograniczone tym, jak vdev planuje i realizuje każde żądanie. Wiele węższych vdev tworzy więcej celów operacji wejścia-wyjścia na najwyższym poziomie, ale wymaga większej liczby dysków parzystości i zmienia domeny awarii.

Analiza inżynierska dotycząca zachowania przy odczytach losowych mierzy zachowanie odczytów losowych w różnych układach RAIDZ i pokazuje, dlaczego mniejsze szerokości pasków mogą zapewnić więcej IOPS puli, gdy te same dyski zostaną podzielone na większą liczbę vdev. Jest to efekt topologii, a nie uniwersalna zasada dotycząca prędkości dysków.

Trafienia w pamięć podręczną ARC omijają dyski, a metadane lub specjalny vdev mogą przenieść wybrane małe bloki na szybsze nośniki. Testy mieszczące się w całości w pamięci RAM nie pokażą różnicy w opóźnieniach na dysku przypisywanej szerokości RAIDZ.

Szersze grupy zwiększają powiązane ryzyko odzyskiwania i opóźnień ogona

Podczas skanowania, resilveringu lub przy braku dysku odczyty mogą wymagać rekonstrukcji z zachowanych kolumn. Szersza grupa wystawia więcej dysków na obciążenie vdev w trybie obniżonej sprawności i może wydłużyć czas, w którym zapytania AI konkurują z operacjami odzyskiwania.

Przegląd inżynierski ZFS dotyczący topologii vdev porównuje właściwości vdev typu mirror i RAIDZ oraz wyjaśnia, że wydajność puli zależy od topologii vdev. Dostarcza architektonicznego rozróżnienia niezbędnego przed interpretacją testów z różną liczbą dysków. Efekt ten powinien pozostać mierzalny w docelowym obciążeniu domowego serwera.

Granica wiarygodności pojawia się przy ekstrapolowaniu testu przepustowości sekwencyjnej na wyszukiwanie wektorowe lub metadane zdjęć. Buforowane odczyty, małe bloki, głębokość kolejki, recordsize i stan obniżonej sprawności mogą odwrócić pozorną przewagę szerszej grupy. To rozróżnienie ma znaczenie, gdy kilka etapów potoku współdzieli ten sam budżet pamięci i przestrzeni dyskowej.

-15% OFF

FAQ dotyczące szerokości RAIDZ dla lokalnej AI

Czy szerszy vdev RAIDZ zawsze działa wolniej przy odczytach losowych?

Nie. Wyniki zależą od rozmiaru bloku, trafień w pamięć podręczną, kompresji, dysków, głębokości kolejki i topologii puli. Powszechna obawa polega na tym, że jeden szerszy vdev nie dodaje niezależnych IOPS na najwyższym poziomie w taki sam sposób jak dodanie kolejnego vdev.

Czy mirrory zawsze są lepsze dla baz danych wektorowych?

Mirrory często zapewniają wyższe IOPS przy małych odczytach losowych i prostsze odzyskiwanie, ale zużywają więcej surowej pojemności. Decyzja powinna uwzględniać trwałość danych, dostępną przestrzeń, projekt kopii zapasowych i zmierzone obciążenie bazy danych, a nie tylko opóźnienia. Tę granicę należy przetestować na reprezentatywnych danych domowych, a nie zakładać z góry.

Czy specjalny vdev może rozwiązać problem opóźnień metadanych RAIDZ?

Nadmiarowy specjalny vdev może przechowywać metadane i opcjonalnie małe bloki, zmniejszając obciążenie RAIDZ danych. Staje się on krytyczną infrastrukturą puli, więc jego utrata może spowodować utratę puli, a poziom nadmiarowości musi odpowiadać ryzyku.

Przetestuj szerokość przy odczytach z zimnej pamięci podręcznej i w trybie obniżonej sprawności

Odtwórz reprezentatywne odczyty stron wektorowych, SQLite lub metadanych, miniatur i plików modeli przy kontrolowanych rozmiarach bloków i głębokościach kolejek. Zmierz opóźnienia p50, p95 i p99, IOPS, współczynnik trafień ARC, wykorzystanie dysków oraz zakłócenia powodowane przez skanowanie lub resilvering w różnych kandydujących topologiach.

Powiąż zdalny dostęp do modeli z ograniczeniami sieciowymi opisanymi w artykule zdalny dostęp do modeli. Zachowaj stałą łączną liczbę dysków, modele dysków, recordsize, kompresję, zbiór danych, stan pamięci podręcznej i wolną przestrzeń, a także testuj warunki zimnej pamięci podręcznej, zamiast ograniczać się do wielokrotnych odczytów z rozgrzanej pamięci.

Wybierz topologię, uwzględniając jednocześnie cel dotyczący opóźnień, dostępną pojemność, nadmiarowość i zachowanie podczas odzyskiwania. Jeśli losowe operacje wejścia-wyjścia AI mają kluczowe znaczenie, porównaj wiele vdev lub nadmiarową warstwę specjalną z jednym szerszym RAIDZ, zamiast zakładać, że dodatkowe kolumny zapewnią równoważne IOPS.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.