Tidsstämpel-baserad programvara Transaktionsminne (STM) valideringstekniker använder en global delad räknare och tidsstämpel av objekt som skrivs till förnuftet om sekvensering av transaktioner och deras linjäriseringspunkter, samtidigt som antalet onödiga valideringar som måste utföras minskas, vilket förbättrar systemets övergripande prestanda. Under åtagandefasen av ett tidsstämpelbaserat valideringssystem måste flera åtgärder utföras: låsning av objekten som skrivs till minnet, atomiskt ökning av en delad tidsstämpelräknare, uppdatering av tidsstämpel för objekt som överförs till minnet, genomförande av en slutlig validering av transaktionens konsekvens och atomiskt effekt på transaktionens förändringar i omvärlden. Den ordning och det sätt på vilket dessa åtgärder utförs kan påverka både riktigheten i STM-implementationen och den övergripande systemprestandan. Vi identifierar flera begå sekvens design, bevisa deras korrekthet, och analysera deras prestanda. Vi identifierar fall där tidsstämplar inte behöver vara unika för olika transaktioner som genomför samtidigt, och fall där onödiga uppdateringar av den globala delade räknaren -som kan utlösa extra valideringar i andra transaktioner, skada prestanda - kan undvikas. Vi utvärderar dessa commit sekvenskonstruktioner på en uppsättning riktmärken på en 16-processor SunFire SMP-maskin. Vi visar att en noggrant vald åtagandesekvens kan förbättra den totala systemprestandan med upp till 14% över den toppmoderna singelräknarens tidsstämpelbaserade valideringstekniker, och vi visar att det är möjligt att uppnå hög prestanda utan att belasta utrymmets överkant i proportion till antalet objekt i systemet.
Zhang m.fl. REF presenterar och utvärderar flera varianter av åtagandefasen av tidsbaserade STM-algoritmer för att undvika onödiga uppdateringar av global tid och onödiga valideringar.
Commit phase in timestamp-based stm
{'venue': "SPAA '08", 'journal': None, 'mag_field_of_study': ['Computer Science']}