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.

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