Til hovedinnhold
Norsk English

Katastrofemedisin hindrer datakræsj

Første verdenskrig ble gjennombruddet for et sorteringssystem som hjalp feltleger å se hvilke skadde soldater som ville ha nytte av behandlingen som kunne gis. I dag bruker systemutviklere et liknende system til å forhindre at datasystemer skal kollapse. Arkivfoto: NTB
Første verdenskrig ble gjennombruddet for et sorteringssystem som hjalp feltleger å se hvilke skadde soldater som ville ha nytte av behandlingen som kunne gis. I dag bruker systemutviklere et liknende system til å forhindre at datasystemer skal kollapse. Arkivfoto: NTB
Et enkelt prinsipp som leger tok i bruk på slagmarken under første verdenskrig, gjør at vi nå kan utvikle bedre og billigere programvare.

Under blodige slag for over to hundre år siden oppdaget Napoleons feltkirurger noe viktig. Om de prøvde å hjelpe de skadde etter hvor ille skadene så ut, risikerte de å prioritere pasienter det var umulig å redde.

De kunne også sløse vekk verdifull tid på soldater med lettere skader. Så hvordan finne tilfellene der øyeblikkelig hjelp ga best effekt?

Svaret ble et sett av sorteringskriterier, kalt «triage» – fransk for sortering.

Fra slagmarken til dataindustrien

Prinsippet ble kjent for alvor gjennom franske legers praksis i felten under første verdenskrig. Fortsatt brukes det på store ulykkessteder.

Med tidlige og raske ekspertvurderinger deler helsepersonell de skadde i to grupper: de som har nytte av behandling det er mulig å gi, og de som ikke har det.

Fra Norge har ikt-verdenen nå fått en metode som på liknende vis hjelper systemutviklere å sortere. Hos TietoEVRY og hos Digitaliseringsdirektoratet har den alt spart arbeid og bedret kvaliteten på datasystemer.

Datasystemer er som deg og meg

Metoden viser utviklerne allerede på «tegnebrettet» hvilke arbeidsoppgaver som kan få et datasystem til å kræsje, om de ikke vies nok oppmerksomhet i utviklingsfasen.

Verktøyet er resultatet av et prosjekt der vi som er forskere og vi som representerer ikt-industri og systemeiere har samarbeidet, med støtte fra Forskningsrådet. Bakteppet er at datasystemer er som oss alle.

Får de for mye å gjøre, møter de nemlig veggen. Det skjer hvis de får flere brukere på en gang enn forutsatt, eller om brukerne gir datasystemet tyngre oppgaver enn det er lagd for. Systemet har «skaleringsproblemer», heter dette på fagspråket.

Egenskapen skalerbarhet

Likheter med korona-sykehus

Viktigheten av riktig skalering i dataverdenen blir lettest å forstå om du sammenlikner datasystemer med sykehus.

Et sykehus har mange ulike arbeidsoppgaver. Noen må gjøres ofte, noen er lette og noen haster mer enn andre.

Da koronaen kom ble det klart at arbeidskrevende respiratorbehandling av mange dødssyke samtidig, kunne knekke sykehusene. Som mottrekk økte de kapasiteten ved å kjøpe flere respiratorer og frigjøre sykepleiere fra annet arbeid.

Gjør vanskelige vurderinger håndterbare

På lignende vis analyserer metoden vår arbeidsoppgavene til et datasystem.

Noen oppgaver er tunge, andre er hyppige og noen haster mer enn andre. Eksperter vurderer hver oppgave og gir den separate «verdier» for hvor tung den er, hvilken frekvens den har og hvilken hastegrad. Enten lav, middels eller høy.

At verdiene angis hver for seg, er den sentrale innovasjonen som gjør det håndterbart å vurdere hvor krevende hver arbeidsoppgave er.

Fellestrekk med feltlegens hverdag

Kombinasjonen «høy-høy-høy» er opplagt skummel og må vies omtanke for å bli løst best mulig.

Sammen vurderer ekspertene om også kombinasjoner som «høy-middels-høy» kan knekke systemet.  Akkurat slik feltlegene vurderte hvem som ville ha best effekt av behandling, sirkler metoden inn de delene av datasystemet der «kræsjforebygging» må til.

Mulighetene for å tilføre datasystemer ekstra ressurser, på linje med «respiratorer og sykepleiere», ligger eksempelvis i å gi systemet flere prosessorer (CPUer). Men dette er ikke rett frem.

«Ringelmanneffekten»

Det blir som når flere personer sammen skal løfte en tung gjenstand. Kanskje klarer hver av dem 30 kilo.

To kan samarbeide perfekt og løfte 60 kilo. Men seks personer klarer neppe å samarbeide perfekt om å løfte 180 kilo. Dette kalles Ringelmanneffekten, og slik er det også med prosessorer.

Desto viktigere er det for systemutviklere å vite nøyaktig hvilke av datasystemets arbeidsoppgaver de bør bruke kreftene sine på for å få systemet til å tåle økte arbeidsmengder.

Unngår dyr brannslukking

Til nå har skaleringsproblemer ofte blitt oppdaget først etter at arbeidsoppgavene er ferdige. Slik kostbar brannslukking gir forsinkelser.

Metoden vår endrer dette. Når ekspertene på forhånd vet hvilke arbeidsoppgaver som kan få datasystemet til å bryte sammen, kan de gi verdifulle innspill underveis. Dette sparer både tid og penger. Mindre stress blir det også.

Metoden trenger fortsatt mer utprøving. Samtidig utvider vi den slik at den kan analysere programvaresikkerhet og drift av kritiske datasystemer.

Det hele ved hjelp av et gammelt og enkelt prinsipp fra katastrofemedisin, som vi har tilpasset moderne systemutvikling.

Forskningen

Artikkelen ble første gang publisert i Dagens Næringsliv 3. februar 2020 og gjengis her med DNs tillatelse.

Utforsk fagområdene

Kontaktperson