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 UNLOcking. 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 behandlingsydelse og nedsat samtidighed.

Problemerne i transaktionshukommelse behandles af avancerede låse, herunder "låseblok" fra C#, read-write-låse, skrivbarrierer osv. En af de vigtigste prioriteter med hensyn til transaktionshukommelse er at have ingen 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åsteknikker, hvis de er i systemer, der er meget samtidige.

Transaktionshukommelse sammenhæng og konsistens (TCC) -model er en ny, 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 sovende meddelelser og en komplet eliminering af visse, standard kohærensprotokoller.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?