Detta dokument undersöker att lägga till transaktioner med inbäddad parallellism och inbäddade transaktioner till ett dynamiskt multitrådat parallellt programmeringsspråk som bara genererar serieparallellprogram. Vi beskriver Xchonflict, en datastruktur som underlättar konfliktdetektering för ett programvarutransaktionsminnessystem som stöder transaktioner med nästad parallellism och obundet bodjup. För språk som använder en Cilk-liknande arbets-stealing schemaläggare, Xchonflict svarar samtidiga konfliktfrågor i O(1) tid och kan underhållas effektivt. I synnerhet, för ett program med T 1 arbete och en spännvidd (eller kritisk-path längd) av T ¥, körtiden på p-processorer av programmet förstärkt med Xconflict är endast Använda Xchonflict, beskriver vi CWSTM, en runtime-systemdesign för programvara transaktionsminne som stöder transaktioner med bonad parallellism och obundna bodjup transaktioner. CWSTM-designen ger transaktionsminne med ivriga uppdateringar, ivrig konfliktdetektering, stark atomicitet och lat upprensning vid aborter. I det begränsade fallet när inga transaktioner avbryts och det inte finns några samtidiga läsare, CWSTM utför en transaktionell beräkning på p-processorer också i tid O(T 1 /p+ pT ¥ ). Även om denna gräns endast håller under ganska optimistiska antaganden, enligt vår kunskap, detta resultat är den första teoretiska prestanda som är bunden på ett TM-system som stöder transaktioner med nästlade parallellism som är oberoende av den maximala bodjup transaktioner.
Detta beslut träder i kraft dagen efter det att det har offentliggjorts i Europeiska unionens officiella tidning. REF föreslår Xcilk, en runtime-systemdesign som stöder transaktioner som i sig kan innehålla inbäddad parallellism och inbäddade transaktioner.
Nested parallelism in transactional memory
{'venue': 'PPOPP', 'journal': None, 'mag_field_of_study': ['Computer Science']}