Koherencia vyrovnávacej pamäte

Vyrovnávacia pamäť sa môže použiť na zlepšenie výkonu prístupu k danému prostriedku. Ak existuje niekoľko takýchto vyrovnávacích pamätí pre ten istý prostriedok, ako je znázornené na obrázku, môže to viesť k problémom. Koherencia vyrovnávacej pamäte alebo koherencia vyrovnávacej pamäte sa vzťahuje na niekoľko spôsobov, ako zabezpečiť, aby všetky vyrovnávacie pamäte daného prostriedku mali rovnaké údaje a aby údaje vo vyrovnávacích pamätiach dávali zmysel (tzv. integrita údajov). Koherencia vyrovnávacej pamäte je špeciálnym prípadom koherencie pamäte.

Ak existuje veľa vyrovnávacích pamätí spoločného pamäťového prostriedku, môžu nastať problémy, pretože údaje vo vyrovnávacej pamäti už nemusia mať zmysel alebo jedna vyrovnávacia pamäť už nemusí mať rovnaké údaje ako ostatné. Bežným prípadom, keď sa tento problém vyskytuje, je vyrovnávacia pamäť procesorov vo viacprocesorovom systéme. Ako je vidieť na obrázku, ak má horný klient kópiu pamäťového bloku z predchádzajúceho čítania a dolný klient tento pamäťový blok zmení, hornému klientovi môže zostať neplatná vyrovnávacia pamäť pamäte,bez toho, aby o tom vedel. Koherencia vyrovnávacej pamäte slúži na riadenie takýchto konfliktov a udržiavanie konzistencie medzi vyrovnávacou pamäťou a pamäťou.

Viaceré medzipamäte zdieľaných prostriedkovZoom
Viaceré medzipamäte zdieľaných prostriedkov

Definícia

Koherencia definuje správanie sa pri čítaní a zápise na to isté miesto v pamäti. Medzipamäte sú koherentné, ak sú splnené všetky nasledujúce podmienky:

  1. Keď procesor P číta miesto X, po zápise do tohto miesta musí P získať hodnotu, ktorú zapísal, ak žiadny iný procesor nezapísal do tohto miesta inú hodnotu. To platí aj pre jednoprocesorové systémy, znamená to, že pamäť je schopná udržať zapísanú hodnotu.
  2. Predpokladajme, že existujú dva procesory, P1 a P2, a P 1zapísal hodnotu X1, a potom P 2zapísal hodnotu X2, ak P 1číta hodnotu, musí dostať hodnotu zapísanú P2, X2, a nie hodnotu, ktorú zapísal, X1, ak medzi nimi nie sú žiadne iné zápisy. To znamená, že zobrazenie pamäte je koherentné. Ak by procesory mohli čítať tú istú starú hodnotu po zápise vykonanom P2, pamäť by nebola koherentná.
  3. Do určitého miesta v pamäti môže byť v danom čase vykonaný len jeden zápis. Ak je zápisov viac, musia nasledovať jeden po druhom. Inými slovami, ak miesto X dostalo dve rôzne hodnoty A a B v tomto poradí od ľubovoľných dvoch procesorov, procesory nikdy nemôžu miesto X prečítať ako B a potom ho prečítať ako A. Miesto X musí byť videné s hodnotami A a B v tomto poradí.

Tieto podmienky sú definované za predpokladu, že operácie čítania a zápisu sa vykonávajú okamžite. To sa však v hardvéri počítača nedeje kvôli oneskoreniu pamäte a iným aspektom architektúry. Zápis vykonaný procesorom X nemusí byť viditeľný pri čítaní procesorom Y, ak sa čítanie vykoná vo veľmi malom časovom odstupe po vykonaní zápisu. Model konzistencie pamäte definuje, kedy musí byť zapísaná hodnota viditeľná nasledujúcou inštrukciou čítania vykonanou inými procesormi.

