Afbakenen wat migreert en wat moet wachten
Deze gids is bedoeld voor de persoon die de berekening, de gegevens en de exploitatie coördineert. Een lot verwijst hier naar een geïdentificeerd werkpakket, te onderscheiden van een lot GPU-kaarten uit de catalogus. De methode is in de eerste plaats geschikt voor uitvoer die vóór acceptatie kan worden gecontroleerd. Voorzie bij een dienst die ononderbroken aanvragen ontvangt waar de nieuwe invoer wacht, hoe lang dat wachten aanvaardbaar is en hoe ze bij de doelomgeving aankomen. Een gekopieerd dossier bepaalt op zichzelf niet dit toelatingsbeleid.
De voorgestelde oefening werkt op een gesloten geheel van acht synthetische lots. Ze verstuurt geen enkele netwerkaanvraag en doet geen beroep op een GPU of een account van Capordia. Ze leert een hervattingslogica op één enkele werkpost en één enkel werkproces. Ze valideert geen gedistribueerde wachtrij, de continuïteit van een publiek toegankelijke dienst of het verplaatsen van een berekening tijdens bedrijf. Vóór een echte migratie moet je team deze elementen kwalificeren met de gekozen toepassing en hardware.
Een inventaris opstellen waarmee je kunt reconstrueren
Verzamel de code en zijn versie, de afhankelijkheden, de parameters, de modellen, de invoer, de geplande taken en de uitvoerbestemmingen. Vermeld voor elk de eigenaar, de reconstructiemethode en de verwachte controle op de doelomgeving. Noteer de namen van de secrets en hun wijze van aanlevering, zonder hun waarde in het gedeelde register te zetten. Een handmatige installatie of een taak die bij het opstarten wordt geactiveerd, kan ontbreken in een eenvoudige kopie van de projectmap.
Scheid de invoerbestanden, de geaccepteerde resultaten en de status die nodig is voor het herstarten. Bij een training kan die status meer omvatten dan de gewichten van het model: de PyTorch-tutorial voor het opslaan van een algemene checkpoint bevat met name de status van de optimizer en de voortgang. De vereiste inhoud hangt af van je code. Zet ze terug in een nieuw proces en vergelijk de uitvoer volgens een tolerantie die vóór de test is bepaald; leid uit één geslaagde herstart geen universele numerieke gelijkheid af.
De beslissing, de overdracht en de acceptatie toewijzen
Wijs de rollen toe voordat je het venster vastlegt. In een klein team kan dezelfde persoon meerdere rollen bekleden, maar de beslissingen blijven gescheiden. De verantwoordelijke voor de omschakeling bevestigt het stopzetten van de oude producent en geeft toestemming om de doelomgeving te starten. De verantwoordelijke voor de gegevens controleert de inventaris, de vingerafdrukken en de uitvoer. De eigenaar van de verwerking beoordeelt de functionele kwaliteit. De exploitatie houdt het wijzigingslogboek bij en bereidt de overdracht voor.
De omschakelingsfiche moet vier concrete vragen beantwoorden: wie de invoer mag stoppen, wie vaststelt dat de oude verwerking niets meer publiceert, wie de eerste resultaten accepteert en wie beslist over de terugkeer. Noteer ook een uiterste beslissingstijd en de manieren om deze personen te contacteren. “Terugkeren indien nodig” volstaat niet wanneer de doelomgeving al resultaten heeft geproduceerd die het oude register niet kent.
Een register bijhouden dat begonnen en geaccepteerd onderscheidt
Geef elk lot een stabiele identificatie en koppel die aan een precieze versie van de gegevens. Bewaar de status, het aantal pogingen, de locatie van het resultaat en de controle die de acceptatie ervan toestaat. Een lot dat in behandeling is, is niet afgerond omdat er een uitvoerbestand bestaat: dat bestand kan gedeeltelijk zijn of van een eerdere poging afkomstig zijn. De procedure moet verduidelijken wat bewaard blijft, wat opnieuw wordt berekend en wat in quarantaine blijft voor onderzoek.
In de oefening houdt een lokaal SQLite-register de status en de acceptatie van het resultaat samen in één transactie. De statussen zijn termine, en_cours en a_reprendre; die laatste dekt ook een lot dat nog niet is gestart. De doelomgeving herneemt de niet-gevalideerde loten in plaats van blindelings de acht invoeren opnieuw te starten. De JSON- en CSV-exports maken de opvolging leesbaar. De blanco CSV hoort bij je voorbereiding en je menselijke review; hij vervangt niet het coördinatiemechanisme van een echte toepassing.
| Loten | Status aan de grens | Beslissing voor hervatting |
|---|---|---|
| LOT-001 tot LOT-003 | termine | De resultaten bewaren en hun integriteit verifiëren |
| LOT-004 | en_cours, resultaat niet geaccepteerd | Expliciet een nieuwe poging voorbereiden |
| LOT-005 tot LOT-008 | a_reprendre, geen poging | Starten op de doelomgeving na toestemming |
De oefening voor onderbreking en hervatting downloaden en uitvoeren
Voorzie Python 3.10 of recenter met de module sqlite3, en een lokaal beschrijfbare map. Download het volledige archief en pak het uit met het script, de gegevensmap en het manifest bij elkaar. Het README-bestand beschrijft de beschikbare opdrachten. Er hoeft geen stuurprogramma, rekenpakket of model te worden geïnstalleerd. Lees het script voordat je het uitvoert en gebruik daarna een nieuwe uitvoermap zodat de bewijzen van meerdere pogingen niet door elkaar raken.
Vanuit de map met exercice.py levert de onderstaande opdracht een continue referentie, een onderbroken verwerking, een omschakelingskopie en een hervatting die met de referentie wordt vergeleken. De acht CSV-bestanden bevatten 48 fictieve dimensiemetingen van coupons, uitgedrukt in gehele micrometers en gemaakt voor deze oefening. Er wordt geen enkele echte industriële controle voorgesteld. De berekening op CPU dient om het beheer van de loten te onderzoeken, niet om een GPU-doorvoer of een migratieduur van je gegevens te schatten.
python exercice.py demonstration --dossier essai-capordiaDe bewijzen van de hervatting lezen, lot per lot
Capordia-voorbeeld: een team bereidt acht pakketten met te verwerken bestanden voor. De referentie verwerkt ze zonder onderbreking. Op het andere traject laat de stop drie afgeronde loten achter, LOT-004 in behandeling en vier loten te hernemen zonder poging. De verantwoordelijke voor de omschakeling vraagt niet “hervatten tot halverwege”: hij duidt LOT-004 aan. De voorbereiding van de hervatting zet dat terug op de status a_reprendre: drie loten zijn dan afgerond en vijf moeten worden uitgevoerd. De al geaccepteerde loten mogen niet opnieuw worden berekend.
Raadpleeg etat.json voor de identifiers, statussen en pogingen, registre-lots.csv voor de controle, resultats.json voor de uitvoer en daarna rapport-verification.json voor de controles. Bij de lokale uitvoering van 24 september 2026 onder Windows AMD64, Python 3.14.6 en SQLite 3.50.4 slaagden de 16 controles uit 37 uitvoeringen van het script: de acht overgenomen resultaten komen overeen met de referentie, afgeronde batches worden niet opnieuw berekend en een nieuwe acceptatie van dezelfde batch wordt geweigerd. Gewijzigde invoer, dubbele identifiers en beschadigde uitvoer worden eveneens gedetecteerd.
Een consistente status kopiëren en vervolgens de integriteit controleren
Stop bij een echte omschakeling de toelating of plaats nieuwe invoer in een expliciet daarvoor bestemde wachtrij. Wacht tot het lopende werk is afgerond, of sla onderbroken batches op volgens uw hervattingsregel. Bevestig daarna dat de oude instantie niet meer kan publiceren. Het verzegelen van de bron in deze oefening verhindert dat het script deze opnieuw als producent gebruikt. Het blijft een lokale bescherming van het scenario, geen wederzijdse uitsluiting tussen meerdere machines die elk een kopie van de status zouden bezitten.
Voor het kopiëren van een SQLite-database die door een applicatie wordt gebruikt, biedt de documentatie een back-up-API die een consistente momentopname oplevert. Een gewone kopie van een databasebestand dat wordt beschreven is dus geen procedure om ter plekke te improviseren. Controleer ook het manifest van de overgedragen bestanden. De SHA-256-vingerafdrukken, beschikbaar in hashlib, helpen hier om een verschil in inhoud te detecteren; ze zeggen niet of het resultaat correct is voor uw bedrijfsvoering, noch of het referentiemanifest betrouwbaar is.
Bepalen wanneer te hervatten en wanneer terug te keren
Sta de doelomgeving pas toe wanneer de invoer, het register en de bewaarde resultaten overeenkomen, de oude producent is gestopt en aan de softwarevereisten is voldaan. Start eerst met een bereik waarvan de uitvoer kan worden nagelopen. De eigenaar van de verwerking accepteert de kwaliteit; de verantwoordelijke voor de gegevens controleert de identifiers, de ontbrekende en de dubbele. Een start zonder fouten is niet voldoende als het nuttige resultaat onvolledig is.
Als het defect optreedt voordat er iets nieuws is gepubliceerd, houd dan de doelomgeving stil en vertrek opnieuw vanuit de gecontroleerde bronstatus volgens de voorziene procedure. Bewaar na een publicatie eerst de resultaten en het register van de doelomgeving. Vergelijk de batches die zij heeft afgerond met die van de bron en kies vervolgens één toegestane hervatting. Beide kanten opnieuw activeren om tijd te winnen kan precies de duplicaten creëren die de migratie moest vermijden.
| Observatie | Onmiddellijke beslissing | Voorwaarde om verder te gaan |
|---|---|---|
| Ontbrekende invoer of afwijkende vingerafdruk | De overdracht opschorten en de kopie isoleren | Een invoer conform het referentiemanifest ophalen |
| Dubbele identifier of onverwachte uitvoer | De betrokken batch niet publiceren | Het conflict begrijpen en slechts één geaccepteerde versie aanhouden |
| Onbruikbare hervattingsstatus | De doelomgeving stoppen en het bewijs bewaren | Een bekende status herstellen of de voorbereide terugkeer toepassen |
| Resultaat buiten het bedrijfscriterium | De uitbreiding van de hervatting stoppen | Corrigeren en de functionele validatie opnieuw uitvoeren |
| Tijdslimiet voor de beslissing bereikt | De beslissing tot terugkeer of uitstel in gang zetten | Expliciete instemming van de verantwoordelijke en capaciteit om de export af te ronden |
Het volledige venster meten en de overdracht voorbereiden
Herhaal de installatie, de kopie, de verificatie, de hervatting en de export in hun werkelijke volgorde. Noteer de tijd van elke fase en de menselijke tussenkomsten, met een steekproef waarvoor de overdracht is toegestaan. Houd voor het inschatten van uw venster rekening met de nieuwe invoer die zal wachten en met de capaciteit om die achterstand weg te werken. De beste tijd die op een kleine map is waargenomen, is geen engagement voor een groter volume.
De gekozen periode moet voorbereiding, repetitie, omschakeling, observatie en het ophalen van resultaten omvatten. De Capordia-pakketten van 3, 7 of 30 dagen blijven periodes die je zelf organiseert; deze gids leidt daaruit geen rekentijd af. Vóór de afsluiting moet een tweede persoon het register kunnen terugvinden, de uitvoer vanaf de bestemming kunnen openen en de verwerking opnieuw kunnen starten. Archiveer de beslissing om de terugval te beëindigen, de aanvaarde afwijkingen en de resterende acties voordat je de overbodige toegangen intrekt.
Wat de oefening aantoont en wat nog moet worden gekwalificeerd
De opbrengst van dit dossier is een leesbare procedure en een reproduceerbare hersteloefening op synthetische bestanden. Dezelfde set moet identificeerbaar zijn vóór de stop, tijdens de omschakeling en na het herstel. Het register, de vergelijking met een referentie en de opzettelijk geweigerde gevallen maken die regel waarneembaar. De onderbreking wordt uitgelokt door een gecontroleerde uitzondering in het script: er is geen poging tot een stroomstoring gedaan. De aangehaalde technische documentatie legt de gebruikte mechanismen uit; ze garandeert niet je toekomstige productieomgeving.
In het scenario werkt slechts één proces tegelijk. Lokale verzegeling is geen gedistribueerd slot; een vingerafdruk is geen kwaliteitstest; een CPU-resultaat is geen kwalificatie voor CUDA, ROCm of multi-GPU. Een applicatie die ook naar een externe database, gedeelde opslag of wachtrij schrijft, vereist een samenhangende regel voor al die bestemmingen. Laat die regel en je terugkeerplan valideren voordat je de echte verwerking migreert.
Om het vervolg voor te bereiden
Een back-up moet het mogelijk maken het werk te hervatten.
Herstel in een geïsoleerd doel en verifieer dat de kopie het werkelijk mogelijk maakt om te hervatten.
De fakkel overdragen met een status, een actie en een verantwoordelijke.
Draag de acties, beperkingen en verantwoordelijkheden over aan iemand anders.