Hva er transaksjonsminne?

I programvare er ordningen med transaksjonsminne et handlingsforløp for flertrådet programmering som bruker transaksjoner som er omtrent som en database bruker. Når to eller flere tråder prøver å få tilgang til de samme dataene samtidig, kan mange forskjellige uønskede situasjoner resultere i tilfeller der et program blir avhengig av trådtilgangsrekkefølgen. Vanligvis er en rekkefølge ønsket, og i multetråd, er låser den dominerende og enkleste måten å sikre at bare en enkelt tråd har tilgang til en spesifikk ressurs om gangen.

Denne tilnærmingen til transaksjonsminne inneholder flere problemer med hensyn til låser i multetråd. En lås kan bli permanent hvis det oppstår en slags uforutsett feil, og låser kan føre til uforutsigbare problemer med samtidig, som dødelås eller prioritert inversjon. Som et resultat av at låser er veldig finkornet, inkluderer en annen utgave koden som til slutt ender opp med å bruke mesteparten av tiden mellom låsing, kontekstbryting og opplåsing. Dette er et avgjørende problem fordi det kan føre til at koden bruker mer tid på disse handlingene enn på å gjøre annet, viktig arbeid i programmet. I kontrast kan grovkornede låser føre til redusert prosesseringsytelse og redusert samtidig.

Problemene i transaksjonsminnet blir adressert av avanserte låser, inkludert “låseblokk” fra C #, lese-skrive låser, skrivebarrierer, etc. En av hovedprioriteringene når det gjelder transaksjonsminnet er å ikke ha noen låser og ingen unødvendig låsebehandlingstid . Det er vanligvis enighet om at en datastruktur som deles er fri for låser hvis gjensidig utelukkelse ikke er nødvendig av dens operasjoner. Datastrukturer som er delt og er fri for låser, unngår ofte assosierte problemer med standard låseteknikker hvis de er i systemer som er svært samtidig.

TCC-modellen (Transactionional Memory Coherence and Consistency) er en ny, foreslått modell på delt minne. I følge modellen er atomtransaksjoner alltid grunnleggende enheter for følgende: parallellarbeid, minnekoherens, kommunikasjon og konsistens i minnereferansen. TCC-modellen gjør også parallell programvare enklere ved å eliminere synkronisering som bruker standardlåser eller semaforer. Gjennom maskinvare kombinerer TCC også hver skriving fra hvert transaksjonsregion i en pakke for atomisk å kringkaste pakken til en minnetilstand som blir delt permanent. I tillegg til forenklet koherensmaskinvare, betyr dette at det er behov for en reduksjon i meldinger med lav dvalitet og fullstendig eliminering av visse standardkoherenseprotokoller.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?