Kaj je skladnost predpomnilnika?

Skladnost predpomnilnika je naravna težava, ki nastane, ko do sistemskega nabora podatkov dostopa in ga spreminja več agentov. Primarno področje računalniške arhitekture, kjer to postane problem, so večprocesorski računalniki. Vsak procesor v večprocesorskem računalniku ima svoj predpomnilnik, ki nalaga in shranjuje informacije iz pomnilnika z naključnim dostopom (RAM). Ko dva procesorja dostopata do istega območja pomnilnika, bi bila skladnost predpomnilnika izgubljena, če ne bi bili sprejeti določeni previdnostni ukrepi.

Brez skladnosti predpomnilnika večprocesorski sistem ne bi mogel delovati. Za reševanje tega vprašanja in preprečevanje morebitnih težav je bilo razvitih več metod. Skladnost, ki temelji na imeniku, vohljanje in prikrivanje so tri metode, ki se uporabljajo za preprečevanje izgube skladnosti predpomnilnika.

Skladnost, ki temelji na imeniku, deluje kot filter, ki zagotavlja skladnost. Podatki so postavljeni v del pomnilnika, ki je dostopen vsem procesorjem. Ko se spremenijo informacije, ki so shranjene v tem območju pomnilnika, bo sistem posodobil predpomnilnike ali jih razveljavil.

Vohanje zahteva, da procesor spremlja vse dostope do pomnilniških lokacij, ki so bile predpomnjene. To omogoča procesorju, da ve, kdaj je prišlo do operacije pisanja. Ker ve, kdaj pride do operacije pisanja, lahko procesor posodobi svoj predpomnilnik.

Snarfing je precej podoben vohunjenju. Snarfing vključuje ne samo spremljanje dostopov do pomnilniških lokacij, ki so bile predpomnjene, temveč tudi spremljanje dejanskih informacij, ki so shranjene v pomnilniku. Ko pride do zapisovanja v pomnilnik, se lahko predpomnilnik posodobi z novimi informacijami.

Sistemi skladnosti, ki temeljijo na imeniku, imajo relativno veliko zamudo, kar ima za posledico počasnejšo obdelavo. Nižje zahteve glede pasovne širine omogočajo, da so sistemi za skladnost, ki temeljijo na imeniku, praktični v obsežnih aplikacijah skladnosti predpomnilnika. Več procesorjev, ki jih uporablja sistem, več prednosti lahko ima pri uporabi sistema skladnosti, ki temelji na imeniku.
Vohljanje je veliko hitrejša metoda. Ta metoda zahteva večjo pasovno širino kot pristop, ki temelji na imeniku. Ta metoda se lahko učinkovito uporablja v sistemih, ki imajo relativno malo procesorjev.
Snarfing se običajno ne uporablja kot metoda za ohranjanje skladnosti predpomnilnika. To je predvsem zato, ker zaslišanje zahteva več sredstev za uporabo v primerjavi z vohunjenjem in metodami, ki temeljijo na imeniku. Da bi sistem snarfinga deloval, mora spremljati tako pomnilniške naslove kot podatke, shranjene v teh območjih pomnilnika. Zaradi količine pasovne širine in obdelave, ki jo zajema ta metoda, je nezaželena za večino aplikacij ohranjanja skladnosti predpomnilnika.