Pentium D 840 und Extreme Edition 840 im Test: Erste Dual-Core Benchmarks
2/20Multi-Core-CPUs
Dass die absehbare Prozessor-Zukunft bei Intel und AMD Multi-Core spricht, wissen wir nicht nicht erst seit den offiziellen Ankündigungen entsprechender Desktop-Produkte der beiden Hersteller am 7. (Intel) und 23. Februar 2004 (AMD). Bei Intel erwähnten beispielsweise 1989 die Intel-CPU-Architekten Gelsinger, Dr. Paolo Gargini, Gerhard Parker und Albert Yu erstmals die Absicht, in Zukunft mehrere Recheneinheiten direkt auf einem Prozessor zu vereinen (siehe auch: Microprocessors, Circa 2000). Doch worin begründet sich das Bestreben der IT-Industrie, Prozessoren mit mehreren Recheneinheiten auf dem Package zu fertigen?
Die Gründe
Multi-Core-CPUs versprechen in zweierlei Szenarien deutliche Vorteile gegenüber Single-Core-Prozessoren, die wir nacheinander durchgehen wollen.
Auf der x86-Architektur basierende Prozessoren haben (von Hyper-Threading vorerst abgesehen) ein Problem, das angesichts der Multi-Tasking-Fähigkeit aktueller Betriebssysteme seltsam anmutet: So hoch sie auch getaktet sind, sie können nur eine Aufgabe gleichzeitig bewältigen. Zwar können beispielsweise unter Windows XP unzählige Programme, nennen wir sie A, B und C, parallel laufen, doch ist der Prozessor nicht in der Lage, Aufgaben (Threads), die ihm von besagten drei Programmen zur Abarbeitung übergeben werden, gleichzeitig auszuführen. Solange der Prozessor den Thead aus Programm A verfolgt, müssen die Theads der Programme B und C warten. Ob der Nutzer hiervon etwas mitbekommt oder die CPU die drei Threads schnell genug auch hintereinander bewältigen kann, hängt von der Komplexität der eingesetzten Programme ab.
Allgemein geht der Trend jedoch hin zu immer komplexeren Anwendungen, die ein Rechner, sei es Workstation oder Multi-Media-PC, parallel zu bewältigen hat und die mit heutigen Prozessoren trotz GigaHertz-Wahns teilweise noch gar nicht zu bewerkstelligen sind. Neben Banalitäten wie der Konvertierung einer DVD, während parallel ein aktuelles Spiel über den Bildschirm flimmert, hält insbesondere der von Intel so gern als „center of your digital life“ bezeichnete Allround-PC oder das „digital office“ eine Menge Szenarien wie etwa zentrale Streaming-Dienste für Audio- und hochauflösenden Video-Content an die verschiedensten Clienst im Haus bereit.
Multi-Core-CPUs scheinen hier eine konsequente Weiterentwicklung in Bezug auf die sich ändernden Anforderungen zu sein, derer es in der Vergangenheit schon einige gegeben hat. So ermöglichte es Intel mit dem Pentium-Prozessor, einen einzelnen Thread in verschiedene Arbeitsschritte aufzuteilen, parallel zu bearbeiten und wieder zusammen zu setzen, der Intel Pentium Pro-Prozessor durfte erstmals in einem Viererverbund in einem PC (Multi-Processing) eingesetzt werden und die Hyper-Threading-Technology, eingeführt Anfang 2002, gaukelte dem Betriebssystem zwei virtuelle CPUs auf einem herkömmlichen Prozessor vor, so dass das OS der Recheneinheit zwei Threads parallel zur Arbeit vorwarf und diese Thread B in den durch Thread A nicht ausgelasteten Prozessor-Bereichen durchrechnen konnte.
Eine Multi-Core-CPU vereint im Endeffekt Multi-Processing auf einem Prozessor und ermöglicht so, Thread B parallel zu Thread A auf einem eigenen Kern und nicht in den durch Thread A auf Kern 1 nicht ausgelasteten Kapazitäten zu bearbeiten. Der Pentium XE, der auf jedem seiner beiden Dies darüber hinaus Hyper-Threading beherrscht, erscheint dem Betriebssystem gar als Vier-CPU-System und während auf Kern 1 Thread A und auf Kern 2 Thread B laufen, können zwei weitere Threads C und D in die freien Kapazitäten auf Kern 1 und Kern 2 bearbeitet werden.
Im eben beschriebenen Szenario würden Dual-Core-CPUs mehrere, parallel laufende Anwendungen zwar spürbar beschleunigen. Programme, die ohne störendes Beiwerk ausgeführt werden und in einem Thread und somit nur auf einer CPU ablaufen, würden allerdings nicht einmal ansatzweise vom zweiten Kern profitieren. Ein Problem, mit dem sowohl Multi-Processing als auch Hyper-Threading zu kämpfen hatten und haben.
Die Softwarefrage
Um ein einzelnes Programm auf einer Multi-Core-CPU spürbar zu beschleunigen, muss die Software in mehreren Threads arbeiten. Während insbesondere professionelle Rendering-Software, Webapplikationen und Co. schon seit geraumer Zeit auf Multi-Processing-Systeme ausgelegt sind und mit ihrem parallelen Aufbau somit auch für HT und Multi-Core-CPUs keine Probleme bereiten, steckt die gewöhnliche Endanwender-Software derzeit noch in den Kinderschuhen, was die Aufteilung der Rechenarbeit in mehrere Threads anbelangt. Ein Umstand, der beispielsweise Intel dazu bewogen hat, die schon lange im Pentium 4 schlummernde HT-Technologie erst 2002 zu aktivieren - vorher hätte es schlichtweg keinen Unterschied gemacht. Schon vor drei Jahren wollte und musste Intel sicher gehen, dass Software-Anbieter genügend Programme parat haben, die der viel umworbenen Technologie einen spürbaren Leistungsgewinn bescheren. Ein Wunsch, der nur teilweise in Erfüllung ging. Oftmals stand der Aufwand einer Neustrukturierung des Programmcodes wohl nicht im Verhältnis zum möglichen Geschwindigkeitsvorteil - schließlich blieben dem zweiten Thread ja nur die nicht vom ersten Thread genutzt Kapazitäten übrig. Da die HT-Technologie allerdings als quasi-kostenlose Beigabe mit der Zeit in allen neuen CPUs freigeschaltet wurde und Anwendungen vielleicht nicht immer schneller, dafür aber, das richtige Betriebssystem vorausgesetzt (siehe auch: Hyper-Threading: Windows XP vs. Windows 2000), nie langsamer laufen lies, musste und konnte Intel zwangsläufig damit leben.
Bei Dual-Core-Systemen erreicht das Problem nun eine ganz andere Dimension. Nicht nur, dass zwei Kerne dem weniger versierten Käufer unvermeidlich die doppelte Leistung zu versprechen scheinen. Auch werden die ersten, mit zwei Kernen bestückten CPUs mit Taktraten (bis 3,2 GHz) weit unter den schnellsten Single-Core-Prozessoren (bis 3,8 GHz, bzw. was die Systemleistung angeht, der 3,73 GHz schnelle P4 EE) auf den Markt kommen und in Anwendungen, die in einem Thread laufen, zwangsläufig deutlich langsamer sein.
Um Softwarehersteller die Entwicklung von parallelisierter Software, auch Spiele spielen hierbei eine außerordentliche Rolle, zu vereinfachen, hat Intel bereits vor Jahren mehrere Initiativen wie die Intel Software and Solutions Group (SSG) ins Leben gerufen, die Hilfestellung leisten.
Foremost among them is the
Intel® Software and Solutions Group (SSG), a large worldwide organization that works with third-party software developers
and solution developers to help their designs get the full performance benefit of Intel architectures and ultimately
deliver great value to end users. SSG has had a Threading Enabling Program in place since well before the introduction
of HT Technology. This ongoing program provides software developers with access to HT Technology-based development
platforms, and subsequently, multi-core technology-based development platforms. SSG also offers a robust set of
threading tools, compilers and other performance-tuning toolkits and white papers that help enable software developers to
implement thread-level parallelism enhancements within their code.
[...]
While Intel“s 2002 Hyper-threading technology and related developer and application enabling programs and services have led to mainstream operating systems and hundreds of multi-threaded applications, there is much work left to do. Intel is dedicating thousands of software and solution architects, a range of programs and services, and a suite of developer tools and products to help the industry move forward on development. New disclosures today include Intel“s threading immersion program, an in-depth developer-focused effort to assist with developing applications that can manage multiple cores and threads.
Es wäre illusorisch, davon auszugehen, dass Dual-Core-CPUs gleich zur Vorstellung in allen Märkten unangefochten an der Spitze stehen. Wirklich profitieren werden die schon heute auf Multi-Processing ausgelegten, professionellen Programme sowie marktübergreifend die parallele Bearbeitung unterschiedlicher Anwendungen. Was die Beschleunigung herkömmlicher Software anbelangt, wird sich der Endanwender trotz aller Bemühungen der Hardwarehersteller allerdings (bis auf Ausnahmen) noch gedulden müssen. Wie auf dem Grafikkartenmarkt, auf dem Spiele auf Basis der neuesten DirectX-Version erst dann programmiert werden, wenn ein Großteil der Kunden eben einen solchen Beschleuniger besitzt, wird auch „Dual-Core-Software“ erst dann ein marktübergreifender Standard werden, wenn Softwarehersteller die notwendige Basis im Käuferkreis dafür sehen. Es ist allerdings davon auszugehen, dass kommende Prestige-Produkte, beispielsweise im Spiele-Sektor, schon in naher Zukunft massiv auf Dual-Core-CPUs abzielen.
Darüber hinaus bedeutet Multi-Core, sobald die Software mehrere Kerne optimal ansprechen kann, vorerst den Ausweg aus der GHz-Falle. Die Industrie ist an einem Punkt angelangt, an dem es - zumindest zum jetzigen Zeitpunkt - nur noch mit großem Aufwand möglich ist, die Taktraten bzw. die Geschwindigkeit einer herkömmlichen CPU zu erhöhen und die anfallende Verlustleistung aus dem System abzuführen (Stichwort BTX). Dual-Core verspricht bei optimaler Unterstützung nicht nur annähernd die doppelte Leistung bei gleichbleibendem Takt. Auch ist die Kühlung der Prozessoren mit ihren zwei Hot-Spots auf dem Heatspreader einfacher, als dies bei einer annähernd gleichschnellen Single-Core-CPU der Fall wäre.