U računarstvu možemo opaziti cikličnost – promenu dominantne paradigme na svakih 20-ak godina:

  • ERA DINOSAURUSA 1950/60-ih godina: Centralizovani (i malobrojni) mainframe računari.
  • MINIJATURIZACIJA DOMINIRA 1970/80-ih: distribuirani (pre “razbacani”) “mini”* pa onda i mikro (PC) računari na svakom stolu.
  • UTILITY MODEL 2010/20-ih godina: resursi se (ponovo) centralizuju agregacijom u server sale data centre u formi “Cloud” i AI klastera**.

Zanimljivo je da, obično kao i u životu, unuk liči na dedu. U našem slučaju, AI klasteri (nastali direktno po ugledu na HPC klastere/sisteme) na Mainframe računare. Pogledajmo i kako.

Počnimo od sličnosti:

  • Centralizovan sistem: resursi su agregirani u složen ali jedinstven računarski sistem.
  • Pomoćni računari: koriste se mali “satelit” računari za specijalizovane radnje: za korisnike (login node za pripremu zadataka i podataka) i administratore (raspoređivanje zadataka (scheduler), nadgledanje rada sistema i sl.).
  • Batch pristup: usled visoke cene resursa teži se ka maksimizaciji stepena iskorišćenja mašine, te se korisnički zadaci (jobs) smeštaju u redove čekanja i izvršavaju u određenom redosledu (redom po FIFO modelu ili u skladu sa prioritetima zadataka po nekom algoritmu).
  • Nema interaktivnosti: Kao posledica batch-pristupa, korisnik nakon predaje zadatka (i podataka), klaster scheduler preuzima dalju brigu i korisnik nema mogućnost interakcije sa samim izvršavanjem zadatka (“hands-off pristup”).
  • “Belo sveštenstvo” (admini) upravljaju sistemom: Usled visoke kompleksnosti i cene sistema, visoko obučeni administratori nadgledaju i održavaju infrastrukturu AI klastera. Drugim rečima, nemamo root pristup, nego curated okruženje1, skrojeno od strane administratora.
  • (Veoma) Skupi resursi: Samo malobrojne institucije mogu da priušte AI klastere. Istraživači kroz institute i naučno-istraživačke projekte dobijaju pristup resursima.

Kao siže, možemo reći da je arhitektura oba sistema slična – sastaoji se od klastera worker nodova koji su odvojeni od upravljačkih (control/management) nodova. Visoka IO propusna moć – zasebne mreže i resursi za storage. Generalno decoupled arhitektura krasi ove HPC sisteme: zaseban login node, odvojene mreže za storage i inter-GPU saobraćaj – sve zarad visokih performansi i izolacije (smanjivanja domena-uticaja) otkaza.

Zašto je ovako koncipiran pristup AI klasteru? Razlog je jednostavan – veoma skupi resursi (u slučaju AI klastera domanintan faktor su GPU kartice) diktiraju visok stepen iskorišćenja resursa – što se jedino može postići centralizovanom kontrolom i strogim pravilima pristupa.

Ali ima i zanimljivih razlika:

  • GPUs umesto IO kanala (procesora) – Iako su i Mainframe i AI klasteri dizajnirani da obrađuju velike količine podataka, razlika je u načinu obrade – Mainframe-ovi obrađuju velike količine transakcija (“database-driven”), dok AI klasteri vrše visoko paralelizovani matrični račun.
  • Commodity vs Custom CPUs: AI klasteri koriste sveprisutne x86 CPU-ove, dok (IBM) Mainframe-ovi koriste namenske procesore (IBM Z serija).
CPU & GPU – razlike i saradnja
CPU & IO procesor dijagram (source: https://vcmos.com/i-o-channels-and-processors/)

Za mene, najveća zanimljivost “ponavljanja istorije” i ove paralele između Mainframe računara i AI klastera jeste što ponovo koristimo batch raspoređivanje zadataka.

* Veličine današnjeg kombinovanog frižidera-zamrzivača, ili standardnog data centar reka

**Cloud i AI klastere u našoj analogiji možemo smatrati braćom/sestrama jer postoje mnoge sličnost, ali o tome nekom drugom prilikom.

Ako želiš da budeš u toku sa mitovima, trendovima i (bajatim) novostima iz čarobnog sveta računarstva, prijavi se dole na Bilten!

  1. Posledica ovoga, zajedno sa batch pristupom, je da imamo rudimentalno radno okruženje (terminal/portal i njegove mogućnosti) koje je prilično ograničavajuće u kontekstu produktivnosti i jednostavnosti (user-friendliness), da ne kažemo jadno. 🙂
    ↩︎