Hva er caching og hva har det med Roald Amundsen og mitt klesskap å gjøre?

Caching er et begrep mye brukt innen databehandling og helt nødvendig for at datamaskiner skal kunne jobbe effektivt. Datamaskiner blir stadig raskere til å behandle data. Det som sinker dem er å hente inn data og skrive resultatet tilbake til det permanente datalageret som kan være en hard-disk (også kalt snurredisk fordi den går rundt), men mer og mer til et elektronisk lager uten bevegelige deler, såkalt SSD. Dette opererer raskere enn harddisken, men koster mer og er fremdeles langt langsommere enn prosessoren som behandler dataene med millioner av behandlinger per sekund.

Foto: Nasjonalbiblioteket

Foto: Nasjonalbiblioteket

Amundsen måtte ha cache

Cache er rett og slett et lager som er tilgjengelig nær deg når du trenger det. Da Roald Amundsen gikk til Sydpolen brukte de flere måneder på å utplassere forsyninger langs ruten som de kunne ha tilgjengelig underveis slik at de ikke trengte å ha med all proviant på sledene. Dette gjorde at de hadde proviant og brensel tilgjengelig langs ruten på tilbakeveien lett tilgjengelig og til rett tid.

Du kan ikke ha alle klærne liggende ved senga

Siden datamaskinenes morgen har det vært et problem å mate prosessoren med nok å gjøre til at den ikke går på tomgang. I 1946 beskrev forskerne Burks, Goldstine og Neuman fra universitetet i Princeton det de kalte et elektronisk hukommelses-organ der et hierarki av hukommelse sørget for at prosessorkapasiteten kunne utnyttes bedre. 

Et slikt hierarki kan vi kjenne igjen fra dagliglivet for hvordan vi behandler våre kleslager. Ved senga har vi kanskje klærne vi har tenkt å ta på oss i morgen. Det er vår nærmeste cache. Klesskapet er det neste nivået i hierarkiet som det tar litt mer tid å hente klær fra, og boden der vi har vinterklærne er det langsomste datalageret, med mindre vi har så mye klær at vi leier et eksternt lager :-)

Moderne datamaskiner har opptil 5 nivåer av cache som gjør at vi kan utnytte den stadig økende prosessorhastigheten. Sjekker du de tekniske spesifikasjonene på en PC du lurer på å kjøpe står det for eksempel "CPU Cache 2 MB". Ikke at du trenger å bry deg så mye med det, men da vet du hva det er :-)

Problemet med cache er at det alltid er av begrenset størrelse. Vi kan ikke ha alle klærne liggende i en haug ved senga. Da kan det fort bli et samlivsproblem :-)

Hva beholder du og hva kaster du?

Alle som har forsøkt å rydde klesskapet, eller har lest ryddebøker fra den japanske ryddeeksperten Marie Kondo og andre vet at det finnes en rekke ulike måter man kan takle problemet med hva man hiver ut av sin cache, slik som FIFO - first in, first out, eller LRU - last recently used :-)

All forskning, både innen data- og klesadministrasjon går for LRU. Det du brukte sist vil du mest sannsynlig bruke snart igjen og det lønner det seg å ha i en cache nær deg.

Åpne det du jobbet med nylig

Hva er så relevansen for deg i det å jobbe smartere? Jo det er at du bruker minst mulig tid på å finne og åpne det siste du jobbet med, og som du høyst sannsynlig skal jobbe videre med.

Jeg vet om mange som nesten utelukkende åpner dokumenter fra Microsoft Office sin cache som du åpner om du velger fil, åpne fra et Office-program. Da vil du se det siste du jobbet med, og med 80% sannsynlighet er det ett av disse dokumentene du nå vil åpne. Det sparer deg for en masse arbeids med å søke og finne igjen dokumentet. Så vi har cache overalt rundt oss både innen vår arbeidsdag og hjemme.