Cache (výpočetní) - Cache (computing)

Schéma operace mezipaměti paměti CPU

Ve výpočtu , je vyrovnávací paměť ( / k æ ʃ / ( poslech ) O tomto zvuku Kash , nebo / k ʃ / kaysh v angličtině Australana ) je hardware nebo software komponent, který ukládá data, aby budoucí žádosti o tom, že data mohou být podávány rychleji; data uložená v mezipaměti mohou být výsledkem dřívějšího výpočtu nebo kopie dat uložených jinde. Přístup k mezipaměti nastane, když lze požadovaná data nalézt v mezipaměti, zatímco ke chybě mezipaměti dojde, když tomu tak není. Přístupy do mezipaměti jsou obsluhovány čtením dat z mezipaměti, což je rychlejší než přepočítávání výsledků nebo čtení z pomalejšího úložiště dat; čím více požadavků lze z mezipaměti obsluhovat, tím rychleji systém provádí.

Aby byly mezipaměti nákladově efektivní a umožnily efektivní využití dat, musí být relativně malé. Mezipaměti se přesto osvědčily v mnoha oblastech výpočetní techniky, protože typické počítačové aplikace přistupují k datům s vysokým stupněm referenční lokality . Takové přístupové vzorce vykazují časovou lokalitu, kde jsou požadována data, která již byla nedávno požadována, a prostorovou lokalitu, kde jsou požadována data, která jsou uložena fyzicky v blízkosti dat, která již byla požadována.

Motivace

Existuje inherentní kompromis mezi velikostí a rychlostí (vzhledem k tomu, že větší zdroj znamená větší fyzické vzdálenosti), ale také kompromis mezi drahými, prémiovými technologiemi (jako je SRAM ) a levnějšími, snadno masově vyráběnými komoditami (jako je DRAM nebo pevný disky ).

Buffering poskytnuté cache těží jednu nebo obě latence a propustnost ( pásma ):

Latence

Větší zdroj způsobuje značnou latenci přístupu - např. Může trvat stovky hodinových cyklů, než moderní procesor 4 GHz dosáhne DRAM . To je zmírněno čtením ve velkých kusech v naději, že další čtení budou z blízkých míst. Predikce nebo explicitní předběžné načítání může také hádat, odkud budou budoucí čtení pocházet a podávat žádosti předem; pokud je provedena správně, latence je zcela obejita.

Propustnost

Použití mezipaměti také umožňuje vyšší propustnost ze základního zdroje, a to sestavením několika přenosů jemného zrna do větších a efektivnějších požadavků. V případě obvodů DRAM to může být zajištěno širší datovou sběrnicí. Zvažte například program přistupující k bytům v 32bitovém adresním prostoru , ale obsluhovaný 128bitovou datovou sběrnicí mimo čip; jednotlivé přístupy bez mezipaměti bez mezipaměti by umožnily použít pouze 1/16 celkové šířky pásma a 80% pohybu dat by byly paměťové adresy místo samotných dat. Čtení větších bloků snižuje zlomek šířky pásma potřebného pro přenos informací o adrese.

Úkon

Hardware implementuje mezipaměť jako blok paměti pro dočasné uložení dat, která budou pravděpodobně znovu použita. Centrální procesorové jednotky (CPU) a pevné disky (HDD) často používají hardwarovou mezipaměť, zatímco webové prohlížeče a webové servery běžně spoléhají na ukládání do mezipaměti softwaru.

Mezipaměť se skládá ze skupiny záznamů. Každá položka má přidružená data , což je kopie stejných dat v nějakém záložním úložišti . Každý záznam má také značku , která určuje identitu dat v úložišti zálohování, jehož je záznam kopií. Značkování umožňuje simultánním algoritmům orientovaným na mezipaměť fungovat vícevrstevně bez rušení diferenciálního relé.

Když klient mezipaměti (CPU, webový prohlížeč, operační systém ) potřebuje přístup k údajům, o nichž se předpokládá, že existují v záložním úložišti, nejprve zkontroluje mezipaměť. Pokud lze nalézt záznam se štítkem odpovídajícím požadovaným datům, použijí se místo toho data v záznamu. Tato situace je známá jako zásah do mezipaměti. Program webového prohlížeče může například zkontrolovat svou místní mezipaměť na disku a zjistit, zda má lokální kopii obsahu webové stránky na konkrétní adrese URL . V tomto případě je URL značkou a obsahem webové stránky jsou data. Procento přístupů, které vedou k přístupům do mezipaměti, se označuje jako míra přístupů nebo poměr přístupů do mezipaměti.

