Kan man forudsige fremtiden og forhindre bankkriser med ren regnekraft? Kan man med computere og statistik finde ud af, om det er det rigtige valg at give et lån eller købe en aktie eller en multinational virksomhed? Og hvordan får man gennemført de meget komplekse beregninger på en måde, så computerne kan gøre det hurtigt nok til, at man har tid til at vente på resultatet?
Det er spørgsmål, som forskere på Datalogisk Institut, Matematisk Institut og Niels Bohr Institutet på Københavns Universitet har kastet sig over. Det Strategiske Forskningsråd støttede i 2010 projektet HIPERFIT (det står for Functional High Performance Computing for Financial Information Technology) med 31,4 millioner kroner til seks års forskning.
Projektet er nu halvvejs, og Videnskab.dk har sat sig for at lave en midtvejsevaluering på projektet.
Fritz Henglein, der er professor på Datalogisk Institut på Københavns Universitet og leder af HIPERFIT, fortæller, at det er lykkedes forskerne at få computere til at foretage beregninger meget hurtigere end tidligere.
»Vi har allerede udviklet noget kode, der er meget, meget hurtigere – helt op til en faktor 500 ved hjælp af almindelige grafikkort, som findes i almindelige maskiner, der bruges til computerspil,« siger Fritz Henglein.
Meget større krav til banker
Forskningscenteret arbejder på at skabe højere beregningshastigheder i tæt samarbejde med bankerne Danske Bank, Nordea og Nykredit samt flere andre samarbejdspartnere. Samarbejdet er kommet i stand for at løse nogle af de udfordringer, den finansielle sektor står over for, efter den finansielle krise skyllede ind over verden i 2007 og skabte arbejdsløshed og krisestemning.
Resultatet af finanskrisen er blandt andet øgede krav til bankerne, når de investerer og låner penge ud – de skal vide meget mere om, hvor stor risikoen er, så en gentagelse af krisen kan undgås. HIPERFIT-forskerne arbejder derfor på at udvikle et nyt programmeringssprog, der på en gang gør det nemmere for bankerne at foretage beregningerne af risiko og samtidig skal gøre dem langt hurtigere.
Forsøget på at se ind i fremtiden og skabe bedre risikovurderinger, end dem vi har i dag, skaber man med stokastiske simuleringer (se faktaboks). Men det er noget, der kræver enorme beregninger – som kræver meget høj computerkraft, hvis man altså ikke har oceaner af tid til at vente på resultatet.
»For nogle data har vi en mareridtsagtig kombination, fordi der er så mange scenarier, der bliver beregnet. Men det er det, der gør det spændende,« siger Fritz Henglein.
Datalogiens store udfordring
For at løse finanssektorens behov for at kunne udregne risiko har forskerne i HIPERFIT-projektet derfor samtidig kastet sig over et af datalogiens store problemer: Hvordan man skaber høj nok beregningshastighed.
Datalogiens problem med at skabe høj hastighed er mangesidet, men løsningen starter med én ting: kerner. Det er her, computeren foretager sine beregninger og i praksis udfører de opgaver, den bliver sat til.
De fleste almindelige computere har to eller fire kerner, der kan fordele arbejdet mellem sig – på samme måde som flere kokke kan fordele arbejdet mellem sig i et køkken.
\ Fakta
Denne artikel indgår i en serie, der viser, hvordan strategisk forskning kan bidrage til at løse konkrete samfundsproblemer. Artikler og videoer bringes som led i et samarbejde med Det Strategiske Forskningsråd.
Men mens det er nemt at få fire kokke til at arbejde sammen effektivt og deles om arbejdet med at lave en god spaghetti bolognese, bliver det sværere, hvis man propper 100.000 kokke ind i sit køkken, der skal stå og arbejde ved siden af hinanden.
På samme måde er det svært at gøre effektivt, når en programmør skal skrive kode, der styrer hvilke kerner, der skal foretage hvilke beregninger samtidig – eller parallelt, som det hedder.
»Den helt store udfordring inden for datalogien, der går 30 år tilbage, er, hvordan man konstruerer korrekt kode, der er virkelig massivt parallelt. Det er noget, der er gået milliarder i, og forskerne forsøger stadig,« siger Fritz Henglein.
Skal virke på alting
At det er svært at fordele arbejdsopgaverne effektivt betyder, at langt det meste af de mange kerners regnekraft aldrig bliver udnyttet.
Software er nemlig typisk bygget til et bestemt antal kerner og kan ikke automatisk udnytte den ekstra regnekraft, hvis man køber en hurtigere computer med flere kerner. Det svarer til, at man klemmer flere kokke ind i sit køkken men ikke giver dem nogen arbejdsopgaver. Skal de nye kokke eller kerner i gang med at hakke gulerødder eller foretage udregninger skal koden, der fordeler arbejdsopgaverne, skrives om.
Forskerne fra HIPERFIT vil nu forsøge at udvikle et programmeringssprog, som gør, at et program altid kan udnytte alle de kerner, der er til rådighed, uanset om der er 2 eller 100.000.
\ Fakta
FAKTA: Kerner • HIPERFIT-projektet går ud på at få mange kerner til at arbejde sammen på en effektiv måde for at skabe hurtigere regnehastighed. Kernerne er stedet, hvor computeren foretager sine beregninger. • Den computer, du læser denne artikel fra, har formentlig to eller fire kerner, der typisk kan gennemføre 2,5 milliarder instruktioner i sekundet hver. Hvis du spiller computerspil med tung grafik, har du måske endda købt en computer med yderligere 1.000 kerner på et grafikkort. • Hvis der kun var én kerne, så ville softwaren sætte alle beregninger til at blive udført en efter en. Har man flere kerner til rådighed, kan man programmere sin computer til at dele regnestykket op og regne forskellige dele samtidig på de to kerner – eller parallelt, som det hedder.. • Fritz Henglein vil gerne kunne bruge helt op til 100.000 kerner, der foretager beregninger parallelt.
»Vi angriber det fra en anden vinkel. Vi siger til programmøren, der skal skrive programmet, at hun ikke skal bekymre sig om, hvor mange kerner, der er – hun kan skrive sit program til lige så mange, som hun har lyst til. Så sørger vores programmeringssprog for at oversætte det til det antal kerner, der er,« siger Fritz Henglein.
Det er særligt vigtigt, fordi antallet af kerner i nye computere stiger eksponentielt lige nu. Og mens det er nemt at købe den nyeste computer, er det svært og tidskrævende at få softwaren til at udnytte den nye regnekraft effektivt.
Forskning skal udfordre bankrådgiveren
HIPERFIT’s programmeringssprog vil altså kunne skabe store besparelser, når bankerne ikke behøver udvikle et helt nyt computerprogram til at analysere risikoen ved deres investeringer, hver gang de indkøber nye computere.
Samtidig vil sproget gøre det muligt at skrive programmerne, uden at man i bankerne behøver at have specialviden om de meget komplekse datalogiske problemer, der får beregningerne gennemført på mange kerner. Dermed bliver det nemmere for bankerne at vurdere deres risiko i fremtiden og måske undgå en ny krise.
»Vi håber at kunne skabe nogle gode modeller for fremtiden og at skabe regnekraften til at regne dem igennem, i stedet for bare at håbe på at der ikke kommer til at ske noget forfærdeligt,« siger Fritz Henglein.
Men forskningen er offentligt, og Fritz Henglein håber, at det er ikke kun er bankerne, der vil nyde godt af forskningsresultaterne. Softwaren som bliver udviklet i HIPERFIT-projektet skal også kunne bruges af uafhængige folk til at foretage uafhængige analyser.
\ Fakta
FAKTA: Stokastiske simuleringer • HIPERFIT kombinerer matematiske og statistiske metoder, der kan beregne forudsigelser om fremtiden med datalogiske metoder, som skal få computerne til at gennemføre beregningerne. • Risikoen ved bankernes investeringer beregnes ved hjælp en række forskellige metoder. Her spiller stokastiske simuleringer en større og større rolle. Stokastiske simuleringer bygger på, at man regner ud, hvordan investeringen ser ud i millioner af forskellige fremtidsscenarier. • Hvert scenarie er bygget på tilfældigheder – hvordan vil renten udvikle sig, hvordan vil det gå med verdensmarkedspriserne, udbryder der krig? Man beregner så, om investeringen er en god forretning eller om man taber penge i hvert scenarie. • Ved at se på investeringen i det meget store antal tilfældigt udvalgte fremtidsscenarier kan man danne sig en idé om, hvad der kan tænkes at gå galt og under hvilke omstændigheder banken kan tabe penge – og har derfor en klar idé om risikoen ved investeringen.
»Det er en frygtelig historie, hvordan folk har købt strukturerede produkter med meget høj risiko, fordi designerne af produkterne ved frygteligt meget mere end bankrådgiverne og investorerne. Der er en ulighed i hvem der har adgang til information, som vi håber at kunne bidrage til at gøre op med,« siger Fritz Henglein.
1.000 gange hurtigere
På IT-Universitetet i København mener professor Peter Sestoft, at forskningen på Københavns Universitet er spændende.
»Det, der vil være fantastisk, hvis deres projekt lykkes, er, at man kan skrive det samme stykke software og køre det på sin egen maskine – og på en, der er 1.000 gange hurtigere. Det vil spare både tid og energi og man undgår en uendelig mængde bøvl. En faktor 1.000 er altså forskellen mellem, at en beregning tager et helt døgn og 1,5 minut,” siger Peter Sestoft.
Peter Sestoft er ikke selv en del af HIPERFIT-projektet, men han arbejder med et lignende projekt, der skal skabe beregningsløsninger til pensionsbranchen – på samme måde som HIPERFIT skal det til finanssektoren.
»Om den praktiske målsætning inden for finanssektoren lykkes afhænger af, om bankerne vælger at satse på den her retning eller på noget andet – deres problemstilling kan også løses med mange andre værktøjer. Men der er helt sikkert nogle, der vil bruge det,« siger Peter Sestoft. Modsat HIPERFIT forsøger han ikke i sit projekt at skabe løsninger, der generelt kan skabe højere beregningshastighed.
»Det er et rigtigt svært problem at lave softwareløsninger, som både er generelle og giver meget høj hastighed – det er selvfølgelig noget, man har været interesseret i, siden første dag man lavede en computer, så udfordringen er ikke ny. Men deres tilgang er ny og bliver også forfulgt andre steder i verden, så jeg tror, de har fat i det rigtige,« siger Peter Sestoft.