Beregninger(1): Fra kuleramma, via Leibniz til petaflops

Av Morten Dæhlen
Publisert 4. mars 2014
 

Forskningsdekan Svein Stølen startet prosessen ved å presentere "beregningsfakultetet" på sin blogg i forrige uke. Det matematisk-naturvitenskapelig fakultet ved UiO har utviklet seg til et fakultet der beregninger står sentralt innenfor store deler av virksomheten. Vi er i dag ledende på en rekke områder innen utvikling av beregningsmetoder og bruk av beregninger i forskning og utdanning. Våre planer for fremtiden på dette området er ambisiøse. Jeg vil i en serie med blogginnlegg utover våren gå nærmere inn på beregninger på "beregningsfakultetet", men jeg vil starte med en meget kort (og definivt ikke fullstendig) historisk beskrivelse av menneskehetens opptatthet av beregninger og utvikling av maskiner som kunne utføre beregninger. Menneskeheten har, helt siden matematikken begynte å ta form, drømt å utvikle maskiner som kunne regne. Det startet med fingre som "tellemaskiner" og kuleramma, som trolig ble oppfunnet i Mesopotamia for omlag 4500 år siden og fortsatt brukes i deler av Asia. De første mekaniske regnemaskiner ble konstruer på 15/1600-tallet. Den første mekaniske regnemaskin som klarte alle de fire grunnleggende regneoperasjonene (addisjon, substraksjon, divisjon og multiplikasjon) ble konstruert av Gottfried Wilhelm Leibniz i 1694. Mye skjedd på 1800-tallet og begynnelsen av 1900-tallet, men jeg tar nå et langt sprang fra Leibniz til årene etter andre verdenskrig. De første elektroniske datamaskiner ble konstruert i etterkrigsårene med det formålet å utføre beregninger som enten tok lang tid å utføre for hånd eller var så store at de var umulig å utføre for hånd. Thomas Hysing, som bygget Norges første elektroniske regnemaskin (NUSSE) tidlig på 1950-tallet, fortalte meg at det tok ca. tre uker for en ingeniør å utføre stabilitetsberegninger for skip for hånd. Ikke NUSSE, men en av de tidlige etterfølgere etter NUSSE, brukte 3 timer på samme oppgaven. Disse elektronisk regnemaskinene var datiden datamaskiner, men først da mikroprosesseren ble oppfunnet og masseprodusert fra begynnelsen av 1970-tallet ble datamaskinen et beregningsverktøy av stor betydning for samfunnsutviklingen. Omtrent samtidig kom Internett (og datakommunikasjon) som gjorde det mulig å koble datamaskiner sammen i nettverk. Utviklingen fra 1970 og frem til i dag har vært eksplosiv, og vi vandrer i dag rundt med en kraftig regnemaskin i lomma (mobiltelefonen). Denne vil kun brukt sekunder på den stabilitetsberegningen jeg nevnte over. Verdens kraftigste datamaskiner, som litt enkelt forklart består av mange tusen regneenheter satt sammen på riktig vis, kan utfører flere millioner milliarder regneoperasjoner i sekundet. De aller største har en maksimal regnekapasitet på flere petaflops (1 petaflops = 1,000,000,000,000,000 flyttallsoperasjoner per sekund = 1 million milliarder flyttallsoperasjoner per sekund). Jeg skal komme tilbake til hvorfor vi trenger slike maskiner i et senere innlegg, men nå til hva som har skjedd innen utvikling av teorier, metoder og verktøy for beregninger de siste 50 årene. Utvilklingen knyttet til beregninger innen forskning og utdanning kan grovt sett deles inn i to hovedretninger, og det er viktig å ta med seg at de to tilnærmingene som skisseres under henger tett sammen:

  • Problembasert tilnærming: Denne tilnærmingen handler om å utvikle beregningsmetoder og bruke beregninger til å forstå komplekse fenomener eller prosesser. Disse fenomene og prosessene som skal studeres og forstås finner vi i naturen eller de er skapt av oss mennesker. Utfordringene er å forstå disse fenomene eller prosessene på en slik måte at de kan oversettes til et språk som datamaskinen forstår. Det første steget i denne oversettelsesprosessen er svært ofte at det etableres en eller annen form for matematisk eller statistisk modell for det fenomenet eller den prosessen som skal studeres. Den neste steg er å utvikle programvare som kan kjøres på en hensiktsmessig datamaskin, enten en som vi har pulten eller en av de store nevnt over. Behovet for regnekraft varierer. Et siste og svært viktig steg er å sammenligne resultatet av beregningene med observasjoner av det fenomenet eller den prosessen som studeres. Slike sammenligner vil i sin tur gi viktig informasjon som kan benyttes for å forbedre modellene og man kan ta en ny runde med beregninger. Det er også viktig å understreke at kombinasjonen av beregninger og (fysiske) eksperimenter/målinger blir stadig viktigere innenfor stadig flere fagområder.
  • Metode- og verktøybasert tilnærming: Denne tilnærmingen handler om å utvikle beregningsmetoder for å løse felles problemstillinger (gjerne kalt generiske problemstillinger) som oppstår innenfor flere anvendelsesområder. Forskningen kan gjerne være motivert ut i fra en gitt konkret problemstilling (et fenomen eller en prosess, jmf beskrivelsen over), men her er forskningen på beregningsmetoder og -verktøy slik at resultatene potensielt har et bredere nedslagsfelt. Denne type forskning har ofte, men ikke alltid, et tyngdepunkt innen fag som statistikk, matematikk og informatikk. Et typisk eksempel på en generisk problemstilling er å finne effektive metoder og algorimer for å løse ligningssystemer, og behovet for å løse ligningssystemer finnes i alle former for beregninger av den type vi snakker om her. Et annet eksempel på en generisk oppgave er å sørge for at programmeringspråkene som brukes er egnet for beregninger og særlig store beregninger.

Disse to tilnærmingen er gjensidig avhengig av hverandre, noe jeg blant annet vil illustrere gjennom denne serien med blogginnlegg om "beregningsfakultet" - Det matematisk-naturvitenskapelige fakultet ved Universitetet i Oslo.  I tillegg til at regnekraft, lagringskapasitet og kommunikasjonshastighet har utviklet seg enorm de siste 50 årene har jeg trukket frem disse to tilnærmingene knyttet til beregninger fordi det også på disse områdene har vært en formidabel utvikling i samme tidsperiode. I dette bildet har forskere ved UiO gitt viktige bidrag over mange år - bidrag som har plassert UiO på det internasjonale kartet. Dette kommer jeg tilbake til, men neste gang skal jeg skrive litt mer om et av våre flaggskip innen utdanning, nemlig "Computing in Science Education" (beregninger i utdanning).