Skip to main content

Was ist der Transaktionsgedächtnis?

In der Software ist das Schema des Transaktionsspeichers eine Vorgehensweise für die Multithread -Programmierung, bei der Transaktionen verwendet werden, die denen ähneln, die eine Datenbank verwendet.Wenn zwei oder mehr Threads gleichzeitig versuchen, auf dieselben Daten zuzugreifen, können viele verschiedene unerwünschte Situationen in Fällen führen, in denen das Ergebnis eines Programms von der Reihenfolge der Thread -Zugriffs abhängt.Normalerweise ist eine Reihenfolge gewünscht und bei Multithreading sind Sperren die vorherrschende und einfachste Möglichkeit, um sicherzustellen.Ein Schloss kann dauerhaft werden, wenn eine Art unerwarteter Fehler auftritt, und Schlösser können unvorhersehbare Probleme mit Parallelität wie Deadlock oder Prioritätsumkehr führen.Aufgrund der sehr feinkörnigen Schlösser besteht ein weiteres Problem, das den Code letztendlich zwischen dem Sperren, dem Kontextwechsel und dem Entsperren verbringt.Dies ist ein entscheidendes Problem, da es dazu führen kann, dass die Code mehr Zeit für diese Aktionen als für andere wichtige Arbeiten im Programm ausführt.Im Gegensatz dazu können grobkörnige Schlösser eine verringerte Verarbeitungsleistung und eine verringerte Parallelität verursachen.

Die Probleme im Transaktionsspeicher werden durch fortgeschrittene Schlösser behandelt, einschließlich „SperrblockHauptprioritäten in Bezug auf den Transaktionsspeicher sind keine Schlösser und keine unnötige Verarbeitungszeit.Es wird normalerweise vereinbart, dass eine gemeinsame Datenstruktur frei von Schlössern ist, wenn durch ihre Operationen keine gegenseitige Ausgrenzung erforderlich ist.Datenstrukturen, die gemeinsam genutzt und frei von Schlössern sind, vermeiden häufig assoziierte Probleme mit Standardverriegelungstechniken, wenn sie in sehr gleichzeitigen Systemen sind.

Das TCC -Modell der Transaktionsgedächtniskohärenz und Konsistenz (TCC) ist ein neues, vorgeschlagenes Modell für gemeinsam genutztes Speicher.Nach dem Modell sind Atomtransaktionen ausnahmslos grundlegende Einheiten der folgenden: Parallele Arbeit, Gedächtniskohärenz, Kommunikation und Konsistenz der Speicherreferenz.Das TCC -Modell erleichtert auch die parallele Software, indem die Synchronisation eliminiert wird, die Standards -Sperren oder Semaphoren verwendet.Durch Hardware kombiniert TCC auch jede Schreibweise aus jedem Region des Transaktionsvorkommens in ein Paket, um das Paket atomisch an einen Speicherzustand zu übertragen, der dauerhaft geteilt wird.Zusätzlich zur vereinfachten Kohärenzhardware bedeutet dies, dass die erforderlichen Niedrigdauermeldungen und eine vollständige Beseitigung bestimmter Standard-Kohärenzprotokolle erforderlich sind.