Große Leistungseinbußen nach dem Vorfall namens „Spectre und Meltdown“ im Januar 2018 könnten bald wieder der Vergangenheit angehören:
Denn wie Mehmet Iyigun vom Windows/Azure Kernel Team auf Twitter verkündet, habe Microsoft in Insider Builds für das nach dem kommenden Oktober Update im Frühjahr 2019 anstehende Windows 10 Funktionsupdate „19H1“ bereits begonnen, das sogenannte „Retpoline-Konzept“ umzusetzen. Dieses soll den Performance-Einbruch aufgrund von indirekten Berechnungsanfragen deutlich verringern.
Zusammen mit einem Feature namens „import optimization“ seien die Leistungsminderungen durch die Schutzfunktion vor „Spectre 2“ bei betroffenen CPUs mit ca. einem bis zwei Prozent kaum mehr messsbar.
Yes, we have enabled retpoline by default in our 19H1 flights along with what we call "import optimization" to further reduce perf impact due to indirect calls in kernel-mode. Combined, these reduce the perf impact of Spectre v2 mitigations to noise-level for most scenarios. https://t.co/CPlYeryV9K
— Mehmet Iyigun (@mamyun) October 18, 2018
Retpoline („Return Trampoline“) ist ein von Googles Paul Turner erdachtes Prinzip, dem von allen drei Varianten gravierendsten „Spectre 2“ Szenario zu begegnen, indem indirekte Branches von der spekulativen Ausführung ausgenommen werden. Da Spectre 2 der einzige Fall ist, der die Leistung maßgeblich negativ beeinflusst, kann mit der Implementierung von Retpoline den Leistungseinbußen der Garaus gemacht werden, ohne den Schutz vor den Spectre und Meltdown Lücken aufzugeben.
Zur Entwicklungsgeschichte von Spectre und Meltdown
Im Januar wehte kein einfacher Sturm, sondern glatt ein richtiger Hurrican durch die Technikwelt, als bekannt wurde dass so ziemlich jeder moderne Intel-Chip mit x64 Architektur anfällig für zwei Phänomene namens Sprectre und Meltdown ist.
Diese bezeichnen folgende teils architekturbedingte Schwachstelle bei der Adressierung von virtuellem Arbeitsspeicher der Chips: Beliebige Prozesse hatten auf Daten in virutellen Speicherbereichen Zugriff, die eigentlich anderen Prozesse vorbehalten sein sollten, die die spekulative Befehlsausführung nutzen. Letztere wurde durch eine sogenannte „Out of order“-Architektur realisiert, die es ermöglicht, sehr wahrscheinliche Szenarien im Voraus zu berechnen um die Leistungsfähigkeit zu erhöhen.
Nach Bekanntwerden war wegen der Brisanz der Lücke, die sogar bis zu 15 Jahre alte Intel Chips und in der Ausführung „Sprectre 1“ auch AMD CPU’s betraf, die Bestrebung schnell einen Patch auszuliefern, groß. Insofern war es nicht verwunderlich, dass erste Patches eher mit der heißen Nadel gestrickt waren, auch wenn Microsoft und Intel das Problem bereits seit Herbst 2017 bekannt war.
Dennoch war der Shitstorm groß, als dann bekannt wurde, dass der Patch mit Leistungseinbußen von bis zu 30% daherkäme, da dem Vorhersagen von Berechnungsschritten weitesgehend ein Riegel vorgeschoben werden musste.
Immerhin sorgte man dafür, dass die Lücke nie wirklich ausgenutzt werden konnte, da man selbst für veraltete Systeme wie Windows XP eine Aktualisierung zur Pflicht machte.
Wir haben seinerzeit einen FAQ-Artikel verfasst, in den ihr bei Bedarf reinschauen könnt.
via winfuture