www.wikidata.uk-ua.nina.az
Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi iz chinnimi movnimi standartami V komp yuternih tehnologiyah programna tranzakcijna pam yat angl software transactional memory STM yavlyaye soboyu mehanizm upravlinnya paralelizmom analogichnij mehanizmu tranzakcij baz danih dlya upravlinnya dostupom do spilno vikoristovuvanoyi pam yati v paralelnih obchislennyah Ce alternativa dlya sinhronizaciyi na osnovi blokuvannya Tranzakciya v comu konteksti ye chastinoyu kodu yakij vikonuye zchituvannya i zapis v podilyuvanu spilno vikoristovuvanu pam yat Zchituvannya i zapis logichno vidbuvayetsya v odinichnij moment chasu a promizhni stani nevidimi dlya inshih rezultativnih tranzakcij Ideya zabezpechennya tranzakcij aparatnoyu pidtrimkoyu zarodilasya v 1986 roci v roboti i patenti Toma Najta en 1 Ideya otrimala publichne visvitlennya zavdyaki Morisu Gerligi en i Eliotu Mossu en 2 U 1995 roci Nir Shavit en i Den Tojtu dopovnili cyu ideyu do programnoyi tranzakcijnoyi pam yati ЅTM 3 STM yak i ranishe znahoditsya v centri intensivnih doslidzhen 4 zrostaye yiyi pidtrimka dlya praktichnih realizacij Zmist 1 Harakteristika 2 Konceptualni perevagi i nedoliki 3 Komponuvalni operaciyi 4 Proponovana dopomizhna mova 5 Tranzakcijne blokuvannya 6 Realizaciyi 6 1 C C 6 2 C 6 3 Haskell 6 4 Java 6 5 OCaml 6 6 Perl 6 7 Python 6 8 Scala 6 9 Inshi movi 7 Primitki 8 PosilannyaHarakteristika red Na vidminu vid metodiv blokuvannya sho vikoristovuyutsya v bilshosti suchasnih bagatopotochnih dodatkiv STM duzhe optimistichna potik zavershuye zmini podilyuvanoyi pam yati bez urahuvannya togo sho roblyat inshi potoki i reyestruye bud yake zchituvannya i zapis v log Zamist togo shob vikoristovuvati zapisuvalnij pristrij dlya perevirki chi ne maye vin negativnogo vplivu na inshi diyuchi operaciyi vidpovidalnist peredayetsya zchituvalnomu pristroyu yakij pislya zavershennya povnoyi tranzakciyi pereviryaye chi ne zrobili inshi potoki paralelno zmini v pam yati do yakoyi buv otrimanij dostup v minulomu Cya ostannya operaciya v yakij pereviryayutsya zmini tranzakcij i yaka yaksho perevirka uspishna zalishayetsya nezminnoyu nazivayetsya fiksaciyeyu Tranzakciya mozhe pripinitisya v bud yakij chas v rezultati chogo vsi ostanni zmini budut skasovani Yaksho tranzakciya ne mozhe buti zdijsnena cherez konflikti zmin vona pererivayetsya i povtorno vikonuyetsya spochatku do tih pir poki rezultativno ne zavershitsya Perevaga takogo optimistichnogo pidhodu zrostaye zavdyaki paralelizmu zhodnomu potoku ne potribno chekati otrimannya dostupu do resursu i rizni potoki mozhut odnochasno i bezpechno modifikuvati neperesichni chastini strukturi danih yaki zahishalisya b odnim lokom Odnak na praktici ЅTM sistemi prograyut v produktivnosti dribnomodulnim sistemam zasnovanim na blokuvannyah na nevelikij kilkosti procesoriv vid 1 do 4 v zalezhnosti vid programi Ce pov yazano v pershu chergu z nakladnimi vitratami na pidtrimku loga i z chasom sho vitrachayetsya na zdijsnennya tranzakcij Ale navit u comu vipadku produktivnist vidriznyayetsya ne bilsh nizh v 2 razi 5 Prihilniki STM vvazhayut sho taki vtrati vipravdani konceptualnimi perevagami ЅTM Teoretichno chasova i prostorova skladnosti vikonannya n paralelnih tranzakcij v girshomu vipadku O n Faktichni vitrati zalezhat vid realizaciyi mozhna skasuvati tranzakciyu na rannij stadiyi shob uniknuti nakladnih vitrat ale zavzhdi budut vipadki hoch i ridki koli lock algoritmi budut mati krashu chasovu skladnist nizh programna tranzakcijna pam yat Konceptualni perevagi i nedoliki red Takozh STM znachno sproshuye konceptualne rozuminnya bagatopotokovih program i dopomagaye yih zruchnomu suprovodu zlagodzheno pracyuyuchi z isnuyuchimi visokorivnevimi abstrakciyami takimi yak ob yekti i moduli Lock programuvannya mistit ryad vidomih problem yaki chasto vinikayut na praktici Vazhlivo pam yatati pro operaciyi yaki peresikayutsya i chastkovih operaciyah v rozdilenih i nepov yazanih z pershogo poglyadu chastinah kodu zavdannya duzhe vazhke i v nomu mozhna zrobiti bagato pomilok Vono vimagaye vid programistiv osvoyuvati politiku blokuvannya shob uniknuti tupikiv Deadlock ta inshih problem upravlinnya procesami Taka politika chasto privoditsya u vikonannya dovilnim chinom i buvaye pomilkovoyu i koli vinikayut problemi yih vazhko vidnoviti i nalagoditi Ce mozhe prizvesti do inversiyi prioritetiv yavishe pri yakomu visokoprioritetnij potik zmushenij ochikuvati nizkoprioritetnij potik sho maye vinyatkovij dostup do neobhidnogo resursu Navpaki koncepciya tranzakcijnoyi pam yati nabagato prostisha tomu sho kozhna tranzakciya mozhe rozglyadatisya okremo yak odnopotokove obchislennya Tupiki abo zapobigayutsya povnistyu abo dozvolyayutsya zovnishnoyu programoyu upravlinnya tranzakciyami programistu navryad chi potribno turbuvatisya pro ce Inversiya prioritetiv mozhe buti problemoyu ale prioritetni tranzakciyi mozhut perervati konfliktuyuchi nizkoprioritetni operaciyi yaki she ne buli zdijsneni Z inshogo boku neobhidnist pererivannya nevdalih tranzakcij takozh nakladaye obmezhennya na yih povedinku voni ne mozhut vikonuvati bud yaki operaciyi yaki ne mozhut buti skasovani u tomu chisli bilshist vvodiv vivodiv Taki obmezhennya yak pravilo na praktici dolayutsya shlyahom stvorennya buferiv yaki stavlyat v chergu nezvorotni operaciyi i vikonuyut yih cherez deyakij chas poza bud yakoyu tranzakciyeyu U movi Haskel ce obmezhennya privoditsya u vikonannya sistemoyu tipiv pid chas kompilyaciyi Komponuvalni operaciyi red U 2005 roci Tim Harris Sajmon Marlou Sajmon Pejton Dzhons i Moris Gerligi en opisali STM sistemu stvorenu na Haskeli yakij realizuye paralelizm Cya sistema dozvolyaye dovilnim atomarnim operaciyami komponuvatisya v bilsh veliki atomarni operaciyi korisna koncepciya nemozhliva pri lock programuvanni Za slovami avtoriv Mabut najfundamentalnishij nedolik u tomu sho lock programi ne mozhut komponuvati korektni fragmenti mozhut ne spracyuvati propri skomponovanist Rozglyanemo napriklad gesh tablicyu z potokobezpechnimi operaciyami vstavlennya i vidalennya Teper pripustimo sho mi hochemo vidaliti odin element z tablici t1 i vstaviti jogo v tablicyu t2 ale promizhnij stan u yakomu zhodna tablicya ne mistit cogo elementa ne maye buti vidimim dlya inshih potokiv Poki konstruktor gesh tablici ne peredbachit ciyeyi potrebi prosto ne isnuye sposobu zadovolniti cyu vimogu Zagalom operaciyi korektni poodinci vstavlennya vidalennya ne mozhna skomponuvati v bilshi korektni operaciyi Tim Harris et al Composable Memory Transactions Section 2 Background pg 2 6 Z STM cya problema virishuyetsya prosto proste ob yednannya dvoh operacij v odnij tranzakciyi peretvoryuye operaciyu yaka komponuyetsya v atomarnu Yedinim kamenem spotikannya ye te sho dlya abonenta yakij ne znaye detalej realizaciyi metodiv komponuvannya neyasno koli voni povinni sprobuvati povtorno vikonati tranzakciyu yaksho vona ne provoditsya U vidpovid na ce avtori zaproponuvali komandu povtornoyi sprobi yaka vikoristovuye zhurnal tranzakcij log fajl sho generuyetsya nevdaloyu tranzakciyeyu dlya viznachennya neyu dilyanki pam yati yaka zchituyetsya Todi vona znovu avtomatichno zapuskaye danu tranzakciyu koli odna z cih dilyanok pam yati zminyuyetsya Ce gruntuyetsya na logici sho tranzakciya ne bude vesti sebe inakshe poki hocha b odne take znachennya ne zminilosya Avtori takozh zaproponuvali mehanizm pobudovi alternativ funkciya aboInakshe orElse Vin zapuskaye odnu tranzakciyu i yaksho tranzakciya robit povtornu sprobu zapuskaye drugu Yaksho te zh vidbuvayetsya i z drugoyu mehanizm zapuskaye yih obidvi znovu poki ne vidbudutsya suttyevi zmini Dana funkciya zistavlyuvana z funkciyeyu merezhevogo standartu POSIX select dozvolyaye tomu hto viklikaye yiyi ochikuvati bud yake z ryadu podij odnochasno Vona takozh sproshuye programuvannya interfejsiv napriklad shlyahom nadannya prostogo mehanizmu konvertaciyi mizh blokuyuchimi i neblokuyuchimi operaciyami Cya shema bula realizovana v kompilyatori movi Haskel GHC Proponovana dopomizhna mova red Konceptualna prostota ЅTM sistem dozvolyaye programistu legko pracyuvati z nimi vikoristovuyuchi vidnosno prostij sintaksis movi U svoyij knizi Dopomizhna mova dlya legkih tranzakcij Tim Harris i Kejr Frejzer zaproponuvali ideyu vikoristannya klasichnoyi umovnoyi kritichnoyi oblasti CCR dlya podannya tranzakcij U svoyij najprostishij formi ce vsogo lishe atomarnij blok dilyanka kodu yaka poslidovno vikonuyetsya v odinichnij moment chasu Atomarna vstavka vuzla v dvohzv yaznij spisok atomic newNode gt prev node newNode gt next node gt next node gt next gt prev newNode node gt next newNode Po dosyagnenni kincya bloku tranzakciya zdijsnyuyetsya yaksho ce mozhlivo inakshe pripinyayetsya i povtoryuyetsya Umovni kritichni oblasti takozh dopuskayut umovu zberezhennya sho dozvolyaye tranzakciyi ochikuvati vikonannya poki diye yiyi zavdannya atomic queueSize gt 0 remove item from queue and use it Yaksho umova ne vikonuyetsya programa upravlinnya menedzher tranzakcij bude chekati poki ne prijde insha yaka vpline na umovu persh nizh povtorit sprobu Takij vilnij zv yazok mizh virobnikami i spozhivachami udoskonalyuye modulnij princip porivnyano z chitkim signalizuvannyam mizh potokami Kniga Komponovana operaciya zvernennya do pam yati pishla dali zi svoyeyu komandoyu povtornoyi sprobi div vishe yaka mozhe v bud yakij chas perervati tranzakciyu i chekati poki ne vidbudetsya yaka nebud zmina znachennya ranishe zchitanogo ciyeyu operaciyeyu pered povtorennyam sprobi Priklad atomic if queueSize gt 0 remove item from queue and use it else retry Cya zdatnist dinamichnogo povtorennya v kinci tranzakciyi sproshuye model programuvannya i vidkrivaye novi mozhlivosti Odniyeyu z problem ye povedinka vinyatkiv koli voni poshiryuyutsya za mezhi tranzakcij U praci Komponovana operaciya zvernennya do pam yati avtori virishili sho ce maye perervati tranzakciyu tak yak viklyuchennya zazvichaj vkazuyut na nespodivani pomilki v movi Haskel z paralelizmom ale te sho cej vinyatok mozhe zberigati nadanu informaciyu ta zchituvati yiyi pid chas tranzakciyi v cilyah diagnostiki Voni pidkreslyuyut sho jmovirni takozh inshi proektni rishennya pri inshih parametrah Tranzakcijne blokuvannya red ЅTM mozhe buti realizovana yak algoritm bez blokuvan i z blokuvannyami Ye dva tipi blokuvannya Blokuvannya pri zitknenni operacij Enalsa Saha i Harrisa pri yakomu zapisi v pam yat zdijsnyuyutsya spochatku timchasovo blokuyuchi cyu oblast pam yati bezposeredno zapisuyuchi znachennya i reyestruyuchi yih u zhurnali reyestraciyi vidkativ operacij Blokuvannya pri zdijsnenni tranzakciyi yake blokuye komirki pam yati tilki pid chas vchinennya fazi Shema zdijsnennya tranzakciyi nazvana Tranzakcijne blokuvannya 2 i realizovana Dajsom Shalevim i Shavitom vikoristovuye globalnij chas Kozhna tranzakciya pochinayetsya iz zchituvannya potochnogo znachennya chasu i zberigaye jogo dlya zchituvannya Potim pri kozhnomu zchituvanni i zapisi versiya pevnoyi oblasti pam yati porivnyuyetsya z versiyeyu dlya chitannya i yaksho vono bilshe to tranzakciya skasovuyetsya Ce garantuye sho kod vikonayetsya na vidpovidnij kopiyi pam yati Pid chas vchinennya vsi oblasti chitannya zablokovani i znachennya danoyi versiyi vsih oblastej pam yati dlya zapisu i chitannya povtorno pereviryayutsya Nareshti globalnij chas zbilshuyetsya novi znachennya zapisu z zhurnalu zapisuyutsya nazad v pam yat iz zaznachennyam novoyi versiyi chasu Vse bilsh populyarnim metodom upravlinnya tranzakcijnimi konfliktami v tranzakcijnoyi pam yati osoblivo v ЅTM ye poryadok vchinennya en PV Vin vikoristovuyetsya dlya dosyagnennya vporyadkovanosti bezblokovuvano tobto bez blokuvannya pri konflikti operacij i tilki z blokuvannyam pri zdijsnenni tranzakciyi za dopomogoyu zmini poryadku zdijsnennya tranzakcij napriklad Ramadan i spivavtori 2009 i Zhang i spivavtori 2006 Vporyadkovanist ye osnovoyu dlya korektnogo stanu tranzakcijnoyi pam yati pri vikonanni paralelnih tranzakcij Vzhe buli opublikovani desyatki statej ta patentiv pro STM iz zastosuvannyam poryadku vchinennya Zhang i spivavtori 2006 patent SShA yakij nese nazvu Programne zabezpechennya poryadku zdijsnennya tranzakcij i upravlinnya konfliktami yakij posilayetsya na patent SShA 5701480 pro poryadok vchinennya Rozroblyayutsya rizni tehnologiyi ta metodi dlya zastosuvannya poryadku vchinennya v sistemi programnoyi tranzakcijnoyi pam yati Sistema programnoyi tranzakcijnoyi pam yati zabezpechena funkciyeyu shob zumovlenij poryadok vchinennya buv zastosovnij dlya bezlichi operacij Viznachenij poryadok vchinennya vikoristovuyetsya pid chas vikonannya shob vstanoviti poryadok v yakomu zdijsnyuvati tranzakciyi v sistemi programnoyi tranzakcijnoyi pam yati Proces upravlinnya konfliktami viklikayetsya koli vidbuvayetsya konflikt mizh pershoyu i drugoyu tranzakciyami Viznachenij poryadok vchinennya vikoristovuyetsya v procesi upravlinnya konfliktami shob viznachiti yaka z tranzakcij povinna vigrati konflikt i otrimati dozvil na prodovzhennya Z poryadkom zdijsnennya bazhana vlastivist vporyadkovanosti vidbuvayetsya shlyahom zdijsnennya tranzakcij tilki v hronologichnomu poryadku sumisnomu z poryadkom po prioritetu yak viznacheno hronologichnim poryadkom operacij v konfliktah Realizaciyi red SRTM bulo realizovano riznoyi yakosti i stabilnosti na riznih movah programuvannya Takih yak C C red TBoost STM formerly DracoSTM Spilni zusillya CU Boulder i Boost Libraries Group stvorili dlya C STM biblioteku v pershu chergu avtorom yakogo ye Justin E Gottschlich i Jeremy G Siek TinySTM a time based STM i Tanger to integrate STMs z C and C cherez LLVM Lightweight Transaction Library LibLTX realizaciya dlya C avtor Robert Ennals osnovnij akcent zrobleno na efektivnist Realizaciya gruntuyetsya na jogo stattyah Software Transactional Memory Should Not Be Obstruction Free i Cache Sensitive Software Transactional Memory LibCMT realizaciya z vidkritim kodom dlya C zroblena Duilio Protti i zasnovana na Composable Memory Transactions Cya realizaciya takozh vklyuchaye C binding TARIFA ye prototipom yakij daye atomic klyuchove slovo v C C Intel STM Compiler Prototype Edition realizaciya STM dlya C C bezposeredno v kompilyatori Intel Compiler dlya Linux abo Windows generuyuchomu 32 abo 64 bitnij kod dlya procesoriv Intel i AMD Realizuye atomne klyuchove slovo a takozh nadaye sposobi dekoraciyi viznachennya funkcij declspec dlya upravlinnya dozvolu na vikoristannya v atomnih sekciyah stmmap realizaciya STM v C zasnovana na podilyuvanij pam yati Priznachena dlya spilnogo vikoristannya pam yati mizh potokami i abo procesami a ne tilki mizh potokami vseredini procesu z semantikoyu tranzakcij V C realizovana bagatopotokova versiya danogo allokatora CTL realizaciya STM v C zasnovana na TL2 ale z bagatma rozshirennyami i optimizaciyami Several implementations by Tim Harris amp Keir Fraser zasnovana na ideyi zi statej Language Support for Lightweight Transactions Practical Lock Freedom i majbutnoyi neopublikovanij roboti RSTM University of Rochester STM napisana komandoyu vchenih pid kerivnictvom Michael L Scott G 4 7 vzhe pidtrimuye STM dlya C C pryamo v kompilyatori Cya mozhlivist dosi chislitsya eksperimentalnoyu ale zabezpechuye neobhidnu dlya testuvannya funkcionalnist C red SXM realizaciya dlya C Microsoft Research Documentation Download page nedostupne posilannya z chervnya 2019 LibCMT realizaciya z vidkritim kodom Duilio Protti bazuyetsya na Composable Memory Transactions Realizaciya takozh vklyuchaye C binding NSTM NET Software Transactional Memory napisanij povnistyu na C proponuye vkladeni tranzakciyi i navit integraciyu z System Transactions MikroKosmos A Verification Oriented Model Implementation of an STM in C Clojure pidtrimka STM vbudovana v yadro movi Haskell red STM biblioteka yak skazano v Composable Memory Transactions ye chastinoyu Haskell Platform Java red SCAT research group realizaciya AtomJava JVSTM realizuye koncepciyu Versioned Boxes zaproponovanu Joao Cachopo i Antonio Rito Silva chlenami Software Engineering Group INESC ID XSTM ye vidkritim vihidnim kodom dlya Java i NET z rozshiryuvanoyu arhitekturoyu XSTM realizovanij u viglyadi biblioteki a takozh nadaye rozshirennya dlya povidomlennya pro zmini napoleglivosti i replikaciyi ob yektiv Deuce Seredovishe rozrobki dlya Java Software Transactional Memory vikoristovuye bajt kod Multiverse Java 1 6 zasnovana na Software Transactional Memory STM Cya realizaciya vikoristovuye Multi Version Concurrency Control MVCC yak paralelnij mehanizm kontrolyu DSTM2 Sun lab s Dynamic STM biblioteka ObjectFabric distributiv STM OCaml red coThreads i odnochasno biblioteka programuvannya OCaml proponuye STM originally STMLib yak modul Yak i bud yakij inshij komponent u cij biblioteci STM modul mozhe buti vikoristanij razom z VM level threads sistemoyu potokiv i procesiv Perl red STM dlya Perl 6 buv realizovanij v Pugs cherez STM biblioteku Glasgow Haskell Compiler Python red Durus prosta ale povna i shvidka STM realizaciya dlya Python sho dozvolyaye vikoristovuvati STM useredini odnogo procesu i STM v server multiple kliyent arhitekturi Na dodatok do vbudovanoyi pam yati formatu isnuyut i inshi napriklad Berkeley DB dostupna tut Fork of CPython with atomic locks Armin Rigo poyasnyuye svij patch dlya CPython v an email to the pypy dev list pypy stm nadbudova nad PyPy c robochoyi realizaciyeyu interpretatora Python 2 7 pidtrimuye odnochasne vikonannya nitok isnuyuchih bagatopotochnih dodatkiv na riznih yadrah CPU Scala red ScalaSTM Legka bibliotechna STM dlya Scala RadonSTM STM dlya Scala yaka bula realizovana yak chastina proektu Activate Frameworkatomic queueSize gt 0 remove item from queue and use it Yaksho umova ne vikonuyetsya programa upravlinnya menedzher tranzakcij bude chekati poki ne prijde insha yaka vpline na umovu persh nizh povtorit sprobu Takij vilnij zv yazok mizh virobnikami i spozhivachami udoskonalyuye modulnij princip porivnyano z chitkim signalizuvannyam mizh potokami Kniga Komponovana operaciya zvernennya do pam yati pishla dali zi svoyeyu komandoyu povtornoyi sprobi div vishe yaka mozhe v bud yakij chas perervati tranzakciyu i chekati poki ne vidbudetsya yaka nebud zmina znachennya ranishe zchitanogo ciyeyu operaciyeyu pered povtorennyam sprobi Priklad ЅTM mozhe buti realizovana yak algoritm bez blokuvan i z blokuvannyami Ye dva tipi blokuvannya Blokuvannya pri zitknenni operacij Enalsa Saha i Harrisa pri yakomu zapisi v pam yat zdijsnyuyutsya spochatku timchasovo blokuyuchi cyu oblast pam yati bezposeredno zapisuyuchi znachennya i reyestruyuchi yih u zhurnali reyestraciyi vidkativ operacij Blokuvannya pri zdijsnenni tranzakciyi yake blokuye komirki pam yati tilki pid chas vchinennya fazi Z poryadkom zdijsnennya bazhana vlastivist vporyadkovanosti vidbuvayetsya shlyahom zdijsnennya tranzakcij tilki v hronologichnomu poryadku sumisnomu z poryadkom po prioritetu yak viznacheno hronologichnim poryadkom operacij v konfliktah Smalltalk GemStone S 1 Transactional Memory Object Server dlya Smalltalk Inshi movi red Fortress mova rozroblenij Sun vikoristovuye DSTM2 STM NETPrimitki red Tom Knight An architecture for mostly functional languages Proceedings of the 1986 ACM conference on LISP and functional programming Maurice Herlihy and J Eliot B Moss Transactional memory architectural support for lock free data structures Proceedings of the 20th annual international symposium on Computer architecture ISCA 93 Volume 21 Issue 2 May 1993 Nir Shavit and Dan Touitou Software transactional memory Distributed Computing Volume 10 Number 2 February 1997 software transactional memory Google Scholar Procitovano 10 listopada 2013 Simon Peyton Jones Programming in the Age of Concurrency Software Transactional Memory Channel 9 Procitovano 9 chervnya 2007 Harris T Marlow S Peyton Jones S Herlihy M 2005 Composable memory transactions Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming PPoPP 05 s 48 ISBN 1595930809 doi 10 1145 1065944 1065952 Posilannya red Morry Katz PARATRAN A transparent transaction based runtime mechanism for execution of parallel Scheme MIT LCS 1989 Nir Shavit and Dan Touitou Software Transactional Memory Proceedings of the 14th ACM Symposium on Principles of Distributed Computing en pp 204 213 August 1995 The paper originating STM Maurice Herlihy Victor Luchangco Mark Moir and William N Scherer III Software Transactional Memory for Dynamic Sized Data Structures Proceedings of the Twenty Second Annual ACM SIGACT SIGOPS Symposium on Principles of Distributed Computing en PODC 92 101 July 2003 Tim Harris and Keir Fraser Language Support for Lightweight Transactions Object Oriented Programming Systems Languages and Applications pp 388 402 October 2003 Tim Harris Simon Marlow Simon Peyton Jones and Maurice Herlihy Composable Memory Transactions ACM Symposium on Principles and Practice of Parallel Programming en 2005 PPoPP 05 2005 Robert Ennals Software Transactional Memory Should Not Be Obstruction Free Michael L Scott et al Lowering the Overhead of Nonblocking Software Transactional Memory gives a good introduction not only to the RSTM but also about existing STM approaches Torvald Riegel and Pascal Felber and Christof Fetzer A Lazy Snapshot Algorithm with Eager Validation introduces the first time based STM Dave Dice Ori Shalev and Nir Shavit Transactional Locking II Knight TF An architecture for mostly functional languages ACM Lisp and Functional Programming Conference August 1986 Knight TF System and method for parallel processing with mostly functional languages US Patent 4 825 360 April 1989 Ali Reza Adl Tabatabai Christos Kozyrakis Bratin Saha Unlocking concurrency ACM Queue 4 10 December 2006 pp 24 33 Ties multicore processors and the research interest in STM together James R Larus Ravi Rajwar Transactional Memory Morgan and Claypool Publishers 2006 Leonid Chernyak Tranzakcijna pam yat pershi kroki Vidkriti sistemi 04 2007 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2017 nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Programna tranzakcijna pam 27yat amp oldid 40840035