Skip to main content

Hvad er transaktionshukommelse?

I software er ordningen med transaktionshukommelse et handlingsforløb til multithreaded programmering, der bruger transaktioner, der ligner dem, som en database bruger.Når to eller flere tråde forsøger at få adgang til de samme data på samme tid, kan mange forskellige uønskede situationer resultere i tilfælde, hvor et programs resultat afhænger af trådadgangsordren.Normalt ønskes en ordre, og ved multithreading er låse den dominerende og enkleste måde at sikre, at kun en enkelt tråd har adgang til en bestemt ressource ad gangen.

Denne tilgang til transaktionshukommelse indeholder flere problemer med hensyn til låse i multithreading.En lås kan blive permanent, hvis der opstår en form for uventet fejl, og låse kan medføre uforudsigelige problemer med samtidighed, som deadlock eller prioritetsinversion.Som et resultat af, at låse er meget finkornet, inkluderer et andet problem, at koden til sidst ender med at bruge et flertal af tiden mellem låsning, kontekstskift og låsning.Dette er et afgørende problem, fordi det kan resultere i, at koden udgår mere tid på disse handlinger end på at udføre andet, vigtigt arbejde i programmet.I modsætning hertil kan grovkornede låse forårsage nedsat behandling af ydeevne og nedsat samtidighed.

Problemerne i transaktionshukommelse behandles af avancerede låse, herunder "låseblok" fra C#, læse-skrivelåse, skrive barrierer osv. En afHovedprioriteter med hensyn til transaktionshukommelse er ikke at have nogen låse og ingen unødvendig låsebehandlingstid.Det er normalt aftalt, at en datastruktur, der deles, er fri for låse, hvis gensidig udelukkelse ikke kræves af dens operationer.Datakonstruktioner, der deles og fri for låse, undgår almindeligt forbundne problemer med standardlåstteknikker, hvis de er i systemer, der er meget samtidige.

Model af transaktionshukommelse og konsistens (TCC) er en ny, foreslået model på delt hukommelse.I henhold til modellen er atomtransaktioner altid basale enheder af følgende: parallelt arbejde, hukommelseskohærens, kommunikation og konsistens af hukommelsesreference.TCC -modellen gør også parallel software enklere ved at eliminere synkronisering, der bruger standarder låse eller semaforer.Gennem hardware kombinerer TCC også hver skrivning fra hver region af transaktionsforekomst til en pakke til atomisk at udsende pakken til en hukommelsestilstand, der deles permanent.Ud over forenklet sammenhæng med sammenhængende sammenhæng betyder det, at der er en reduktion i nødvendige med lavt soves