Skip to main content

Mi a tranzakciós memória?

A szoftverben a tranzakciós memória sémája a többszálú programozás cselekvési módja, amely olyan tranzakciókat használ, amelyek nagyjából hasonlítanak az adatbázis által használt.Amikor két vagy több szál megkísérel egyidejűleg ugyanazon adatokhoz hozzáférni, sok különböző nemkívánatos helyzet eredményezhet olyan eseteket, amikor a program kimenetele a szál hozzáférési sorrendjétől függ.Általában az egyik sorrend kívánatos, és a többszálúakban a zárak az uralkodó és legegyszerűbb módja annak, hogy csak egyetlen szálhoz férjen hozzá egy adott erőforráshoz egy időben.-A zár állandóvá válhat, ha valamilyen váratlan hiba következik be, és a zárak kiszámíthatatlan problémákat okozhatnak a párhuzamossággal, például a holtpont vagy a prioritási inverzió.Mivel a zárak nagyon finom szemcsések, egy másik kérdés magában foglalja a kódot, amely végül az idő nagy részét a zárolás, a kontextusváltás és a feloldás között tölti.Ez egy döntő probléma, mivel azt eredményezheti, hogy a kód több időt tölt ezekre a tevékenységekre, mint a program más fontos munkájának elvégzésére.Ezzel szemben a durva szemcsés zárak csökkenthetik a feldolgozási teljesítményt és csökkentik a párhuzamosságot.A tranzakciós memória fő prioritása az, hogy nincs zár és nincs szükség felesleges zárolási idő.Általában egyetértenek abban, hogy a megosztott adatszerkezet mentes a záraktól, ha a működése nem igényel kölcsönös kizárást.A megosztott és a záraktól mentes adatszerkezetek elkerülik a szokásos zárolási technikákkal kapcsolatos általánosan kapcsolódó problémákat, ha azok nagyon egyidejű rendszerekben vannak.A modell szerint az atomi tranzakciók a következők mindig alapvető egységei: párhuzamos munka, memória koherencia, kommunikáció és a memória referencia konzisztenciája.A TCC modell a párhuzamos szoftvert is egyszerűbbé teszi azáltal, hogy kiküszöböli a szabványos zárakat vagy szemaforokat használó szinkronizálást.A hardver révén a TCC egyesíti a tranzakció minden egyes régiójának minden írását egy csomagba, hogy a csomagot atomikusan közvetítse a tartósan megosztott memóriaállapotba.Az egyszerűsített koherencia hardver mellett ez azt jelenti, hogy csökken a szükséges alacsony csökkenő üzenetek és bizonyos, standard koherencia protokollok teljes megszüntetése.