I ett multicore transaktionsminne (TM)-system interagerar samtidig körningstrådar och stör varandra genom delat minne. Ju mindre störningar en tråd framkallar desto bättre för systemet. Men eftersom programmeraren i första hand är intresserad av att optimera sin individuella kods prestanda snarare än systemets övergripande prestanda, har hon inget naturligt incitament att provocera fram så lite störningar som möjligt. Därför måste ett TM-system utformas som är kompatibelt med goda programmeringsincitament (GPI), dvs. att skriva effektiv kod för det övergripande systemet bör sammanfalla med skrivkod som optimerar en enskild tråds prestanda. Vi visar att med de flesta tvistehandläggare (CM) som hittills föreslagits i litteraturen är TM-system inte kompatibla med GPI. Vi tillhandahåller ett generiskt ramverk för CMs som baserar sina beslut på prioriteringar och förklarar hur man ändrar Timestamp-liknande CMs för att innehålla GPI kompatibilitet. I allmänhet är dock den prioriterade konfliktlösningspolitiken benägen att utnyttjas av själviska programmerare. Däremot är en enkel icke-prioriterad chef som löser konflikter slumpmässigt kompatibel med GPI.
I REF studerar författarna programmeringsincitament till programmerarna för att skriva koder som är effektiva för det övergripande systemet samtidigt optimera enskilda program prestanda, i samband med transaktionsminne.
Good Programming in Transactional Memory: Game Theory Meets Multicore Architecture
{'venue': 'In 20th International Symposium on Algorithms and Computation', 'journal': None, 'mag_field_of_study': ['Computer Science']}