Flere kerner. Flere parallelle processer.
Det er logik for forskere, der dagligt har hovedet dybt begravet i supercomputere med mange processorer.
Men i takt med, at chip-fabrikanterne Intel og AMD presser flere kerner ind i processerne til almindelige computere, får it-udviklingerne mere ud af processorerne, hvis de er i stand til at parallel-programmere.
"Parallel-programmering bliver vigtigt, hvis vi ønsker hurtigere applikationer eller meget tung regnekraft," konstaterer lektor Hans Henrik Løvengreen fra Danmarks Tekniske Universitet (DTU).
Derfor har DTU strammet op omkring undervisningen i parallel-programmering over for de studerende.
"Alle vores datalogi-studerende har de sidste mange år haft en begrebsmæssig forståelse for parallelisering, men nu gør vi en større dyd ud af at fortælle de studerende, at de kan få meget mere ud af computerne, hvis de programmerer til flere kerner," lyder det fra Hans Henrik Løvengreen.
Traditionelle sprog duer ikke
Hans Henrik Løvengreen forklarer, at der inden for parallel-programmering findes to hoveddiscipliner:
Traditionel multi-trådet parallel-programmering, hvor man eksplicit igangsætter flere aktiviteter (tråde), der ikke nødvendigvis bliver udført på samme tid, og som i praksis er en udbygning af almindelig programmering.
I modsætning står nye sprog og systemer, der er målrettede mod udnyttelse af mange kerner.
Her foretages paralleliseringen implicit af oversættere eller kørselsbiblioteker, eller der benyttes helt andre programmerings-paradigmer som eksempelvis funktionsprogrammering, som lægger op
til at tænke i små, uafhængige beregningsdele.
Nye programmeringssprog
I den fagre, nye multi-kerne-verden er det især de nye former for parallel-programmering, der er interessante.
"Vores nuværende programmeringssprog er dog ikke gode nok til at få tilstrækkeligt ud af de flere processorer," fortæller Hans Henrik Løvengreen.
Derfor er det nødvendigt med paralleliserede varianter af de klassiske programmeringssprog som Fortran og C. Et eksempel er sproget OpenMP, hvor almindelige sekventielle programmer kan opfattes med anvisninger på at udføre eksempelvis de enkelte grene i en for-løkke parallelt.
It-industrien kaster sig over parallelisering
It-mastodonten Sun Micrososystems har også taget konsekvensen af den øgede fokusering og udviklet et nyt parallel-sprog, der hedder Fortress ifølge Computerworlds svenske søsterblad Computer Sweden.
"Fortress er et funktionelt sprog, der bygger på samme principper som Erlang. Erlang er et rigtigt grundlag for parallel-programmering, ligesom Python også er det," forklarer SUN-udvikller Thorbiörn Fritzon til Computer Sweden.
Han peger derfor på, at Google har taget Python til sig til sine skalérbare tjenester, hvor selskabet benytter sig af parallelisering.
Også Microsoft har for nyligt taget parallel-programmering til sig med udgivelsen af ParallelFX til .Net Framework.
"For mig er det her et lille skridt, vi har taget," siger S.
'Soma' Somasegar, corporate vice president for Microsoft Developer Division.
"Parallel-programming skal bredes ud til flere programmører, det skal ikke kun være for de bedste programmører," forklarer han.