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.
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

Czy lokalny LLM może wznowić generowanie po ponownym uruchomieniu procesu?
Wyjaśnienie generowania i wznawiania działania LLM z naciskiem na mechanizmy, kompromisy związane ze współdzielonymi zasobami, trzy często zadawane pytania dotyczące rozgałęziania zapytań oraz praktyczny...

Czy serwer domowy może obsługiwać generowanie osadzeń i transkodowanie wideo na tym samym zintegrowanym układzie GPU?
Wyjaśnienie współdzielonych osadzeń i transkodowania igpu od strony mechanizmu, kompromisy związane ze współdzielonymi zasobami, trzy najczęściej zadawane pytania dotyczące rozsyłania zapytań oraz praktyczna weryfikacja.

Jak czas ważności tokenu dostępu wpływa na bezpieczeństwo i uciążliwość dla domowników?
Wyjaśnienie mechanizmu działania okresu ważności tokenu dostępu, kompromisów związanych ze współdzielonymi zasobami, trzy najczęściej zadawane pytania dotyczące rozsyłania zapytań oraz praktyczny protokół weryfikacji.

