Prefetching

Was ist Prefetching?

Prefetching bezeichnet das Laden einer Ressource, bevor auf diese Ressource tatsĂ€chlich zugegriffen wird. Ein Beispiel hierfĂŒr ist der Vorabruf von Befehlen, bei denen eine CPU Daten und Anweisungsblöcke aus dem Hauptspeicher lĂ€dt und im Cache zwischenspeichert, bevor sie ausgefĂŒhrt werden.

Tipp

Wenn Sie noch Fragen bezĂŒglich Cache haben, dann können Sie gerne den jeweiligen Glossar dazu besuchen und sich ĂŒber das Thema informieren.

Anwendung und Nutzen

Das Vorabladen ermöglicht es Anwendungen und Hardware, die Leistung zu maximieren und Wartezeiten zu minimieren, indem Ressourcen vorab geladen werden, die Benutzer benötigen, bevor sie diese anfordern. In der Computerarchitektur ist der Befehlsvorabruf eine Technik, die in zentralen Prozessoreinheiten verwendet wird, um die AusfĂŒhrung eines Programms durch Reduzieren von WartezustĂ€nden zu beschleunigen.

Prefetching findet statt, wenn ein Prozessor einen Befehl oder einen Datenblock aus dem Hauptspeicher anfordert, bevor er tatsĂ€chlich benötigt wird. Sobald der Block aus dem Speicher geladen wurde, wird er in einem Cache zwischengespeichert. Wenn der Befehl oder Datenblock tatsĂ€chlich benötigt wird, kann das ausfĂŒhrende Programm viel schneller auf den Cache zugreifen, als wenn erste eine Anforderung an den Speicher ausgefĂŒhrt werden mĂŒsste. Auf diese Weise verringert sich die Speicherzugriffslatenz.

Da Datenzugriffsmuster weniger RegelmĂ€ĂŸigkeiten als Befehlsmuster zeigen, ist ein genaues Datenprefetching im Allgemeinen schwieriger als Befehlsprefetching.

Programme werden im Allgemeinen sequenziell ausgefĂŒhrt, sodass die AusfĂŒhrungsgeschwindigkeit beschleunigt werden kann, wenn die Befehle in der Programmreihenfolge vorab abgerufen werden. Der Vorababruf kann darĂŒber hinaus zusammen mit komplexen Vorhersagealgorithmen angewendet werden, bei dem der Prozessor versucht, das Ergebnis einer Berechnung vorauszusehen und die richtigen Anweisungen im Voraus abzurufen. Im Falle dedizierter Hardware, wie etwa einer Graphics Processing Unit, kann Prefetching die rĂ€umliche KohĂ€renz ausnutzen, die normalerweise im Textur-Mapping-Prozess gefunden wird. In diesem Fall sind die vorab abgerufenen Daten keine Anweisungen, sondern bestimmte Texturelemente.

Die ersten Mikroprozessoren, die den Vorabruf verwendet haben, waren der Intel 8086 und der Motorola 68000. Praktisch alle modernen Prozessoren nutzen heute diese Technik.

Prefetching durch Webbrowser und Betriebssysteme

Webbrowser verwenden Prefetchfunktionen und laden hĂ€ufig aufgerufene Seiten vorab in den Browsercache. Wenn der Benutzer zur Seite navigiert, wird diese schneller geladen, da der Browser die Seite aus dem Cache abrufen kann. Prefetching von Webseiten wurde erstmals mit HTML 5 möglich. FĂŒr den Vorababruf werden Hinweise in Webseiten integriert, die ein Browser nutzen kann, um zum Beispiel Links vorab zu laden. Der Vorabruf ist möglich fĂŒr Schriften, CSS, Bilder, Video- und Audiodateien.

ZusĂ€tzlich können TCP-Verbindungen und DNS-Namen fĂŒr den Vorababruf im Dokument angegeben werden. Durch das sogenannte DNS-Prefetching kann die IP-Adresse einer Ressource aufgelöst werden, bevor der Inhalt der externen Domain vom Nutzer aufgerufen wird. Dieses Vorgehen ist sinnvoll, wenn bei einer Webseite viele externe Inhalte genutzt werden, die nicht an erster Stelle im Quelltext stehen. Dadurch beschleunigt sich die Anzeige der Webseite im Browser. Die Angaben fĂŒr den DNS-Vorababruf erfolgen im HEAD-Bereich eines HTML Dokumentes.

Einige Browser-Plugins laden alle Seiten einer Domain vorab herunter, die mit Hyperlinks versehen wurden, um die Darstellung im Browser zu beschleunigen. Auch von verschiedenen Betriebssystemen, wie Windows wird Prefetching genutzt, um das Starten von Anwendungsprogrammen zu beschleunigen. Dazu werden Programmteile im Cache zwischengespeichert.

Prefetching Arten

Der Vorababruf kann durch Hardware oder Software erfolgen. Hardware-Prefetcher verwenden einen Speicher, um Zugriffsmuster zu erkennen und basierend auf den Speicherdaten Prefetch-Anweisungen auszugeben. Software-Prefetchfunktionen fĂŒgen Vorabrufbefehle in den Programmquellcode basierend auf der Kenntnis des Ablaufs der Programmsteuerung ein.

Prefetch-Metriken

Der Prefetch-Grad ist eine wichtige Metrik fĂŒr das Prefetching und beschreibt die Anzahl von Cache-Zeilen, die bei jeder Prefetchoperation abgerufen werden. Der Prefetch-Abstand oder die Prefetch-Distanz zeigt an, wie weit vor dem Demand Access Stream die Prefetch-Datenblöcke abgerufen werden.

Tipp

Wenn Sie noch Fragen bezĂŒglich eines Online Marketing Themas haben, dann können Sie gerne unseren Glossar besuchen und sich ĂŒber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte