Definition
Ein Leistungsprinzip, wonach Programme und Systeme dazu neigen, über kurze Zeitintervalle wiederholt auf eine relativ kleine Menge von Speicherorten zuzugreifen (temporale Lokalität) und innerhalb kurzer Intervalle auf räumlich nahe Adressen im Adressraum zuzugreifen (räumliche Lokalität).

Prinzip

Prinzip
Zugriffsmuster sind in Zeit und Raum nicht gleichmäßig verteilt; Entwurf von Caches, Prefetchern und Datenlayouts sollte kürzliche und nahe Zugriffe ausnutzen, um durchschnittliche Latenz und Bandbreitennutzung zu verringern.

Demonstration

Demonstration
Eine CPU, die eine Schleife über ein Array ausführt, zeigt temporale Lokalität (wiederholte Nutzung gleicher Instruktionen und Daten) und räumliche Lokalität (aufeinanderfolgende Speicheradressen werden angesprochen), wodurch L1/L2-Caches und Hardware-Prefetching effektiv genutzt werden können.

Fehlanwendung

Fehlanwendung
Die Annahme starker Lokalität für Workloads, die von Natur aus zufällig sind (z. B. kryptografische Zufallszugriffe, bestimmte Graphalgorithmen) und dadurch cache-orientierte Optimierungen einzusetzen, die Komplexität erhöhen ohne Nutzen.

Konsequenz

Konsequenz
Richtig erkannt und genutzt reduziert Lokalität Cache-Miss-Raten, senkt Speicherzugriffs-Latenzen und verbessert den Gesamtdurchsatz; sie rechtfertigt geschichtete Speicherhierarchien und blockorientierte I/O-Strategien.

Umkehrung

Umkehrung
Workloads mit Anti-Lokalität — gleichmäßig zufällige Zugriffe über großen Adressraum oder Pointer-Chasing ohne räumliche Nähe — machen lokalitätsbasierte Optimierungen unwirksam und erfordern andere Entwürfe (z. B. Streaming-Puffer, Direct I/O).

Abgrenzung

Abgrenzung
Gilt für Speicherhierarchien, Prozessor-Caches, Festplattenblöcke und verteilte Caches; garantiert nicht die Leistung für alle Algorithmen und gilt möglicherweise nicht für stark randomisierte, adversariale oder reine Streaming-Zugriffe.

Semantische Spannung

Semantische Spannung
Widerspruch zu Modellen, die von uniformen Zugriffskosten ausgehen (z. B. einfaches RAM-Modell); zudem Spannung mit Sicherheitsaspekten, da Lokalität Timing- oder Cache-Nebenkanäle ermöglichen kann.

Synthese

Synthese
Referenzlokalität ist die empirische Beobachtung, dass sich Zugriffsmuster in Zeit und Raum clustern; das Erkennen dieses Clusterverhaltens leitet Architekturentscheidungen (Caches, Prefetcher, Datenlayout) und muss gegen Workloads mit geringer oder fehlender Clusterbildung abgewogen werden.