← Natrag
AI

Binarni format checkpointa u Postgresu: Oporavak nakon GPU hard locka

Damir Radulić· 21. srpnja 2026.· 2 min čitanja· 12 pregleda
Binarni format checkpointa u Postgresu: Oporavak nakon GPU hard locka
🎧 Poslušaj članak

U svijetu AI agenata, pouzdanost je ključna. Nedavni incident s GPU hard lockom pokazao je koliko je važno imati robustan mehanizam za provjeru stanja. Kada je GPU doživio hard lock, sav VRAM je izbrisan, a proces inferencije je ubijen. No, checkpoint agenta pohranjen u Postgresu ostao je netaknut, omogućujući potpuni oporavak bez gubitka podataka.

Dizajn binarnog formata

Binarni format za checkpointing u RiNET-u dizajniran je s naglaskom na otpornost i kompaktnost. Umjesto JSON-a ili drugih tekstualnih formata, odabran je binarni pristup koji minimizira veličinu i ubrzava serijalizaciju. Ključni elementi uključuju:

  • Header s metapodacima: Svaki checkpoint započinje headerom koji sadrži verziju formata, vremensku oznaku i kontrolni zbroj (checksum) za provjeru integriteta.
  • Struktura podataka: Stanje agenta (težine, optimizatori, bufferi) pohranjuje se u binarnom obliku, koristeći fiksne tipove podataka (float32, int64) i unaprijed definirane dimenzije.
  • Redundantnost: Kritični podaci dupliciraju se unutar checkpointa kako bi se osigurao oporavak čak i u slučaju djelomičnog oštećenja.

Zašto je format preživio hard lock?

GPU hard lock uzrokovao je gubitak VRAM-a i prekid procesa, ali checkpoint je već bio spremljen na disk u Postgres bazi podataka. Ključni razlozi uspjeha:

  • Atomic write: Postgres podržava atomicne transakcije, što znači da je checkpoint ili u potpunosti zapisan ili uopće nije. Hard lock se dogodio nakon što je transakcija već bila potvrđena.
  • Binarna kompaktnost: Mali binarni zapis smanjio je vrijeme pisanja, smanjujući prozor ranjivosti.
  • Validacija pri učitavanju: Prilikom oporavka, kontrolni zbroj provjerava integritet podataka. U ovom slučaju, checksum se podudarao, potvrđujući da nema oštećenja.

Implementacija u RiNET-u

RiNET koristi prilagođeni Python modul za serijalizaciju stanja agenta. Primjer koda za pohranu checkpointa:

import struct, hashlib, psycopg2

def save_checkpoint(agent_state, conn):
    header = struct.pack('!I I Q', FORMAT_VERSION, len(agent_state), timestamp)
    checksum = hashlib.sha256(header + agent_state).digest()
    data = header + checksum + agent_state
    with conn.cursor() as cur:
        cur.execute("INSERT INTO checkpoints (data) VALUES (%s)", (psycopg2.Binary(data),))
    conn.commit()

Ovaj pristup osigurava da je svaki checkpoint potpuno zapisan prije nego što se potvrdi transakcija, čime se eliminira rizik od djelomičnog zapisa.

Zaključak

Incident s GPU hard lockom potvrdio je da je binarni format checkpointa u Postgresu pouzdan izbor za AI agente. Kombinacija atomicnih transakcija, kontrolnih zbrojeva i kompaktnog binarnog zapisa omogućuje oporavak bez gubitka podataka čak i u ekstremnim uvjetima.

binarni formatcheckpoint agentaPostgresGPU hard lockoporavak podataka

Zanima vas ovakva AI tehnologija?

RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.

Kontaktirajte nas →
0 komentara

Komentari