Een RAID-scrub verhoogt de lokale inferentielatentie wanneer de verificatielezingen ervan concurreren met het laden van modellen, retrieval, logging of geheugendruk op gedeelde opslagpaden.
Een model dat al in het GPU-geheugen aanwezig is, kan tijdens een scrub normaal decoderen, terwijl het eerste verzoek, een RAG-opzoeking of een spillbewerking plotseling vertraagt. De scrub doorloopt toegewezen gegevens, leest redundante kopieën of pariteit, verifieert de integriteit en kan schade herstellen. De impact hangt minder af van het woord RAID dan van welke schijven, controllerwachtrijen, CPU-cycli en cachepagina's de inferentie nog nodig heeft.
Scrubbing zet ongebruikte capaciteit om in verificatie-I/O
Een scrub leest systematisch toegewezen blokken, valideert checksums of pariteit en reconstrueert beschadigde gegevens wanneer redundantie dat mogelijk maakt. Zelfs gezonde arrays voeren het lees- en verificatiewerk uit, waardoor de bewerking elke schijf in de array urenlang bezig kan houden.
OpenZFS beschrijft scrub- en resilverwerk als een afzonderlijke scrub-I/O-klasse waarvan de gelijktijdigheid wordt afgestemd op normale lees- en schrijfbewerkingen. Een hogere scrubactiviteit voltooit de verificatie sneller, maar kan de latentie voor voorgrondbewerkingen verhogen.
Roterende arrays hebben last van kopbewegingen wanneer scrub-lezingen worden afgewisseld met kleine willekeurige verzoeken, terwijl SSD-arrays de controllerbandbreedte of interne flashkanalen kunnen verzadigen. Dezelfde nominale doorvoer kan daardoor een zeer verschillende staartlatentie opleveren.
Inferentie merkt de scrub alleen via gedeelde afhankelijkheden
Token-decoding vanuit volledig aanwezige gewichten en een KV-cache is voornamelijk een werklast voor berekeningen en geheugenbandbreedte. Opslag wordt zichtbaar bij het laden van modellen, memory-mapping-fouten, retrieval, het loggen van prompts, het wisselen van adapters, KV-offloading of elke toegang tot checkpoints en indexen.
OpenZFS merkt op dat scrub-bewerkingen schijflezingen uitvoeren en dat de scanvolgorde bepaalt hoe werk de pool bereikt. Deze scanplanningsinstellingen kunnen nuttige cachepagina's verdringen of wachtrijen bezet houden voordat een latentiegevoelig model of een vectorlezing arriveert.
CPU-werk voor checksums en pariteitsreconstructie kan ook concurreren met tokenisatie, retrieval of CPU-inferentie. De waarneembare vertraging kan zich uiten als latentie tot het eerste token, retrievalvertraging of periodieke haperingen, in plaats van als een gelijkmatige afname van het aantal outputtokens per seconde.
Beperking ruilt voltooiingstijd in tegen staartlatentie
Door de scrub-gelijktijdigheid te beperken of de verificatie tijdens interactieve uren te pauzeren, blijft er meer wachtrijcapaciteit beschikbaar voor inferentie, maar wordt de periode verlengd waarin latente fouten onontdekt blijven. Alleen plannen helpt wanneer de vraag voorspelbaar is en de scrub nog binnen het onderhoudsdoel kan worden voltooid.
De OpenZFS-tuninghandleiding stelt dat het verhogen van de scrubvertraging het effect van de scrub op dynamische werklasten kan verminderen. De juiste instelling is afhankelijk van de hardware en werklast, omdat een mirror, RAID-Z-groep, SATA-SSD en NVMe-pool verschillende knelpunten hebben.
De foutgrens is een gedegradeerde array of actieve reparatie. Gegevensreconstructie kan voorrang verdienen boven interactieve latentie, en zware beperking kan de kwetsbaarheid verlengen; de juiste reactie is niet om opslagrisico's te verbergen achter een snelle chatbot.
Profileer één scrub tegen het kritieke inferentiepad
Leg de p50- en p99-tijd tot het eerste token, tokensnelheid, retrievallatentie, model-paginfouten, schijfwachtrijdiepte, leeslatentie, doorvoer, CPU-gebruik, ARC- of paginacachegrootte en scrubvoortgang vast vóór en tijdens de verificatie. Dit onderscheid blijft zichtbaar tijdens latere tests in de thuissituatie.
Gebruik opslagcontentie door snapshots om snapshotcontentie van scrubcontentie te onderscheiden. Herhaal de test met aanwezige en koude modellen, met RAG in- en uitgeschakeld, met normale en beperkte scrub-gelijktijdigheid en met een opslaggerichte nulmeting. Het tussenresultaat moet inspecteerbaar blijven voordat automatisering erop volgt.
Kies een limiet die de interactieve staartlatentie beschermt en tegelijk de integriteitscontroles volgens schema voltooit. Als GPU-resident decoding niet wordt beïnvloed, maar retrieval hapert, isoleer of prioriteer dan het gedeelde opslagpad in plaats van het model af te stellen.
Tech & AI HUB
Meer om te lezen

Wat is embedding-drift en wanneer moet een private zoekindex opnieuw worden opgebouwd?
Ontcijfer model-, preprocessing-, corpus- en queryverschuivingen; maak onderscheid tussen monitoring en incompatibiliteit; en bepaal wanneer een private index opnieuw moet worden opgebouwd.

Wat is compatibiliteit van tokenizers en waarom kan het wisselen van modellen daardoor misgaan?
Decodeer woordenschatidentiteit, semantiek van speciale tokens, chattemplates, tokens in de cache, adapters en compatibiliteitscontroles voor het lokaal wisselen van modellen.

Wat is modelresidentie en wanneer moet een lokale AI-service gewichten geladen houden?
Ontcijfer gewichtsresidentie, cacheniveaus, koude starts, uitzetting, multiplexing, geheugendruk en wanneer een thuis-AI-service warm moet blijven.

