Već smo pisali o tome da data centar infrastruktura počinje da sve više da liči na javne Cloud provajdere. Sa druge strane, računari Cloud provajdera sve više liče na super-računare iz HPC domena (High Performance Computing).

Tako da mogli bismo izvući zaključak da će infrastruktura korporativnih data centara sve više ličiti na HPC sisteme. Hajde da razmotrimo i kako.

HPC sistemi današnjice nisu moćne centralizovane vektorske mašine visokih performansi/kapaciteta, koje su imale specijalizovanu arhitekturu i namenski OS, kao što su bile čuvene Cray mašine. Još od početka 1990-ih HPC sistemi su zapravo multi-računari – skup regularnih x86 mašina sa distribuiranom memorijom i zasebnim operativnim sistemima (danas Linux). “Iznad” tih nezavisnih mašina se koriste alati za centralizovano raspoređivanje poslova i nadgledanje rada HPC sistema, tj. klastera računara.

Cray-2 super-računar (1985. godina)

Grubo možemo reći da se ova smena pristupa desila usled brzog progresa i dominacije tehnologije (CMOS/Moore-ova zakonitost/“x86 killer micros”) nad dizajnom (vektorsko procesiranje, namenski IO procesori, RISC filozofija, …).

Savremen HPC sistem (~2020. godina)

Zato danas hardverski i nema prevelike razlike između HPC/super-računara i “tradicionalnih” data centar sistema. Razlike su u tome što HPC sistemi:

  1. Masovno koriste namenske hardverske akceleratore, danas najčešće GPU. Cloud provajder danas već takođe uveliko koriste GPU kartice, taj trend se “preliva” i u korporativne data centre. Ponajviše zbog popularnosti “AI” aplikacija, ali i zbog tradicionalnih aplikacija kao što su VDI rešenja.
  2. Imaju specijalizovanu HPC unutrašnju mrežu (interkonekt), koja povezuje računare između sebe (kako bi se ostvarilo minimalno kašnjenje) kao i sa storage-om. Tradicionalno, tipični Cloud procesi/poslovi su nezavisni i ne zahtevaju veliku upotrebu mrežnog interkonekta. Međutim, postoje i aplikacije koje su agresivnije prema mreži jer zahtevaju veću razmenu podataka između procesa jedne aplikacije koji se izvršavaju na različitim mašinama unutar klastera (analitika podataka, big data, storage, …). Iz tog razloga Cloud sistemi takođe počinju da implementiraju HPC mrežne interkonekte (npr. Azure), ali više o tome u nekom drugom postu.

Zapravo, glavna razlika između Cloud/data centar i HPC sistema je u nameni – Cloud sistemi izvršavaju veliki broj “sitnih” poslova (iniciranih od strane velikog broja nezavisnih web korisnika za servise kao što su web pretraga, mail, maps i sl.), dok HPC sistemi izvršavaju manji broj “krupnijih” poslova (naučno-inženjerske simulacije, numerički proračuni itd.). Možemo reći da je fokus Cloud sistema na propusnoj moći (engl. throughput – visok stepen paralelnog izvršavanja nezavisnih procesa), dok je HPC sistema na performansama (nisko kašnjenje, veliki broj MIPS/FLOPS i sl.). Tako da Cloud možemo kategorisati kao HTC sistem (High Throughput Computing).

Različite vrste aplikacija vrše različita izračunavanja i obrade podataka, tj. koriste različite instrukcije. Ovo povlači za sobom i razlike u dizajnu/arhitekturi hardvera. Tipične aplikacije (npr. baze podataka) koriste dominantno instrukcije celog broja (engl. integer), treba im dosta keša, kao i “dobra logika predviđanja” (engl. branch). Sa druge strane, grafičke i striming aplikacije vrše dosta operacija sa pokretnim zarezom (engl. “floating point”), zahtevaju pre svega veliku propusnu moć ka memoriji i mogu se paralelizovati u značajnijoj meri.

Toliko za uvodnu priču. U nastavcima ćemo se zagledati u detalje pomenutih akceleratora, mrežnih interkonekcija, ali ćemo se osvrnuti i na ulogu operativnog sistema u data centar / Cloud sistemima budućnosti.

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