Multicore en synchronisatie
Welke uitleg van het idee van hardware transactional memory is juist?
- ADe kritieke sectie wordt speculatief uitgevoerd en bij afwezigheid van conflicten met andere threads in één keer bevestigd, bij een conflict ongedaan gemaakt en herhaald
- BAlle lees- en schrijfacties van het geheugen worden zoals bankzaken op schijf vastgelegd
- CSchrijven naar het geheugen wordt verboden en alleen lezen is toegestaan
Antwoord en toelichting tonen
Antwoord: A. De kritieke sectie wordt speculatief uitgevoerd en bij afwezigheid van conflicten met andere threads in één keer bevestigd, bij een conflict ongedaan gemaakt en herhaald
Bij transactional memory wordt de kritieke sectie als een transactie uitgevoerd en zijn de schrijfacties daarin voorlopig en voor anderen onzichtbaar. Als andere threads dezelfde gegevens niet hebben aangeraakt, worden aan het eind alle schrijfacties in één keer bevestigd; bij een conflict wordt alles ongedaan gemaakt en herhaald, of omgeschakeld naar een gewone lock. Bij weinig conflicten wordt ook met een grofkorrelige lock een parallellisme verkregen dat dicht bij dat van een fijne lock ligt.