Skip to main content

Ano ang memorya ng transactional?

Sa software, ang scheme ng transactional memory ay isang kurso ng pagkilos para sa multithreaded programming na gumagamit ng mga transaksyon na katulad ng ginagamit ng isang database.Kapag ang dalawa o higit pang mga thread ay nagtatangkang ma -access ang parehong data nang sabay, maraming iba't ibang mga hindi kanais -nais na sitwasyon ang maaaring magresulta sa mga kaso kung saan ang kinalabasan ng isang programa ay nakasalalay sa order ng pag -access sa thread.Karaniwan, ang isang order ay nais at sa multithreading, ang mga kandado ay ang pangunahing at pinakasimpleng paraan upang matiyak na ang isang solong thread lamang ang may access sa isang tiyak na mapagkukunan nang paisa -isa..Ang isang lock ay maaaring maging permanente kung ang ilang uri ng hindi inaasahang error ay nangyayari, at ang mga kandado ay maaaring magdulot ng hindi mahuhulaan na mga isyu na may kasabay, tulad ng deadlock o pag -iikot ng priority.Bilang isang resulta ng mga kandado na napakahusay na grained, ang isa pang isyu ay kasama ang code sa huli na nagtatapos sa paggastos ng karamihan ng oras sa pagitan ng pag-lock, paglipat ng konteksto, at pag-unlock.Ito ay isang mahalagang problema dahil maaari itong magresulta sa paggastos ng code ng mas maraming oras sa mga pagkilos na ito kaysa sa paggawa ng iba, mahalagang gawain sa programa.Sa kaibahan, ang mga coarse-grained na kandado ay maaaring maging sanhi ng nabawasan na pagganap ng pagproseso at nabawasan ang kasabay.Ang mga pangunahing prayoridad tungkol sa memorya ng transactional ay ang walang mga kandado at walang kinakailangang oras sa pagproseso ng lock.Karaniwan itong sumang -ayon na ang isang istraktura ng data na ibinahagi ay walang mga kandado kung ang pagbubukod sa isa't isa ay hindi hinihiling ng mga operasyon nito.Ang mga istruktura ng data na ibinahagi at walang mga kandado ay maiwasan ang mga karaniwang nauugnay na mga problema sa mga karaniwang pamamaraan ng pag -lock kung sila ay nasa mga system na lubos na magkakasabay.Ayon sa modelo, ang mga transaksyon sa atom ay walang tigil na mga pangunahing yunit ng mga sumusunod: kahanay na trabaho, pagkakaugnay ng memorya, komunikasyon, at pagkakapare -pareho ng sanggunian ng memorya.Ang modelo ng TCC ay gumagawa din ng kahanay na software na mas simple sa pamamagitan ng pag -alis ng pag -synchronize na gumagamit ng mga pamantayan ng kandado o semaphores.Sa pamamagitan ng hardware, pinagsasama rin ng TCC ang bawat pagsulat mula sa bawat rehiyon ng paglitaw ng transaksyon sa isang packet upang atomically broadcast ang packet sa isang estado ng memorya na permanenteng ibinahagi.Bilang karagdagan sa pinasimple na coherence hardware, nangangahulugan ito na may pagbawas sa mga mensahe ng mababang-dormancy na kinakailangan at isang kumpletong pag-aalis ng tiyak, karaniwang mga protocol ng pagkakaugnay.