Der direkte Zugriff auf Ethernet- und PCIe-Schnittstellen verringert wiederum die Latenzzeiten. Normalerweise werden beispielsweise 10-GBit/s-Schnittstellen in PCIe-Slots implementiert. Doch der Weg von der CPU zu dieser Schnittstelle weist dann viele Engstellen auf, die zu Performance-Einbußen führen.
Bei Messungen mit mehreren Threads zum Ansteuern eines 10-Gigabit-Ethernet-Interfaces des Ultra-Sparc-T2 wurden mehr 7 GBit/s Übertragungsrate bei Webservice-Applikationen gemessen. Ein Wert, den man mit einer externen Karte in einem PCIe-Steckplatz nur sehr schwer erreichen kann, weil hier die Latenzen der PCI-Peripherie die Performance beeinträchtigen.
Die Integration wurde von Sun noch weiter geführt. Auf dem Chip wurde jedem Core zusätzlich eine Kryptoeinheit spendiert. Mit ihr lassen sich Ethernet-Daten verschlüsseln, eine Arbeit, die mit Software nur schwer zu realisieren ist. Wer jemals 3DES–Algorithmen implementiert hat, wird das zu schätzen wissen.
Um eine solche Rechenkraft überhaupt ausnutzen zu können, wurden bei den Multi-Core-Prozessoren Mechanismen implementiert, die den Einsatz von Hypervisor-basierten Virtualisierungsschichten ermöglichen. Solche Techniken sind heute auch in Prozessoren von AMD und Intel enthalten.
Die bei Sun eingesetzten »ldoms« weisen eine Granularität von einem Thread auf, so dass bei einem Ultra-Sparc-T2-basierten System bis zu 64 logische Domains in einem Server möglich sind. Bei einem Ultra-Sparc-T2-Plus-Rechner, also der Multi-Prozessor-Version des Ultra-Sparc-T2, sind es bis zu 128 logische Domains.
Bei künftigen Entwicklungen wird es sicher darum gehen, die Latenzzeiten zwischen CPU und Hauptspeicher weiter zu verringern. Weitere Fortschritte wird es bei Funktionen geben, die man direkt in das Silizium »gießt«.
Im Bereich der Multi-Core-Desktop-Prozessoren ist davon auszugehen, dass Modelle mit integrierten Grafikprozessoren auf dem Markt erscheinen. Die Grafikprozessoren können dann gleichzeitig zur Beschleunigung von Gleitkomma-Operationen genutzt werden.
Die Integration von I/O auf den Prozessoren wird die Virtualisierung vereinfachen. Denkbar ist hier ein Virtualisierungs-I/O-Core, der direkt auf dem Chip »vorvirtualisierte« Devices den anderen Cores über eine Crossbar zur Verfügung stellt.
Bei der Kommunikation mit der Außenwelt wird es darum gehen, die Bandbreiten mit den externen Speicherbausteinen zu vergrößern und Signallaufzeiten zu minimieren. Der Übergang von Kupferkabeln zu Lichtwellenleitern in Servern ist hier ein Mittel, um die Signallaufzeiten etwas zu verkürzen.
Auch die Proximity-Communication wird für Multi-Core-Prozessoren interessant, weil Signale nicht mehr durch großflächige Treibertransistoren nach außen gegeben werden müssen. An ihre Stelle tritt die Chip-to-Chip-Kommunikation durch direkte Verbindung zwischen den Bausteinen.
Letztlich bleibt aber eines festzuhalten: Mit den parallelen Multi-Core-Prozessoren wird es auch ein Umdenken bei der Programmentwicklung geben müssen. Nur mit Multi-Threaded-Programmen lässt sich die Leistung von Multi-Core-Prozessoren ausnutzen. Programme wie etwa »Parallel bzip« sind ein Beispiel für solche Anwendungen.
Und es sollte klar sein, dass eine Textverarbeitung durch eine parallele Architektur nicht schneller wird. Diese Applikationen werden immer »Single Threaded« sein und von einem ganz speziellen »Performance-Faktor« bestimmt: der Geschwindigkeit, mit der ein User Tastatur und Maus bedient.
Zum Autor: Ingo Frobenius ist Produktmanager Enterprise Server bei Sun Microsystems.