Wat is Snooping?

Coherentiemethode waarbij elke cache de lees- en schrijfacties van andere cores op een gedeelde bus e.d. afluistert en de toestand van de eigen regels aanpast. Geschikt bij een klein aantal cores.

Japanse benaming: スヌーピング

“Snooping” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Multicore en synchronisatie.

Vakgebied: Multicore en synchronisatie

Nu oefenen: vragen over Snooping

Welke uitleg over de snooping-methode voor cachecoherentie is juist?

  1. AHet besturingssysteem controleert met vaste tussenpozen alle caches en herstelt afwijkingen
  2. BDe cache van elke core bewaakt de lees- en schrijfacties van andere cores op een gedeelde bus enz. en wijzigt de toestand van zijn eigen regels
  3. CDe programmeur stuurt bij elke schrijfactie handmatig de waarde naar de andere cores
Antwoord en toelichting tonen

Antwoord: B. De cache van elke core bewaakt de lees- en schrijfacties van andere cores op een gedeelde bus enz. en wijzigt de toestand van zijn eigen regels

Bij de snooping-methode bereiken alle lees- en schrijfverzoeken van cores alle caches, en elke cache controleert of hij dezelfde regel heeft en maakt die ongeldig of levert de gegevens. De opzet is eenvoudig en geschikt als het aantal cores klein is. Naarmate het aantal cores toeneemt, wordt het verkeer waarmee alle verzoeken naar alle caches worden gebracht echter te groot, dus in grote systemen wordt de directory-methode gebruikt.

Waarom wordt in systemen met veel cores directory-gebaseerde coherentie gebruikt in plaats van snooping?

  1. AOmdat wordt bijgehouden welke core elke regel heeft en alleen de betrokken cores worden geïnformeerd, zodat het verkeer afneemt
  2. BOmdat bij de directory-methode geen cache nodig is
  3. COmdat bij de directory-methode bij elke schrijfactie alle cores kunnen worden geïnformeerd
Antwoord en toelichting tonen

Antwoord: A. Omdat wordt bijgehouden welke core elke regel heeft en alleen de betrokken cores worden geïnformeerd, zodat het verkeer afneemt

Bij de directory-methode wordt per regel een tabel (directory) bijgehouden met welke cores een kopie hebben en in welke toestand. Bij een schrijfactie wordt in de directory gekeken en alleen naar de cores met een kopie een ongeldigverklaringsverzoek gestuurd. Omdat dit minder verkeer geeft dan snooping, dat alle caches tegelijk informeert, wordt het gebruikt in onder meer CPU's voor servers met enkele tientallen cores of meer.

“Snooping” in de toelichting

Vragen met “Snooping” (2)

  1. Welke uitleg over de snooping-methode voor cachecoherentie is juist?
  2. Waarom wordt in systemen met veel cores directory-gebaseerde coherentie gebruikt in plaats van snooping?

Verwante termen

Cachecoherentie ABA-probleem Acquire-release Atomaire instructie Barrièresynchronisatie Compare-and-swap Conditievariabele Data race Deadlock Directorygebaseerde coherentie (directory-based)

Naar de woordenlijst