Objavljeno: 18.4.2005 22:55 | Avtor: Uroš Mesojedec | Monitor April 2005

Uroš Mesojedec: Paralelizem

Uroš Mesojedec: Paralelizem

Tekme gigahertzov je konec, prišel je čas za več jeder, več procesorjev in programje novega rodu.

Če niste ravno igričar, vam verjetno nekaj let star računalnik še povsem dobro služi. Ubijalskega programa, zaradi katerega bi kupovali nov računalnik, ni od nikoder. So pa ubijalske omrežne storitve, zaradi katerih kupujemo druge izdelke, kot so protivirusni/protismetni programi, usmerjevalniki z brezžično dostopno točko in modemi ADSL, a to je že druga zgodba. Zaradi tega je morda že marsikdo pozabil na hrabro napoved vodilnega izdelovalca procesorjev iz leta 2002, v kateri so trdili, da bo jedro procesorja Pentium 4 v štirih letih doseglo in preseglo hitrost 10 GHz. Vprašajmo Google in našli bomo kar lepo število zavajajočih člankov.

Piše se namreč leto 2005, arhitektura Pentiuma 4 se je približala 4 GHz in hkrati prišla do svojega bridkega konca, saj je Intel ugotovil, da je navita prek vseh meja vzdržljivosti. Namesto nje je ponujena arhitektura Pentiuma M, prvič predstavljena v prenosnikih, ki je pravzaprav izpiljeni potomec Pentiumov III, krmilila pa jih bo ura z le dvema milijardama in nekaj drobiža utripov na sekundo. Ko je Intel napovedal spremembo v svoji usmeritvi, se je zaslišalo nemalo glasov, da so pred leti namerno zavajali javnost. Z neutemeljenimi, preveč optimističnimi napovedmi naj bi si zaščitili hrbet proti resnemu tekmecu in ohranili interes vlagateljev in rast cene svojih delnic. Dišalo je celo po tožbi uprave zaradi zavajanja delničarjev. Je bilo res tako? Se je morda AMD zavedal pasti navijanja procesorjev, ko je že pred leti izstopil iz tekme in začel procesorje označevati s pričakovano zmogljivostjo namesto z dejanskim taktom ure? Kakorkoli že, takt 10 GHz bomo na potomcih arhitekture x86 še dolgo čakali.

Intelu v bran je treba zapisati, da se je leta 2002, ko je bil vrhunec tehnologije 130 nm proces izdelave z bakrenimi povezavami, težko predvidevalo, kakšne težave bo povzročilo nadaljnje uresničevanje Moorovega zakona. Odsotnost 10 GHz procesorjev marsikdo zmotno povezuje z njegovim koncem. V resnici Moorov zakon predvideva le podvajanje zapletenosti vezij (recimo, števila tranzistorjev na procesorju) vsakih 18 mesecev in kot tak še vedno drži in bo zdržal še lep čas. Ena največjih težav, ki je preprečila pričakovano stopnjevanje hitrosti Pentiumov 4, je izgubni električni tok. Pri velikanskih hitrostih in zelo drobnih elementih se problem izgubnega toka drastično poveča, mimo vseh pričakovanj, ki so bila posledica opazovanj pri 130 nm procesu. Izgubni tok pobegne iz vezja, ne da bi opravil koristno delo, in le greje jedro. Na 3,6 GHz jedru Prescott, izdelanem v 90 nm procesu, se pri polni obremenitvi kuri okrog 110 W električne moči. Če isto jedro ne dela ničesar, še vedno kuri 53 W! Zelo nerodno in pri obstoječi tehnologiji praktično nerešljivo. Kaj bo šele pri elementih, velikih 65 nm?

