Šta posle posustajanja Moore-ove zakonitosti? Već 10-ak godina se priča šta posle Moore-ove zakonitosti. Oko 2005. smo udarili u limite performansi (takta) single-core procesora usled Denardovog skaliranja. A “Moore” i dalje radi svoje, malo manje agresivno nego ranije, ali radi. Počeli smo da gradimo procesore sa više jezgara. Prođe još 10 godina, “Moore” i dalje radi. Počeli smo da integrišemo memorijski i IO kontrolere u centralni procesor (nema više South i North bridge-eva). Prođe još 10 godina. Sada imamo procesore sa preko 100 jezgara, koji pored integrisanog memorijskog i IO kontrolera (PCIe root complex), imaju i dodatne mini-akceleratore (vektorsko procesiranje za 3D i AI, security, …).
Kako dalje ubrzati obradu podataka u svetu eksplozije podataka? Ovo su neki glavni trendovi, na kojima smo zapravo radili i paralelno:
* Akceleratori, namenski/domenski za određene aplikacije kao što su infrastrukturne (mrežne, security, storage) ili aplikativne (npr. AI/ML) funkcije.
* Integralni dizajn, balans performansi podsklopova unutar jednog računara je uvek važan, kako bi se izbeglo usko grlo u delu sistema. Setimo se Cray-a.
* HW & SW integracija (user-space processing pomoću biblioteka koje omogućavaju kernel-bypass offload-ovanje na smartNIC, “pametni” kompajleri, dizajn čipova u skladu sa prirodom problema – od GPU do DPU, NPU, … xPU – stavka 1).
* Keširanje podataka u memoriji (L1/L2/L3 cache, RAM caching).
I POSLE FON NOJMANA … FON NOJMAN!
Deluje moćno, ali ovo su samo skoro pomodarske privremene mere (engl. stop-gap measures), a ne elegantno arhitekturalno rešenje. Takozvana fon Nojmanaova arhitektura koristi odvojenu objedinjenu (data + code) ali odvojenu memoriju, koja je povezana sa procesorom (tj. procesorima) preko nekakve magistrale. Instrukcije i podaci se konstantno prenose “load-store” paradigmom između centralnog procesora (obrada) i memorije (skladištenje). Magistrala kad tad postane usko grlo.

Ako se ugledamo na ljudski mozak koji funkcioniše po principima distribuiranog i lokalnog procesiranja (obrade) signala, jasno je da se arhitekturalni obrasci moraju u potpunosti promeniti.
KAO DA JE BILO NEKAD …
Zanimljivo je sagledati istorjisku evoluciju super-računara1:
1. SUPER-PROCESORI: Od skaralnih procesora, pa do nastajanja vektorskih procesora (koji su se uvek koristili u kombinaciji sa skalarnim procesorom), pa pakovanja sve većeg broja vektorskih procesora u jedan sistem.
Zanimljivo je da je inicijalna zamisao za CRAY-2 bila da se koriste 64 skalarna procesora, ali se ipak procenilo da tržište (korisnici)2 nisu spremni za takav iskorak, pa se vratilo na dizajn sa 4 standardne vektorske radilice.
2. MIKRO-PROCESORI: Trend nastaje već početkom 1980-ih sa eksplozijom PC računara. Želja je da se iskoristi ubrzani tehnološki napredak mikroprocesora, tako što će se sistem (super-računar) konstruisati (nekakvim) kombinovanjem “velikog” broja mikroprocesora.
1,5. “NANO”(?)-PROCESORI kao izuzetak, isto tokom 80-ih: Thinking Machines CM-2 paralelni računar je koristio 64k 1-bit procesora sa lokalnom memorijom-obradom. Dok je bilo državnih subvencija, bio je uspešan. 🙂 Svakako se pokazalo da je tehnički izvodljiv i da je imao smisla iz perspektive aplikativnih potreba za performansama – bared u domenu aplikacije čiji se podaci mogu paralelno obrađivati.
ZAKLJUČKA NEĆE BITI
Umesto zaključka, zanimljivo je konstatovati da su visoko-paralelni računari u klasi HPC sistema već koristili dizajn inspirisan biološkim sistemima. Na neki način budućnost je već bila ovde, ali nismo bili spremni kao industrija za nju. Uvek se “prvi mačići” bacaju u vodu, pioniri su retko kad (komercijalno) uspešni.
Na Internetu postoje članci i knjižice, omaži fon Nojmanu gde se on spominje kao “genije” bez premca (engl. unparalleled genius), što definitivno i jeste istinito.
Ako želiš da budeš u toku sa mitovima, trendovima i (bajatim) novostima iz čarobnog sveta računarstva (ili ovakvim ličnim ispadima), prijavi se dole na Bilten!