Skip to main content

Co je to transakční paměť?

V softwaru je schéma transakční paměti postupem pro vícenásobné programování, které používá transakce, které jsou podobné ty, které databáze používá.Když se dva nebo více vláken pokoušejí přistupovat ke stejným datům současně, může mnoho různých nežádoucích situací vést v případech, kdy výsledek programu závisí na přístupu k přístupu k vláknu.Obvykle je požadována jedna objednávka a při multithreadingu jsou zámky převládajícím a nejjednodušším způsobem, jak zajistit, aby pouze jediné vlákno mělo najednou přístup k konkrétnímu zdroji..Zámek se může stát trvalým, pokud dojde k nějaké neočekávané chybě a zámky mohou přinést nepředvídatelné problémy se souběžností, jako je zablokování nebo prioritní inverze.V důsledku toho, že zámky jsou velmi jemnozrnné, další problém zahrnuje kód, který nakonec skončí trávením většiny času mezi uzamčením, přepínáním kontextu a odemčením.Jedná se o zásadní problém, protože to může vést k tomu, že kód tráví více času na tyto akce než na provádění jiné důležité práce v programu.Naproti tomu zámky hrubozrnných zrnitostí mohou způsobit snížený výkon zpracování a sníženou souběžnost.Hlavní priority, pokud jde o transakční paměť, je mít žádné zámky a žádný zbytečný čas zpracování zámku.Obvykle se souhlasí s tím, že sdílená datová struktura je bez zámků, pokud jeho operace není vyžadována vzájemné vyloučení.Datové struktury, které jsou sdíleny a bez zámků, se vyhýbají běžně souvisejícím problémům se standardními blokovacími technikami, pokud jsou v systémech, které jsou vysoce souběžné.Podle modelu jsou atomové transakce vždy základní jednotky následujících: paralelní práce, koherence paměti, komunikace a konzistence reference paměti.Model TCC také usnadňuje paralelní software eliminací synchronizace, která používá standardy zámky nebo semafory.Prostřednictvím hardwaru TCC také kombinuje každý zápis z každé oblasti výskytu transakcí do jednoho paketu, aby atomicky vysílal paket do paměťového stavu, který je trvale sdílený.Kromě zjednodušeného hardwaru koherence to znamená, že dochází k snížení potřebných zpráv s nízkou plounkem a úplné odstranění některých standardních koherenčních protokolů