← Natrag
AI

PCIe topologija i tiha migracija memorije: Što je puklo kad smo dodali drugi GPU

Damir Radulić· 8. srpnja 2026.· 2 min čitanja· 23 pregleda
PCIe topologija i tiha migracija memorije: Što je puklo kad smo dodali drugi GPU
🎧 Poslušaj članak

Dodavanje drugog GPU-a na naš inference server zvučalo je kao logičan korak za povećanje propusnosti. No, umjesto očekivanog ubrzanja, performanse su pale za čak 40%. Nakon detaljne analize, otkrili smo dva ključna krivca: PCIe topologiju i tihu migraciju memorije.

PCIe topologija: Neočekivani uski grlo

Kad smo dodali drugi GPU, nismo obratili pažnju na PCIe lane raspodjelu. Naša matična ploča ima dva PCIe x16 slota, ali drugi slot dijeli propusnost s prvim preko PCIe switcha. To znači da oba GPU-a dijele taj PCIe link prema CPU-u, što stvara uski grlo. U praksi, to je rezultiralo dvostrukim kašnjenjem pri prijenosu podataka između GPU-a i CPU-a.

Tiha migracija memorije: Skriveni problem

Drugi problem bio je silent memory migration – tiha migracija memorije. Kada je drugi GPU aktiviran, NVIDIA driver automatski premješta memorijske stranice između GPU-a i CPU-a bez ikakvog upozorenja. To se događa u pozadini, a mi smo to primijetili tek kad smo pratili latency i propusnost. Migracija memorije troši PCIe propusnost i povećava latency, što je izravno utjecalo na performanse inference servera.

Kako smo riješili problem

  • Provjera PCIe topologije: Koristili smo lspci -vv i nvidia-smi topo -m da bismo vidjeli kako su GPU-i povezani. Otkrili smo da su oba GPU-a na istom PCIe switchu, pa smo ih fizički premjestili na slotove koji koriste zasebne PCIe laneove.
  • Onemogućavanje tihe migracije: Postavili smo CUDA_VISIBLE_DEVICES i koristili cudaSetDevice() da bismo osigurali da svaki GPU obrađuje svoje podatke bez migracije. Također smo koristili cudaMemAdvise s opcijom cudaMemAdviseSetPreferredLocation da bismo zaključali memoriju na GPU-u.
  • Optimizacija batch sizea: Smanjili smo batch size kako bismo smanjili količinu podataka koja se prenosi preko PCIe-a, što je smanjilo opterećenje na linku.

Rezultati

Nakon ovih promjena, performanse su se vratile na očekivanu razinu, a čak smo dobili i 10% ubrzanja u usporedbi s jedan GPU. Ključno je razumjeti da dodavanje drugog GPU-a nije samo plug-and-play – PCIe topologija i upravljanje memorijom mogu drastično utjecati na performanse.

PCIe topologijatiho migriranje memorijeinference serverGPU performanseoptimizacija

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