Spekulative Ausführung

Die spekulative Ausführung in Computersystemen tut Arbeit, deren Ergebnis nicht erforderlich sein darf. Diese Leistungsoptimierungstechnik wird in pipelined Verarbeitern und anderen Systemen verwendet.

Spekulative Ausführung ist eine Leistungsoptimierung. Die Hauptidee ist, Arbeit zu tun, bevor es bekannt ist, ob diese Arbeit überhaupt erforderlich sein wird, um eine Verzögerung zu verhindern, die durch das Tun der Arbeit würde übernommen werden müssen, nachdem es bekannt ist, ob es erforderlich ist. Wenn es sich herausstellt, dass die Arbeit schließlich nicht erforderlich war, werden die Ergebnisse einfach ignoriert. Das Ziel soll mehr Parallelität zur Verfügung stellen, wenn Extramittel verfügbar sind.

Die folgenden Technologien verwenden diese Idee:

Verarbeiter

Moderne pipelined Mikroprozessoren verwenden spekulative Ausführung, um die Kosten von bedingten Zweiginstruktionen mit Schemas zu reduzieren, die den Ausführungspfad eines auf der Geschichte von Zweigausführungen gestützten Programms voraussagen. Es stellt sich heraus, dass, um Leistung und Anwendung von Computermitteln zu verbessern, einige Instruktionen vorzeitig in einem Platz auf dem Plan stehen müssen, der nicht beschlossen wird, dass solche Instruktionen überhaupt vor dem Zweig durchgeführt werden müssen.

Bearbeiter

In der Bearbeiter-Optimierung, um Systeme zu mehrbearbeiten, ist spekulative Ausführung mit einem müßigen Verarbeiter-Durchführungscode in den folgenden Verarbeiter-Block verbunden, im Falle dass es keine Abhängigkeit vom Code gibt, der auf anderen Verarbeitern laufen konnte. Der Vorteil dieses Schemas reduziert Ansprechzeit für individuelle Verarbeiter und das gesamte System. Jedoch gibt es eine Nettostrafe für den durchschnittlichen Fall, da im Fall von einer schlechten Wette die Rohrleitungen gespült werden sollten. Der Bearbeiter wird in der Ausgabe spekulativer Ausführungsinstruktion beschränkt, da es verlangt, dass Hardware-Hilfe die Effekten von spekulativ durchgeführten Instruktionen puffert. Ohne Hardware-Unterstützung konnte der Bearbeiter nur spekulative Instruktionen ausgeben, die keine Nebenwirkungen im Falle der falschen Spekulation haben.

Eifrige Ausführung

Eifrige Ausführung ist eine Form der spekulativen Ausführung, wo beide Seiten des bedingten Zweigs jedoch durchgeführt werden, werden die Ergebnisse nur begangen, wenn das Prädikat wahr ist. Mit unbegrenzten Mitteln würden eifrige Ausführung (auch bekannt als Orakel-Ausführung) in der Theorie, dieselbe Leistung als vollkommene Zweigvorhersage zur Verfügung stellen. Mit beschränkten Mitteln sollte eifrige Ausführung sorgfältig verwendet werden, da die Zahl von erforderlichen Mitteln exponential mit jedem Niveau von Zweigen durchgeführt eifrig wächst.

Faule Einschätzung

Faule Einschätzung sinnt nicht nach. Die Integration der spekulativen Ausführung in Durchführungen der Programmiersprache von Haskell ist ein aktuelles Forschungsthema. Eifriger Haskell wird um die Idee von der spekulativen Ausführung entworfen. Neue Versionen von GHC unterstützen eine Art spekulative Ausführung mit einem Abtreibungsmechanismus, im Falle der genannten optimistischen Ausführung einer schlechten Wahl zurückzutreten.

Siehe auch

  • Propellerwind (Informatik)

Links


Glühfaden / Quebecer Souveränitätsbewegung
Impressum & Datenschutz