Vi beskriver DSTM2, ett programbibliotek för JavaTM som ger ett flexibelt ramverk för att implementera objektbaserat programvarutransaktionsminne (STM). Biblioteket använder transaktionsfabriker för att omvandla sekventiella (osynkroniserade) klasser till atomära (transaktionellt synkroniserade) klasser, vilket ger en betydande förbättring jämfört med det besvärliga programmeringsgränssnittet i vårt tidigare DSTM-bibliotek. Dessutom kan forskare experimentera med alternativa STM-mekanismer genom att tillhandahålla egna fabriker. Vi visar denna flexibilitet genom att presentera två fabriker: en som i huvudsak använder samma mekanismer som den ursprungliga DSTM (med vissa förbättringar), och en annan som använder ett helt annat tillvägagångssätt. Eftersom DSTM2 är paketerat som ett Javabibliotek, kan ett brett utbud av programmerare enkelt prova det, och samhället kan börja få erfarenhet av transaktions-programmering. Dessutom kommer forskare att kunna använda det organ av transaktionsprogram som uppstår från denna gemenskap erfarenhet för att testa och utvärdera olika STM-mekanismer helt enkelt genom att leverera nya transaktionsfabriker. Vi anser att denna flexibla strategi kommer att bidra till att skapa samförstånd om de bästa sätten att genomföra transaktioner, och kommer att undvika den för tidiga "inlåsning" som kan uppstå om STM-mekanismer bakas in i kompilatorer innan sådana experiment görs.
Back-end gränssnittet för denna TM implementation förbättrades senare i ett Java bibliotek som stöder utbytbara transaktionsfabrik REF.
A flexible framework for implementing software transactional memory
{'venue': "OOPSLA '06", 'journal': None, 'mag_field_of_study': ['Computer Science']}