Non-Uniform Memory Access: Porovnání verzí

Smazaný obsah Přidaný obsah
m Uprava textu pro ccNUMA
Řádek 18:
 
== Cache koherentní NUMA (ccNUMA) ==
{{Přesnost|část}}
Téměř všechny dnešní počítačové architektury používají malé množství velmi rychlé nesdílené paměťi, která je známa jako cache. Při použití NUMA se zajišťuje zachování koherence cache přes distribuované úložiště, což má značné režijní náklady.
 
Ne-cache-koherentní NUMA systémy jsou jednodušší na vývoj a realizaci, ale se standardním programovacím modelem [[Von_Neumannova_architektura|von NeumanoviNeumanovy architektury]] velmi obtížně programovatelné. Proto všechny v současnosti používané NUMA systémy mají speciální hardware pro zajištění koherence cache, a jsou proto známy jako cache-koherentní NUMA (ccNUMA).
 
To je obvykle dosaženo inter-procesorovou komunikací mezi řadičemi cache, což zajišťuje konzistentní obsah paměti v případě, že je stejný obsah paměti uložen ve více než v jedné cache. ccNUMA má špatnou výkonost, právě když se více procesorů pokouší o rychlý přístup ke stejné paměti. Proto se operační systémy s podporou NUMA pokoušejí minimalizovat četnost těchto žádostí pomocí přidělování procesorů a paměti s přihlédnutím na šetrnost k NUMA. Alternativně se využívají protokoly pro cache coherency jako je [[MESIF protokol]], který se snaží snížit komunikaci potřebnou k udržení koherence cache.