Multicore en synchronisatie

Welke uitleg van het idee van hardware transactional memory is juist?

  1. 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
  2. BAlle lees- en schrijfacties van het geheugen worden zoals bankzaken op schijf vastgelegd
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Waarom wordt bij een conditievariabele, wanneer wordt gewacht tot de wachtrij niet meer leeg is, na het ontwaken de voorwaarde opnieuw gecontroleerd met een while-lus in plaats van een if-opdracht?
  2. Twee cores hebben elk in hun eigen cache een kopie van variabele x. Welk probleem kan optreden wanneer core 1 x leest nadat core 0 naar x heeft geschreven, als er geen cachecoherentiemechanisme is?
  3. Welke combinatie van de vier toestanden van het cachecoherentieprotocol MESI is juist?
  4. Wat betekent het wanneer een cacheregel in het MESI-protocol in de toestand Modified (M) staat?
  5. Wat gebeurt er in het MESI-protocol wanneer die core naar een regel in de toestand Exclusive (E) schrijft?

Vergelijkingen bij dit onderwerp