Alternativní situace, kdy je mezipaměť zkontrolována a shledána, že neobsahuje žádný záznam s požadovanou značkou, je známá jako chyba mezipaměti. To vyžaduje dražší přístup k datům ze záložního úložiště. Jakmile jsou požadovaná data načtena, jsou obvykle zkopírována do mezipaměti, připravena k dalšímu přístupu.

Během vynechání mezipaměti se odstraní některé dříve existující položky mezipaměti, aby se vytvořil prostor pro nově načtená data. Heuristika používá k výběru vstupu nahradit je známý jako náhradní politiky . Jedna populární zásada nahrazování, „nejméně nedávno používaná“ (LRU), nahrazuje nejstarší položku, položku, ke které se přistupovalo méně nedávno než jakoukoli jinou položku (viz algoritmus mezipaměti ). Efektivnější algoritmy ukládání do mezipaměti vypočítají frekvenci použití podle velikosti uloženého obsahu a také latencí a propustností pro mezipaměť i záložní úložiště. To funguje dobře pro větší množství dat, delší latence a pomalejší propustnosti, jako je tomu u pevných disků a sítí, ale není efektivní pro použití v mezipaměti CPU.

Zásady psaní

Mezipaměť pro zápis s alokací bez zápisu
Mezipaměť pro zpětný zápis s alokací zápisu

Když systém zapisuje data do mezipaměti, musí je v určitém okamžiku zapsat také do záložního úložiště. Načasování tohoto zápisu je řízeno takzvanou zásadou zápisu . Existují dva základní přístupy k psaní:

  • Přepis : zápis se provádí synchronně jak do mezipaměti, tak do záložního úložiště.
  • Zpětný zápis (nazývaný také zápis na pozadí ): zpočátku se zápis provádí pouze do mezipaměti. Zápis do záložního úložiště se odloží, dokud nebude upravený obsah nahrazen jiným blokem mezipaměti.

Implementace mezipaměti pro zpětný zápis je složitější, protože potřebuje sledovat, která její umístění byla přepsána, a označit je jako špinavá pro pozdější zápis do záložního úložiště. Data v těchto umístěních se zapisují zpět do záložního úložiště pouze tehdy, když jsou vystěhována z mezipaměti, což je efekt označovaný jako opožděný zápis . Z tohoto důvodu bude chybné čtení v mezipaměti pro zpětný zápis (která vyžaduje nahrazení bloku jiným) často vyžadovat dva přístupy k paměti do služby: jeden pro zápis nahrazených dat z mezipaměti zpět do úložiště a poté jeden načíst potřebná data.

Jiné zásady mohou také vyvolat zpětný zápis dat. Klient může provést mnoho změn v datech v mezipaměti a poté explicitně upozornit mezipaměť, aby data zapsala.

Protože žadateli nejsou vrácena žádná data o operacích zápisu, je třeba rozhodnout o chybě zápisu, zda budou data načtena do mezipaměti. To je definováno těmito dvěma přístupy:

  • Alokace zápisu (také nazývaná načítání při zápisu ): data v místě zmeškaného zápisu se načtou do mezipaměti, po které následuje operace zápisu. V tomto přístupu jsou chyby zápisu podobné chybám při čtení.
  • Alokace zápisu bez zápisu (také se nazývá zápis bez přidělení nebo zápis kolem ): data v místě zmeškaného zápisu se nenačtou do mezipaměti a zapisují se přímo do záložního úložiště. Při tomto přístupu se data načítají do mezipaměti pouze při chybě čtení.

Jak zásady pro zápis, tak pro zpětný zápis mohou použít některou z těchto zásad proti zápisu, ale obvykle jsou spárovány tímto způsobem:

  • Mezipaměť pro zpětný zápis používá alokaci zápisu a doufá v další zápisy (nebo dokonce čtení) do stejného umístění, které je nyní uloženo do mezipaměti.
  • Mezipaměť pro zápis používá alokaci bez zápisu. Zde následné zápisy nemají žádnou výhodu, protože je stále třeba je zapisovat přímo do záložního úložiště.

Subjekty jiné než mezipaměť mohou měnit data v záložním úložišti, přičemž v takovém případě může být kopie v mezipaměti zastaralá nebo zastaralá . Alternativně, když klient aktualizuje data v mezipaměti, kopie těchto dat v jiných mezipaměti se stanou zastaralými. Komunikační protokoly mezi správci mezipaměti, které udržují data konzistentní, se nazývají protokoly koherence .

Předběžné načtení

Při chybě čtení mezipaměti přečtou mezipaměti se zásadou stránkování poptávky minimální částku ze záložního úložiště. Například virtuální paměť s pagingem na vyžádání přečte jednu stránku virtuální paměti (často 4 kByt) z disku do mezipaměti disku v RAM. Typický procesor například načte jeden řádek mezipaměti L2 128 bytů z DRAM do mezipaměti L2 a jeden řádek mezipaměti L1 64 bajtů z mezipaměti L2 do mezipaměti L1.

Mezipaměti se vstupní frontou předběžného načtení nebo obecnější zásadou předjímacího stránkování jdou dále - nejen že si přečtou požadovaný blok, ale také předpokládají, že brzy bude vyžadován další nebo dva bloky, a proto si data předem načtěte do mezipaměti. Předvídavé stránkování je užitečné zejména tehdy, když má záložní úložiště dlouhou latenci pro čtení prvního bloku a mnohem kratší časy pro sekvenční čtení několika dalších bloků, jako je diskové úložiště a DRAM .

Několik operačních systémů jde dále s zavaděčem (výpočetní), který vždy předem načte celý spustitelný soubor do paměti RAM.

Několik mezipamětí jde ještě dále, a to nejen před načtením celého souboru, ale také zahájením načítání dalších souvisejících souborů, které mohou být brzy požadovány, jako je mezipaměť stránek spojená s předběžným načítáním nebo webová mezipaměť spojená s předběžným načítáním odkazů .

Příklady hardwarových cache

CPU cache

Malé paměti na CPU nebo v jeho blízkosti mohou pracovat rychleji než mnohem větší hlavní paměť . Většina CPU od 80. let 20. století používala jednu nebo více cache, někdy v kaskádových úrovních ; moderní špičkové vestavěné , stolní a serverové mikroprocesory mohou mít až šest typů mezipaměti (mezi úrovněmi a funkcemi). Příklady cache má specifickou funkci, jsou D-cache a I-cache a translation lookaside buffer pro MMU .

Mezipaměť GPU

Dřívější grafické jednotky (GPU) často měly omezené mezipaměti textur pouze pro čtení a zavedly svislé textury v pořadí Morton, aby se zlepšila koherence 2D mezipaměti . Vynechání mezipaměti by drasticky ovlivnilo výkon, např. Pokud by nebylo použito mipmapping . Ukládání do mezipaměti bylo důležité pro využití 32bitových (a širších) přenosů pro texturová data, která často dosahovala pouhých 4 bitů na pixel, indexovaná ve složitých vzorech libovolnými UV souřadnicemi a perspektivními transformacemi v inverzním mapování textur .

Jak GPU pokročily (zejména u výpočetních shaderů GPGPU ), vyvinuly postupně větší a stále obecnější mezipaměti, včetně mezipaměti instrukcí pro shadery , které vykazují stále běžnější funkce s mezipaměti CPU. Například GPU architektury GT200 neobsahovalo mezipaměť L2, zatímco GPU Fermi má 768 KB mezipaměti poslední úrovně, GPU Kepler má 1536 KB mezipaměti poslední úrovně a Maxwell GPU má 2048 KB mezipaměti poslední úrovně . Tyto mezipaměti se rozrostly, aby zvládly synchronizační primitiva mezi vlákny a atomovými operacemi a rozhraní s MMU ve stylu CPU .

DSP

Procesory digitálního signálu se v průběhu let podobně generalizovaly. Dřívější konstrukce používaly paměť scratchpadů napájenou DMA , ale moderní DSP, jako je Qualcomm Hexagon, často obsahují velmi podobnou sadu kešek jako CPU (např. Upravená architektura Harvardu se sdílenou L2, rozdělenou L1 I-cache a D-cache).

Překlad Lookaside buffer

Jednotka správy paměti (MMU), která načítá položky tabulky stránek z hlavní paměti, má specializovanou mezipaměť, která se používá pro záznam výsledků překladů virtuální adresy na fyzickou adresu . Tato specializovaná mezipaměť se nazývá TLB ( translation lookaside buffer ).

Mezipaměť v síti

Sítě zaměřené na informace

Information-centric networking (ICN) je přístup k rozvoji internetové infrastruktury od paradigmatu zaměřeného na hostitele, založeného na neustálém připojení a principu end-to-end , k síťové architektuře, ve které jsou ústředním bodem identifikované informace (nebo obsah nebo data). Vzhledem k inherentní schopnosti ukládání do mezipaměti uzlů v ICN je možné jej považovat za volně připojenou síť mezipaměti, která má jedinečné požadavky na zásady ukládání do mezipaměti. Všudypřítomné ukládání obsahu do mezipaměti však představuje výzvu k ochraně obsahu před neoprávněným přístupem, která vyžaduje zvláštní péči a řešení. Na rozdíl od proxy serverů je v ICN mezipaměť řešením na úrovni sítě. Proto má rychle se měnící stavy mezipaměti a vyšší příchod požadavků; navíc menší velikosti mezipaměti dále kladou na zásady vystěhování obsahu jiný druh požadavků. Zejména zásady vystěhování pro ICN by měly být rychlé a lehké. Byly navrženy různé schémata replikace a vystěhování mezipaměti pro různé architektury a aplikace ICN.

Opatření

Minimálně nedávno použitý čas (TLRU)

Time aware Least Recently Used (TLRU) je varianta LRU navržená pro situaci, kdy uložený obsah v mezipaměti má platnou životnost. Algoritmus je vhodný v aplikacích síťové mezipaměti, jako jsou sítě zaměřené na informace (ICN), sítě pro doručování obsahu (CDN) a distribuované sítě obecně. TLRU zavádí nový termín: TTU (Time to Use). TTU je časové razítko obsahu/stránky, které stanoví dobu použitelnosti obsahu na základě lokality obsahu a oznámení vydavatele obsahu. Díky tomuto časovému razítku založenému na lokalitě poskytuje TTU větší kontrolu místnímu správci k regulaci v síťovém úložišti. Když v algoritmu TLRU přijde kus obsahu, uzel mezipaměti vypočítá místní hodnotu TTU na základě hodnoty TTU přiřazené vydavatelem obsahu. Místní hodnota TTU se vypočítá pomocí místně definované funkce. Jakmile se vypočítá místní hodnota TTU, provede se nahrazení obsahu v podmnožině celkového obsahu uloženého v uzlu mezipaměti. TLRU zajišťuje, že méně oblíbený a malý obsah bude nahrazen příchozím obsahem.

Nejméně často používaný v poslední době (LFRU)

Schéma výměny mezipaměti LFRU (Least Frequent Recently Used) kombinuje výhody schémat LFU a LRU. LFRU je vhodný pro mezipaměťové aplikace „v síti“, jako jsou sítě zaměřené na informace (ICN), sítě pro doručování obsahu (CDN) a distribuované sítě obecně. V LFRU je mezipaměť rozdělena na dva oddíly nazývané privilegované a neprivilegované oddíly. Privilegovaný oddíl lze definovat jako chráněný oddíl. Pokud je obsah velmi populární, je vložen do privilegovaného oddílu. Výměna privilegovaného oddílu se provádí následovně: LFRU odstraní obsah z neprivilegovaného oddílu, přenese obsah z privilegovaného oddílu do neprivilegovaného oddílu a nakonec do privilegovaného oddílu vloží nový obsah. Ve výše uvedeném postupu se pro privilegovaný oddíl používá LRU a pro neprivilegovaný oddíl se používá přibližné schéma LFU (ALFU), proto zkratka LFRU. Základní myšlenkou je odfiltrovat místně populární obsah pomocí schématu ALFU a odeslat populární obsah do jednoho z privilegovaných oddílů.

Předpověď počasí

V roce 2010 New York Times navrhl „Zadejte„ počasí “a poté PSČ.“ Do roku 2011 bylo používání chytrých telefonů s možnostmi předpovědi počasí nadměrně zdaňovat servery AccuWeather ; dva požadavky ve stejném parku by generovaly samostatné požadavky. Optimalizace pomocí okrajových serverů za účelem zkrácení souřadnic GPS na méně desetinných míst znamenalo, že budou použity výsledky uložené v mezipaměti z dřívějšího dotazu. Počet vyhledávání na serveru za den klesl na polovinu.

Softwarové mezipaměti

Mezipaměť disku

Zatímco mezipaměti CPU jsou obecně spravovány výhradně hardwarem, různé mezipaměti spravuje řada softwaru. Stránky vyrovnávací paměti v hlavní paměti, což je příkladem diskové cache, je řízen operačního systému jádra .

Zatímco vyrovnávací paměť disku , která je integrovanou součástí jednotky pevného disku, je někdy zavádějícím způsobem označována jako „disková mezipaměť“, její hlavní funkce jsou sekvenování zápisu a předběžné načítání čtení. Opakované zásahy do mezipaměti jsou relativně vzácné kvůli malé velikosti vyrovnávací paměti ve srovnání s kapacitou jednotky. Nicméně, high-end řadiče disků často mají své vlastní on-board cache pevný disk je datových bloků .

Konečně, rychlý lokální pevný disk může také ukládat do mezipaměti informace uložené na ještě pomalejších zařízeních pro ukládání dat, jako jsou vzdálené servery ( webová mezipaměť ) nebo místní páskové jednotky nebo optické jukeboxy ; takové schéma je hlavním konceptem správy hierarchické paměti . Rychlé flash disky na bázi SSD (SSD) lze také použít jako mezipaměti pro pomalejší pevné disky s rotačními médii, které fungují společně jako hybridní jednotky nebo hybridní disky SSD (SSHD).

Webová mezipaměť

Webové prohlížeče a webové proxy servery využívají webové mezipaměti k ukládání předchozích odpovědí z webových serverů , jako jsou webové stránky a obrázky . Webové mezipaměti snižují množství informací, které je třeba přenášet po síti, protože informace dříve uložené v mezipaměti lze často znovu použít. To snižuje požadavky na šířku pásma a zpracování webového serveru a pomáhá zlepšit odezvu uživatelů webu.

Webové prohlížeče využívají integrovanou webovou mezipaměť, ale někteří poskytovatelé internetových služeb (ISP) nebo organizace také používají server proxy pro ukládání do mezipaměti, což je webová mezipaměť, která je sdílena mezi všemi uživateli této sítě.

Další formou mezipaměti je ukládání do mezipaměti P2P , kde jsou soubory, které aplikace peer-to-peer nejvíce hledají, uloženy do mezipaměti ISP, aby se urychlily přenosy P2P. Podobně existují decentralizované ekvivalenty, které umožňují komunitám provádět stejný úkol pro provoz P2P, například Corelli.

Zapamatování

Mezipaměť může ukládat data, která jsou vypočítávána na vyžádání, nikoli načítána ze záložního úložiště. Memoizace je optimalizační technika, která ukládá výsledky volání funkcí náročných na zdroje do vyhledávací tabulky, což umožňuje následným voláním znovu použít uložené výsledky a vyhnout se opakovanému výpočtu. Souvisí to s metodikou návrhu algoritmu dynamického programování , kterou lze také považovat za prostředek ukládání do mezipaměti.

Další keše

Démon BIND DNS ukládá do mezipaměti mapování doménových jmen na IP adresy , stejně jako knihovna resolveru.

Operace zápisu je běžná při provozu v nespolehlivých sítích (jako je ethernetová síť LAN), protože v případě nespolehlivé komunikace je nesmírná složitost protokolu koherence vyžadována mezi více mezipaměti pro zpětný zápis. Například mezipaměti webových stránek a mezipaměti síťového systému souborů na straně klienta (jako jsou ty v NFS nebo SMB ) jsou obvykle jen pro čtení nebo pro zápis, aby byl síťový protokol jednoduchý a spolehlivý.

Vyhledávače také často zpřístupňují indexované webové stránky ze své mezipaměti. Google například poskytuje vedle každého výsledku vyhledávání odkaz „Uloženo do mezipaměti“. To může být užitečné, když jsou webové stránky z webového serveru dočasně nebo trvale nepřístupné.

Dalším typem ukládání do mezipaměti je ukládání vypočítaných výsledků, které budou pravděpodobně znovu zapotřebí, nebo memoizace . Například ccache je program, který ukládá do mezipaměti výstup kompilace, aby urychlil pozdější běhy kompilace.

Ukládání do mezipaměti databáze může podstatně zlepšit propustnost databázových aplikací, například při zpracování indexů , datových slovníků a často používaných podmnožin dat.

Distribuované mezipaměti používá síťové počítače poskytovat škálovatelnost, spolehlivost a výkon pro aplikace. Hostitelé mohou být umístěni společně nebo rozděleni do různých geografických oblastí.

Vyrovnávací paměť vs. mezipaměť

Sémantika „vyrovnávací paměti“ a „mezipaměti“ se zcela neliší; i přesto existují zásadní rozdíly v záměru mezi procesem ukládání do mezipaměti a procesem ukládání do vyrovnávací paměti.

Ukládání do mezipaměti v zásadě přináší zvýšení výkonu pro přenosy dat, která jsou opakovaně přenášena. Zatímco systém ukládání do mezipaměti může realizovat zvýšení výkonu při počátečním přenosu (typicky zápisu) datové položky, toto zvýšení výkonu je způsobeno ukládáním do vyrovnávací paměti v systému ukládání do mezipaměti.

U vyrovnávacích pamětí pro čtení musí být datová položka alespoň jednou načtena ze svého místa bydliště, aby následná čtení datové položky mohla realizovat zvýšení výkonu na základě možnosti načíst ji z (rychlejšího) mezipaměti mezipaměti než z místo, kde se data nacházejí. U mezipaměti pro zápis lze zvýšení výkonu zápisu datové položky realizovat při prvním zápisu datové položky na základě okamžitého uložení datové položky v mezipaměti mezipaměti, čímž se odloží přenos datové položky do jejího rezidentního úložiště na v pozdější fázi nebo také jako proces na pozadí. Na rozdíl od přísného ukládání do vyrovnávací paměti musí proces ukládání do mezipaměti dodržovat (potenciálně distribuovaný) protokol koherence mezipaměti, aby byla zachována konzistence mezi mezipamětí mezipaměti a místem, kde se data nacházejí. Vyrovnávací paměť na druhé straně

  • snižuje počet přenosů pro jinak nová data mezi komunikačními procesy, což amortizuje režijní náklady na několik malých přenosů na méně, větších přenosů,
  • poskytuje zprostředkovatele pro komunikaci procesů, které nejsou schopné přímého přenosu mezi sebou, popř
  • zajišťuje minimální velikost nebo reprezentaci dat požadovanou alespoň jedním z komunikačních procesů zapojených do přenosu.

U typických implementací ukládání do mezipaměti se datová položka, která se poprvé čte nebo zapisuje, účinně ukládá do vyrovnávací paměti; a v případě zápisu většinou realizace zvýšení výkonu pro aplikaci, odkud zápis pochází. Navíc část protokolu ukládání do mezipaměti, kde jsou jednotlivé zápisy odloženy do dávky zápisů, je formou ukládání do vyrovnávací paměti. Část protokolu ukládání do mezipaměti, kde jsou jednotlivá čtení odložena na dávku čtení, je také formou ukládání do vyrovnávací paměti, ačkoli tato forma může negativně ovlivnit výkon alespoň počátečních čtení (i když může mít pozitivní vliv na výkon součtu jedinec čte). V praxi ukládání do mezipaměti téměř vždy zahrnuje nějakou formu ukládání do mezipaměti, zatímco přísné ukládání do mezipaměti nezahrnuje ukládání do mezipaměti.

Vyrovnávací paměť je dočasné paměťové místo, které se tradičně používají, protože CPU instrukce nemůže přímo řešit data uložená v periferních zařízení. Jako mezistupeň se tedy používá adresovatelná paměť. Navíc může být taková vyrovnávací paměť proveditelná, když je sestaven nebo rozebrán velký blok dat (jak vyžaduje paměťové zařízení), nebo když mohou být data doručena v jiném pořadí, než ve kterém jsou vytvářena. Také celá vyrovnávací paměť dat je obvykle přenášena postupně (například na pevný disk), takže samotné ukládání do vyrovnávací paměti někdy zvyšuje přenosový výkon nebo snižuje kolísání nebo chvění latence přenosu na rozdíl od ukládání do mezipaměti, kde je záměrem snížit latenci. Tyto výhody jsou k dispozici, i když jsou data uložená ve vyrovnávací paměti jednou zapsána do vyrovnávací paměti a jednou přečtena z vyrovnávací paměti.

Mezipaměť také zvyšuje přenosový výkon. Část nárůstu podobně pochází z možnosti, že se několik malých přenosů spojí do jednoho velkého bloku. K hlavnímu zvýšení výkonu však dochází, protože existuje velká šance, že stejná data budou přečtena z mezipaměti vícekrát nebo že budou brzy přečtena zapsaná data. Jediným účelem mezipaměti je omezit přístup k základnímu pomalejšímu úložišti. Cache je také obvykle abstrakční vrstva, která je navržena tak, aby byla neviditelná z pohledu sousedních vrstev.

Viz také

Reference

Další čtení