Seveda so izdelovalci najbolj zapletenih elektronskih vezij že v preteklosti naleteli na številne ovire, a so jih vedno uspešno preskočili s takimi ali drugačnimi inženirskimi zvijačami. Temeljne raziskave, ki bi v srži spremenile proces izdelave in popolnoma zaobšle trenutne težave, pa niso našle ustreznega finančnega zaledja. Izdelava čipov pravzaprav temelji na temeljnih odkritjih izpred nekaj desetletij. Konec hladne vojne, proračunski primanjkljaji, pritiski vlagateljev, željnih hitrega zaslužka, zorenje računalniške industrije... Vse to so bolj ali manj upravičeni razlogi, da pravega prodora v optičnem, kvantnem, organskem ali kakšnem drugem, alternativnem računalništvu še nismo dočakali. Ker je danes prav izgubni tok velika težava pri izdelavi procesorjev, se zdi zelo primerna tehnološka rešitev superprevodnost. Žal pa je ta mogoča le pri ekstremno nizkih temperaturah ali zelo eksotičnih in največkrat izredno strupenih materialih. Poleg tega se je s superprevodnostjo pred desetletji že zelo opekel IBM, eno redkih podjetij, ki ima ustrezne vire in katerega raziskovalni laboratoriji dejansko odkrivajo nove temelje industrije, zato njena praktična uporaba zaenkrat ostaja domena znanstvene fantastike.

Svet pa je medtem lačen večje zmogljivosti, saj se obdelava podatkov le stopnjuje, vse več vej industrije pa se pospešeno digitalizira. Vsi izdelovalci procesorjev, soočeni z izjemno težavnostjo nadaljnjega dvigovanja hitrosti, so odgovor našli v paralelizmu. Namesto več gigahertzov bomo v procesorju zdaj dobili več jeder. Najprej dve, potem štiri, morda osem. Tako bomo lahko poceni prišli do večprocesorskega računalnika. Z matično ploščo, ki ima le eno podnožje za procesor, si bomo lahko sestavili npr. navidezni štiriprocesorski sistem. Hkrati so sodobni procesorji, zgled sta Opteron (kmalu z dvema jedroma) in prihajajoči Cell (napovedan z 8+1 jedrom), že zasnovani tako, da je tudi njihovo medsebojno povezovanje čim lažje. Ves ta paralelizem bo omogočil izdelovalcem procesorjev, da še naprej izdelujejo vedno bolj zmogljiva vezja, vendar je to le polovica zgodbe. Paralelizem namreč prinaša zgolj obljubo večje zmogljivosti, ki pa jo mora uresničiti ustrezna programska oprema.

Računalnike je nekdo opisal kot "ojačevalce misli". Vendar je delo, ki ga opravijo silno hitro in brez napak, vedno le posledica natančnih napotkov. Ustvarjanje teh napotkov, programiranje, je dovolj zapleteno že v zaporednem svetu, ko pa se premaknemo v svet sočasno izvajajočih se procesov, postane polno novih pasti. Ljudje, ki žal še vedno opravimo večino programiranja, preprosto nismo sposobni dovolj jasno razmišljati z upoštevanjem sočasnosti. Resnici na ljubo tudi programski jeziki le redko ponujajo ustrezne pripomočke, ki bi to delo olajšali. Pričakovano povečevanje zmogljivosti, ki naj bi ga prinesli večjedrni in večprocesorski sistemi, lahko prinese le sodelovanje večjega števila slojev, ki sestavljajo sodoben računalniški sistem. Programerji namenskih programov bodo le s težavo uspešno paralelizirali svoje programe. Veliko število problemov, ki jih programerji rešujejo, ni mogoče preprosto prenesti v svet sočasnih procesov. Najučinkovitejše delovanje procesorjev novega rodu bo mogoče z izkoriščanjem paralelizma v samem operacijskem sistemu in s pomočjo novih prevajalnikov. Že pri boju procesorskih arhitektur RISC in CISC je bila prevajalnikom zaupana težka naloga polnega izkoriščanja prednosti preprostejše zgradbe. Zgodba se s paralelizmom ponavlja. Programsko kodo bo moral (znova) uspešno predelati in paralelizirati prevajalnik. Ljudje enostavno nismo sposobni pisati učinkovito paralelno kodo. Redki izbranci, ki to zmorejo, naj nam priskrbijo ustrezne prevajalnike, programiranje pa se bo selilo v višjega jezike z bogatimi knjižnicami, ki puščajo dovolj svobode pri optimizaciji, programerjem pa ponujajo mnogo večjo izrazno moč s precej manj truda.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji