Transaktiomuisti

Transaktiomuisti on tietotekniikassa termi laitteistopohjaiselle tuelle tietokoneen muistin käsittelylle transaktioiden avulla.

Termi on verrattavissa tietokantamoottorien käyttämälle transaktiomekanismille, mutta ohjelmiston sijaan kyse on suorittimen ja muistipiirien toimintaan liittyvästä ratkaisusta. Ohjelmistopohjaiset ratkaisuvat ovat olleet liian hitaita todelliselle toteutukselle. Toimintamekanismit ovat best effort perusteisia ja takeita lukituksen välttämiselle ei ole.

Tavoitteena tekniikan toteuttamisella laitteistossa on rinnakkaisuuden tuottamien ongelmien yksinkertaisempi ja tehokkaampi ratkaisu. Varhaiset suunnitelmat perustuivat lukituksen väistämiseen ().

Ongelmakohtia 

Transaktiomuisti ei ratkaise kaikkia ohjelmistokehityksen ongelmia:
 ei deadlockia, mutta sen sijaan livelock mahdollinen
 reaaliaikasuustakeiden puuttuminen
 kaikki algoritmit eivät sovellu rinnakkaisuuteen
 mobiilialustoilla hukattu energia spekulaation epäonnistuessa

Toteutukset 

Yksi varhaisimmista käyttökohteista tekniikalle oli Transmetan suorittimissa, mutta käyttö oli rajattu suorittimen sisäiseen toimintaan.

AMD on ehdottanut Advanced Synchronization Facility (ASF) käskykantalaajennuksen x86-64 arkkitehtuuriin. Intelillä on vastaavasti Transactional Synchronization Extensions (TSX) laajennus.

IBM Blue Gene/Q tietokoneessa on vuodesta 2011 lähtien Power-arkkitehtuurin POWER8-suorittimissa tuki transaktiomuistille.

QEMUn kehittäjät ovat esittäneet transaktiomuistin käyttöön synkronointimekanismia muistuttavan rajapinnan.

Lähteet 

Tietotekniikka