Mechanizmy koherencie vyrovnávacej pamäte

  • Mechanizmy koherencie založené na adresároch udržiavajú centrálny adresár blokov v medzipamäti.
  • Snooping je proces, pri ktorom každá vyrovnávacia pamäť monitoruje adresné riadky pre prístupy k pamäťovým miestam, ktoré sú v jej vyrovnávacej pamäti. Keď sa zaznamená operácia zápisu do miesta, ktorého kópiu má vyrovnávacia pamäť, radič vyrovnávacej pamäte zneplatní svoju vlastnú kópiu sledovaného pamäťového miesta.
  • Snarfing je prípad, keď radič vyrovnávacej pamäte sleduje adresu aj dáta v snahe aktualizovať svoju vlastnú kópiu pamäťového miesta, keď druhý hlavný modul modifikuje miesto v hlavnej pamäti.

Distribuované systémy zdieľanej pamäte napodobňujú tieto mechanizmy, aby mohli udržiavať konzistenciu medzi blokmi pamäte vo voľne prepojených systémoch.

Dva najbežnejšie typy koherencie, ktoré sa zvyčajne študujú, sú Snooping a Directory-based. Každý z nich má svoje vlastné výhody a nevýhody. Protokoly Snooping bývajú rýchlejšie, ak je k dispozícii dostatočná šírka pásma, pretože všetky transakcie sú požiadavka/odpoveď, ktorú vidia všetky procesory. Nevýhodou je, že snooping nie je škálovateľný. Každá požiadavka sa musí vysielať do všetkých uzlov v systéme. Keď sa systém zväčšuje, musí rásť veľkosť (logickej alebo fyzickej) zbernice a šírka pásma, ktorú poskytuje. Na druhej strane, adresáre majú tendenciu mať dlhšie oneskorenia (s 3 skokmi požiadavka/preposlanie/odpoveď), ale využívajú oveľa menšiu šírku pásma, pretože správy sa posielajú z bodu do bodu a nie broadcastom. Z tohto dôvodu mnohé väčšie systémy (>64 procesorov) používajú tento typ koherencie vyrovnávacej pamäte.

Otázky a odpovede

Otázka: Čo je to kešová koherencia?


Odpoveď: Koherencia vyrovnávacej pamäte sa vzťahuje na zabezpečenie toho, aby všetky vyrovnávacie pamäte prostriedku obsahovali rovnaké údaje a aby údaje v nich boli konzistentné (integrita údajov).

Otázka: Aký je účel koherencie vyrovnávacej pamäte?


Odpoveď: Účelom koherencie vyrovnávacej pamäte je riadiť konflikty medzi viacerými vyrovnávacími pamäťami spoločného pamäťového prostriedku a udržiavať konzistenciu medzi vyrovnávacou pamäťou a pamäťou.

Otázka: Aké môžu byť dôsledky nezabezpečenia koherencie vyrovnávacej pamäte?


Odpoveď: Bez koherencie vyrovnávacej pamäte nemusia mať údaje vo vyrovnávacej pamäti zmysel alebo jedna vyrovnávacia pamäť nemusí mať rovnaké údaje ako ostatné, čo môže viesť k nekonzistentnosti a chybám.

Otázka: V akom bežnom prípade sa vyskytujú problémy s koherenciou vyrovnávacej pamäte?


Odpoveď: Bežným prípadom, keď sa vyskytujú problémy s koherenciou vyrovnávacej pamäte, je vyrovnávacia pamäť procesorov vo viacprocesorovom systéme.

Otázka: Ako funguje koherencia vyrovnávacej pamäte?


Odpoveď: Koherencia vyrovnávacej pamäte funguje tak, že zabezpečuje, aby všetky vyrovnávacie pamäte prostriedku mali rovnaké údaje a aby údaje vo vyrovnávacích pamätiach boli konzistentné pomocou rôznych metód.

Otázka: Čo znamená koherencia pamäte?


Odpoveď: Koherencia pamäte sa vzťahuje na konzistenciu údajov v zdieľanom pamäťovom prostriedku.

Otázka: Ako môže koherencia vyrovnávacej pamäte zlepšiť výkon?


Odpoveď: Koherencia vyrovnávacej pamäte môže zlepšiť výkon tým, že umožní rýchlejší a efektívnejší prístup k danému prostriedku.

AlegsaOnline.com - 2020 / 2023 - License CC3