RazmjenaVjestina
HoćeLiMulticoreRevolucijaIzazvatiUrušavanjeSoftverskogEkoSustava: Revision 2

''' Hoće li multicore revolucija izazvati urušavanje softverskog eko sustava '''

Sigurno su i do vas stigle vijesti koje već neko vrijeme šire razni promotori i evanđelisti o nadolazećoj softverskoj revoluciji izazvanoj prelaskom proizvođača procesora na multicore arhitekture. Naime nakon par godina lutanja i razbijenih glava pri pokušaju probijanja 'zidova' (od kojih su neki ozbiljno pridonijeli globalnom zatopljenju), proizvođači mikroprocesora su odlučili da im je dosta i neka sad malo programeri razbijaju glave. A programeri kao programeri, već krvavih čela i plavih podočnjaka, nakon što su proučili 1023 skriptna jezika i onda se vratili na php i javascript, nakon što su im nezahvalni korisnici prigovorili da im je GUI kojeg vrte virtualne mašine malo spor, odlučili su stvar ignorirati i ući u potpuni 'denial' mod. Menageri u industriji ili nemaju blage ideje što se događa ili su potpuno konsternirani svjesni troškova i muka koje ih čekaju u procesu prilagodbe na paralelne arhitekture.

 

Nije za zamjeriti braći i sestrama programerima na zapadu. Outsourcing i bijeg poslova na istok, dotcom katastrofa i bijeg kapitala tko zna gdje, otkazi i u najbolju ruku stagnacija plaća uzdrmali su duh mnogih. Stalne manje-više lažne revolucije i inovacije, hype do hype-a tehnologija koje pretendiraju riješiti sve razvojne probleme (zbog kojih se istinska poboljšanja ni ne vide) dodatno su pogoršale stvar. Malo po malo, prvo usmenom predajom a onda i javno na internetu, širi se glas koliko je programiranje kruh sa sedam kora. I vidi vraga, 2006. godine u USA je samo 7500 ljudi upisalo Computer Science, dvostruko manje nego u zlatnim godinama. Bill Gates se nedavno gotovo rasplakao pred US kongresom tražeći povećavanje kvota za Hb1 vize koje uglavnom dobivaju informatičari (trenutno 65000 godišnje, nekad 190000) i predložio potpunu reformu useljeničkih zakona vezanih za obrazovanu radnu snagu. U Europskoj nam uniji još gora situacija, iz Njemačka već duže vrijeme značajan broj najboljih informatičara i znanstvenika bježi u USA ili još dalje. Izgleda da su iscrpljeni i razočarani očevi programeri počeli sinovima i kćerima govoriti da upišu pravo, ekonomiju ili mambo-jumbo fakultete tipa life science (to je navodno 'next big thing').

 

A aždaja paralelnog programiranja se probudila. Thread-ovi, brave, monitori, semafori… aždaji se ne mogu ni približiti. Transakcijska memorija, aktivni objekti i poruke je možda mogu počešati iza uha. Evanđelisti naravno govore kako je tu velika prilika, kažu teško je ali promijenit ćemo svijet. Pioniri iz 50-tih i 60-tih godina koji su izmislili 99% tehnologija koje se danas koriste su ništa prema vama koji ćete osmisliti stvari zbog kojih će ljudi živjeti 1000 godina bez bolesti, napraviti ćete intergalaktički svemirski brod i potpuno kontrolirati klimu. A za nagradu ćete dobiti besplatni energetski napitak. Znate već foru, dođe pametni klinac s faksa a vi mu kažete 'ovo je jako težak i zanimljiv problem, baš me zanima jesi ga sposoban riješiti'. Jedan od deset klinaca riješi problem a vi lijepo opalite softverski patent koji će vam trebati u hladnom ratu patentima sa mrskom vam konkurencijom. Onih preostalih devet pošaljete na test, prodaju i podršku korisnicima.

 

Malo je nezgodno što klinci ne mogu ubiti ovu aždaju, nisu dovoljno obrazovani i nema ih dovoljno. Na fakultetima uče python, javu i c#. Funkcionalno i konkurentno programiranje prije 5 godina ja bilo 'so out'. OK, ne mogu klinci ali imamo one čudne likove iz HPC (High Performance Computing) zajednice, idemo vidjeti što su oni osmislili na svojim Cray i blueGene mašinama. Oops, pa oni programiraju u paralelnom Fortran-u i C-u, message passing interface ima 500 funkcija i kod za njega izgleda gore nego goto špagete. Kad dođe novi stroj ili arhitektura ključne dijelove moraju pisati nanovo. Programi se loše skaliraju. Teško im je preslikati probleme iz stvarnog svijeta pomoću uzoraka koje su dosad osmislili.

Ali postoje tri nova HPC jezika koje financira DARPA (X10, Fortress, Chapel) i razvijaju ih najbolji ljudi IBM, SUN-a i Cray-a oni će sigurnu riješiti problem. Neće ići, 5 godina poslije imaju samo draft-ove jezika i već su zastarjeli, o pisanju compilera i razvojnih alata ni ne razmišljaju.

 

Nema veze, kad je revolucija onda se osniva veliki broj start-up koji nose inovacije. Sigurno će mali ekspertni timovi u međusobnoj konkurencije iznijeti teret. Opet ništa. Nema rizičnog kapitala koji bi bio spreman investirati. Zbog politike softverskih patenata svi oni koji i umiju nešto napraviti će postati patent trolovi i neće ići u razvoj stvarnih produkata.

 

Open source zajednica možda ? Pa nisu ni tamo programeri više ludi da rade kao konji a drugi stječu milijarde na njihovoj muci.

 

Indijci ? Možda za jedno 50 godina, to će ostaviti za kraj kad preuzmu sav drugi software.

 

Miscrosoft ? Kako da ne, nakon 6 godina razvoja Viste 50% najboljih programera im je otišlo u mirovinu a 50% doživjelo nervni slom. A trebat će smisliti potpuno novu paradigmu operacijskih sustava. Zapravo da nešto ozbiljno naprave vezano za development po dobrom starom običaju će zadržati za sebe. E da je bar Sir Tony Hoare 30 godina mlađi.

 

Google ? Njima tek nije u interesu da desktop i peer-to-peer mreže opet zažive. Njihove farme servera nastavljaju rasti eksponencijalno, imaju svoj mapReduce i savršeno su sretni razvojem situacije.

 

Ljudi iz industrije igara koji su odgovorni za većinu stvarnih inovacija na desktopu zadnjih 10 godina će iskoristiti quadcore arhitekturu low-level threadingom zbog funkcionalne dekompozicije na AI, fiziku i grafiku, onda će i oni pokleknuti.

 

Uf, izglede da bi se stvarno moglo sve srušiti tamo daleko na zapadu. Nama ovdje koje se sve to ionako ne dotikavle previše ostaje širiti defetizam i gledati jel se može šta sitno ušićariti.