Wat is Sequentiële consistentie (sequential consistency)?

Het meest intuïtieve geheugenconsistentiemodel: alle bewerkingen van alle cores worden in één volgorde gezet, en de bewerkingen van elke core lijken in programmavolgorde te gebeuren.

Japanse benaming: 逐次一貫性

“Sequentiële consistentie (sequential consistency)” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Multicore en synchronisatie.

Vakgebied: Multicore en synchronisatie

Nu oefenen: vragen over Sequentiële consistentie (sequential consistency)

Welke uitleg over sequentiële consistentie (sequential consistency) is juist?

  1. ADe bewerkingen van elke core worden telkens in willekeurige volgorde uitgevoerd
  2. BDe bewerkingen van alle cores worden in één enkele volgorde gezet, waarbij de bewerkingen van elke core in de in het programma geschreven volgorde lijken te verschijnen
  3. CAlle bewerkingen worden door slechts één core uitgevoerd
Antwoord en toelichting tonen

Antwoord: B. De bewerkingen van alle cores worden in één enkele volgorde gezet, waarbij de bewerkingen van elke core in de in het programma geschreven volgorde lijken te verschijnen

Bij sequentiële consistentie worden de bewerkingen van meerdere cores als bij het schudden van speelkaarten op één rij gezet, waarbij de bewerkingen van elke core daarin de programmavolgorde behouden. Het is het voor programmeurs meest begrijpelijke model, maar het beperkt optimalisaties waarbij hardware de volgorde wijzigt, zoals met store buffers, sterk, dus veel echte CPU's gebruiken een losser model.

“Sequentiële consistentie (sequential consistency)” in de toelichting

Vragen met “Sequentiële consistentie (sequential consistency)” (2)

  1. Welke uitleg over sequentiële consistentie (sequential consistency) is juist?
  2. De bovenstaande twee threads worden tegelijk op verschillende cores uitgevoerd (er is geen herordening door de compiler). Welke uitkomst treedt niet op bij sequentiële consistentie, maar kan wel optreden bij echte CPU's zoals x86?

Verwante termen

Store buffer Geheugenbarrière (memory barrier) ABA-probleem Acquire-release Atomaire instructie Barrièresynchronisatie Compare-and-swap Conditievariabele Data race Deadlock

Naar de woordenlijst