Original-URL des Artikels: https://www.golem.de/0611/48797.html    Veröffentlicht: 07.11.2006 12:15    Kurz-URL: https://glm.io/48797

Valve will Source-Engine für Multicore-CPUs patchen

Nahezu lineare Leistungssteigerung versprochen

Im Rahmen einer Presseveranstaltung führte Half-Life-Erfinder Valve Software vor, wie das Unternehmen auf den Trend zu Prozessoren mit immer mehr Kernen reagieren will. Valve hat sich dafür ein eigenes Konzept zur Programmierung ausgedacht und will auch bereits ausgelieferte Spiele entsprechend patchen - und verspricht dabei drastische Leistungssteigerungen.

Dies berichten unter anderem TweakTown und Ars Technica. Dass Valve so massiv für seine Software wirbt und dabei die Aufteilung in mehrere Threads in den Mittelpunkt stellt, hat einen einfachen Grund: Zukünftige Prozessoren werden nicht mehr durch Steigerung des Taktes schneller, sondern durch die Zahl ihrer Kerne. Schon der erste Quad-Core für PCs, Intels Core 2 Extreme QX6700, ist mit 2,66 GHz deutlich geringer getaktet als sein Dual-Core-Bruder Core 2 Extreme X6800, der auf 2,93 GHz kommt. An Threading führt also kein Weg vorbei, auch wenn Intel auf dem letzten IDF Fall 2006 offen zugab, dass man Quad-Core-CPUs für Spiele noch nicht braucht - aber vielleicht recht bald, was Valve nun belegt.

Intels IDF: Man braucht jetzt noch keine Quad-Cores für Spiele
Intels IDF: Man braucht jetzt noch keine Quad-Cores für Spiele
Wie jedoch sowohl Intel als auch die Softwarehersteller immer wieder betonen, ist die Aufteilung in Threads alles andere als trivial. Schon mit der Einführung von HyperThreading auf nur einem Kern 2002 hatte Intel begonnen, den Programmierern die Aufteilung von Code in mehrere Threads nahezulegen - und dabei auch "Helper Threads" vorgeschlagen, die eigentlich nichts Sinnvolles tun, sondern nur dafür sorgen, dass sich die Threads untereinander synchronisieren können. Wenn zum Beispiel in einem Spiel die Grafik-Engine darauf warten muss, bis die Physik eines Objekts berechnet ist - im schlimmsten Fall noch auf einem anderen Kern, der sich den Speicher teilen muss -, kann Multithreading sogar zur Bremse werden.

Die extrem feine Aufteilung in Threads hat Valve den Berichten zufolge bereits verworfen und führte dafür auch den Flaschenhals der Speicherbandbreite als Grund an - ein Beleg für die Richtigkeit von Intels Entscheidung, die Multi-Core-CPUs mit immer mehr L2-Cache auszustatten, AMD plant in seinen kommenden Prozessoren sogar L3-Caches. Die Lösung von Valve wird "Hybrid Threading" genannt. Manche Aufgaben, etwa die Soundberechnung, werden fest an einen Kern gebunden. Hier interagieren wenige Programmteile miteinander.

Die Berechnungen für Grafik, Physik und künstliche Intelligenz werden dagegen dynamisch auf die restlichen Kerne verteilt. Sobald ein Kern nichts zu tun hat, soll die Source-Engine ihn schon mit Vorausberechnungen füttern. Valves Ziel ist eine stets 100-prozentige Auslastung der gesamten CPU, was in Zukunft noch höhere Anforderungen an eine zuverlässige Kühlung stellen dürfte. Heute sind auch bei gut in Threads aufgeteilter Software manche Kerne konstant weniger ausgelastet als andere.

Bereits mit der Episode 2 von Half-Life 2 im ersten Quartal 2007 will Valve seine an Multicores angepasste Source-Engine ausliefern und ältere Spiele per Patch aktualisieren. Wunderdinge sollte man bei den bisherigen Titeln aber nicht erwarten. So lieferte Raven Software zwar für Quake4 den Mehrkern-Support als Patch nach, das schlug sich aber nur in einem je nach Szene 20 bis 30 Prozent schnelleren Bildaufbau nieder.

Valve dagegen gab den Journalisten bereits eine Vorversion der neuen Engine mit, bei der sich mit einfachen Demos laut Tests von TweakTown rund 34 Prozent mehr Leistung mit zwei statt einem Kern erreichen lassen. Allerdings meint Valve mit seiner Lösung eine nahezu lineare Skalierung zu erreichen, die schon mit bis zu acht Kernen funktionieren soll. Dass das möglich ist, hatte jüngst ein deutscher Student mit einem auf Raytracing umgebauten Quake4 nachgewiesen - allerdings lässt sich Raytracing extrem gut parallelisieren und ist dennoch für hohe Auflösungen auf heutigen CPUs zu langsam. Die gegenwärtigen Spiele-Engines sind ungleich komplexer und grafiklimitiert, so dass Valve die Mehrleistung durch Threading vor allem für mehr Effekte und realistischere Physik sowie künstliche Intelligenz nutzen will.  (nie)


Verwandte Artikel:
Valve: Dota 2 unterstützt bald Vulkan unter MacOS   
(26.02.2018, https://glm.io/133000 )
IBM bringt "Next Generation POSIX Threading" für Linux   
(29.06.2001, https://glm.io/14618 )
Suns Itanium-Konkurrent UltraSPARC IV mit Multi-Threading   
(14.10.2003, https://glm.io/27923 )
iOS und Android: Google veröffentlicht Dart 2.0 und Flutter-Beta   
(28.02.2018, https://glm.io/133050 )
Asus Rog GL503 und GL703: Auf 15 und 17 Zoll für vergleichsweise wenig Geld spielen   
(19.10.2017, https://glm.io/130708 )

Links zum Artikel:
Ars Technica: "Valve goes multicore": http://arstechnica.com/articles/paedia/cpu/valve-multicore.ars
TweakTown: "Valve talks about Multi-Core CPU Processing in Source": http://www.tweaktown.com/articles/976/1/page_1_introduction/index.html
Valve (.com): http://www.valvesoftware.com/

© 1997–2019 Golem.de, https://www.golem.de/