Acht Kerne, 64 Threads, Verschlüsselung und I/O erstmals integriert. Suns neuer Ultrasparc-Prozessor "T2", auch bekannt als "Niagara 2", sorgt für Furore. Sun bietet nicht nur nahezu alle für einen Server wichtigen Funktionen samt acht Kernen auf einem Chip an, sondern protzt auch mit Benchmark-Werten und besonders niedriger Leistungsaufnahme. Die Architektur selbst ist dabei nicht ganz so spektakulär, die Verbindung der einzelnen Komponenten aber umso beeindruckender.
Mit dem am 7. August 2007 offiziell vorgestellten Ultrasparc T2 will Sun nicht nur eigene Server ausstatten - wie Sun-CEO Jonathan Schwartz in seinem Blog ankündigte(öffnet im neuen Fenster) , sieht das Unternehmen Rechenleistung inzwischen als Alltagsware an. Diese "Commodity" in Form von Prozessoren will Sun künftig auch anderen Rechnerherstellern anbieten. Womöglich schielt Schwartz hier auf Supercomputer, wo RISC-Prozessoren in den letzten Jahren durch immer leistungsfähigere x86-CPUs und Intels Itanium stark an Marktanteilen verloren haben.
Der T2 ist also nicht nur ein Baustein für Suns eigene Strategie, die durch die intensive Zusammenarbeit mit Intel - inklusive Xeons in Sun-Rechnern - zuletzt als etwas aufgeweicht galt. Mit Macht will Sun zurück ins Prozessorgeschäft, konzentriert sich dabei aber auf seinen klassischen Platz bei Servern und Workstations. Am T2 hängt dabei alles, und da eigene Prozessor-Architekturen bei der heutigen Komplexität nicht in ein paar Monaten zu entwickeln sind, hat Sun an den Kernen selbst gegenüber dem Vorgänger Ultrasparc T1 nur moderate Änderungen vorgenommen.
Jeder der acht T2-Kerne arbeitet zweifach multiskalar, kann also zwei Befehle in einem Takt abarbeiten, anders als der T1, der nicht multiskalar arbeitet. Zudem lassen sich auf einem Kern 8 Threads parallel verwalten, so dass Sun werbewirksamen auf "64 Threads pro CPU-Sockel" kommt. Ein derart massiver Einsatz von Threads bedingt jedoch hoch optimierte Software, was im Server-Bereich jedoch weit verbreiteter ist als bei PC-Anwendungen. Wie bereits Microsoft bekannte, hat selbst das aktuelle Windows Vista Probleme, mehr als vier Kerne und damit Threads eines Prozessors auszulasten.
Eine weitere Neuerung gegenüber dem T1 ist die Gleitkommaeinheit (FPU) mit doppelter Genauigkeit, die jeder der acht Kerne des T2 mitbringt. Damit empfiehlt sich Suns neuer Prozessor nicht nur für rapide I/O-Aufgaben, sondern auch für technisch/wissenschaftliche Berechnungen. Die reine Brutto-Rechenleistung dieser FPUs in GFlops hat Sun jedoch noch nicht verraten, das ist bei CPUs - anders als bei eher spezialisierten Chips wie GPUs und FPGAS - auch nicht üblich.
Im Kern ist der T2 immer noch ein RISC-Prozessor - also sind auch seine Kerne namens "SPARC V9" selbst auf die effiziente Abarbeitung eines kleinen Befehlssatzes ausgelegt. Dafür ist die Pipeline für Integer-Befehle auch nur acht Stufen vom Holen der Instruktionen (Fetch) bis zum Zurückschreiben der Daten lang. Die T2-Kerne sind dabei auf Speicher-Bandbreite und große und schnelle Caches angewiesen, können sie doch in einem Takt vier Integer-Befehle per Fetch holen. Dem stehen nur eine Load/Store-Einheit, aber zwei Ausführungseinheiten für Integer-Befehle gegenüber.
Der übliche Thread-Scheduler ist pro Kern doppelt ausgeführt. Darin hat Sun eine Einheit namens "Pick" verbaut, die immer die beiden Instruktionen aussucht, die parallel in einem Takt ausgeführt werden können. Laut Sun können sich dabei die Threads ins Gehege kommen, wenn Pick für beide Ausführungseinheiten einen "Load"-Befehl aussucht - es gibt schließlich nur eine Load/Store-Einheit.
Weniger gründlich als den Integer-Teil des T2 hat Sun bisher die FPU dokumentiert. Als Kennzeichen ist nur eine Pipeline von zwölf Stufen bekannt, 50 Prozent länger als bei Integer, die fürs Teilen und Wurzelziehen notwendig sein soll. Noch dünner sind die Informationen zu einer Grafikeinheit, die ebenfalls in jedem T2-Kern steckt. Ob Sun damit nur einen erweiterten Befehlssatz meint, der als Prä-Prozessor für einen externen Grafik-Chip dient, lässt sich derzeit nur vermuten.
Konkret sind hingegen die Angaben zum Cache-Design - dank der kleinen Kerne von 12 Quadratmillimetern kann Sun jedem Rechenwerk zunächst L1-Caches von 16 KByte für Befehle und 8 KByte für Daten zur Verfügung stellen. Dazu kommt ein gemeinsamer L2-Cache für alle Kerne von 4 MByte, der 16fach assoziativ arbeitet. Das ist für einen Server-Prozessor nicht besonders viel, große Caches treiben aber den Energiebedarf nach oben. Damit sich die Kerne nicht zu sehr um den L2-Cache streiten müssen, hat ihn Sun in acht Bänke aufgeteilt, die zunächst jeder Kern primär selbst nutzen kann, dafür hat er eigene Tag-Speicher. Natürlich kann aber auch jeder Kern die L2-Bank eines anderen Kerns benutzen, also fast auf die vollen 4 MByte zugreifen. Damit das schnell klappt, sind die Kerne ringförmig über einen Crossbar angebunden, der in den Sun-Darstellungen als "CCX" bezeichnet wird. Dieses Design ist nicht ganz so effektiv wie beispielsweise Intels Shared-Cache der Core-Architektur , wo jede Cache-Line einzeln pro Kern genutzt werden kann, aber Intel hat dabei auch nur die Zugriffe von zwei Kernen für 4 MByte L2-Cache zu verwalten, bei Sun sind es viermal so viele Kerne. Insgesamt soll vom L2-Cache bis zum Kern selbst eine Bandbreite von 270 GByte pro Sekunde zur Verfügung stehen.
Echte Hardware-Verschlüsselung auf jedem Kern
Ein Novum für Server-Prozessoren ist die Verschlüsselungseinheit "Security Processing Unit" (SPU), die Sun jedem Kern spendiert hat. Dafür musste Sun ein kleines Stück Analog-Elektronik in die Prozessor-Kerne einbauen, um echte Zufallszahlen zu erzeugen. Zunächst füttert das Rauschen eines Widerstands einen spannungsgesteuerten Oszillator, der damit bereits reichlich zufällig schwingt. Dahinter sitzen drei so genannte Entropie-Zellen, welche auf die Spitzenwerte des Oszillators anspringen und über diese Impulse - damit sind die Signale außerdem wieder digital - ein Schieberegister ( LFSR(öffnet im neuen Fenster) ) stückweise anstoßen.
Dieses Register liefert dann schließlich 64-bittige Zufallszahlen, die als Schlüssel dienen können. Laut Angaben von Sun ist die "Zufälligkeit" sogar für den US-Geheimdienst "NSA" ausreichend. Gegenüber anderen On-Chip-Lösungen soll die Verschlüsselungsfunktion des T2 zehnmal schneller arbeiten, konkrete Messwerte auf Basis von Standard-Algorithmen legte Sun noch nicht vor. Das Unternehmen spricht jedoch unter anderem von DES, AES, MD5 und RSA2048, die mit den SPUs berechnet werden können. Auch simple CRC32-Prüfungen können die Einheiten übernehmen.
Nicht nur bei beispielsweise finanztechnischen Anwendungen kann eine Verschlüsslung in der CPU hilfreich sein. Auch sein früher klassisches Feld der Webserver hat Sun mit den SPUs im Auge, setzen doch immer mehr Webanwendungen wie der kleinste Online-Shop auf eine sichere Verbindung zum Anwender. Da die SPU zudem in jedem T2-Rechner steckt, kann sie auch einheitlich über das Betriebssystem - Sun sieht hier natürlich am liebsten Solaris - und auch Standardanwendungen genutzt werden.
PCI-Express, Speichercontroller und Ethernet on Chip
Dass Sun den T2 als "Server-on-a-Chip" bezeichnet, liegt vor allem an seinen umfangreichen I/O-Funktionen. Acht Lanes für PCI-Express, zwei Ports für 10-Gigabit-Ethernet und vier Speicher-Controller für FB-DIMMs stehen zur Verfügung. Möglich wird das durch eine universelle Architektur für die Serializer/Deserializer (SerDes), die alle diese Funktionen steuert. Denkbar ist hier, dass Sun in der Zukunft sein SerDes-Interface auch für Chip-to-Chip-Verbindungen einsetzt, wie das beispielsweise AMD per HyperTransport schon für seine Opterons macht.
Bisher setzt Sun mit seinem I/O auf dem Prozessor primär auf viel Speicher und das Netz. So entschied man sich auch für FB-DIMMs, obwohl diese deutlich mehr Energie als DDR- oder DDR2-Speicher benötigen: Sie kommen aber mit der Hälfte der Pins aus, was das Mainboard-Layout vereinfacht und das Prozessorgehäuse klein hält. Auch mit dieser Lösung hat ein T2 schon eine Kantenlänge von 45 Millimetern, an der Unterseite sitzen 1.831 BGA-Kontakte, von denen 711 nur für Ein- und Ausgabe dienen.
Die acht Lanes für PCI-Express lassen sich flexibel aufteilen, etwa für Massenspeicher-Anschlüsse. Insgesamt kommt der T2 damit auf 50 GBit/s für PCI-Express, bei den Speicherkanälen sind es gut 920 Gigabit pro Sekunde, auch wenn alle 64 möglichen Module eingesetzt werden.
Besondere Beachtung verdienen die beiden 10-Gigabit-Ports für Ethernet. Sie dienen nicht nur für den Einsatz als Webserver, sondern auch zum einfachen Verbinden von mehreren T2-Rechnern in Blade-Rechnern. Jeder der genutzten Ports benötigt aber noch den analogen Teil, das "PHY", das bei 10-GBit-Ethernet recht stromhungrig sein kann. Bei einer gesamten Bandbreite von 50 GBit/s bis zum PHY aus einer CPU per Ethernet, die zudem die bessere Protokollverarbeitung (off-loading) direkt übernehmen kann, werden wohl viele Server-Hersteller darauf einsteigen.
Die integrierten Ethernet-Anschlüsse des T2 empfehlen den Prozessor auch für Clustering oder Render-Farmen - auch das ein Beleg für Suns Willen, dort verlorene Marktanteile zurückzuerobern.
Fertigung, Performance und Leistungsaufnahme
Nachdem der T2 erst in der zweiten Hälfte des Jahres 2007 verkauft werden soll, hat Sun noch keine konkreten Modelle oder deren Preise benannt. Fest steht jedoch, dass es Versionen von 900 MHz bis 1,4 GHz geben soll. Auch die Zahlen zur maximalen Leistungsaufnahme schwanken in Suns Veröffentlichungen, was vermutlich auch an der jeweiligen Auslastung der I/O-Funktionen liegen mag. Zwischen 60 und 123 Watt sollen die verschiedenen Modelle des T2 unter Last laut Datenblatt benötigen, andere Sun-Präsentationen sprechen von 94 Watt typischer Leistungsaufnahme. Welche Zahl nun auch unter welchen Bedingungen korrekt ist: Der T2 passt selbst bei über 120 Watt in gängige Kühlsysteme.
Acht Kerne mit 64 Threads bei diesem Energie-Budget gibt es zudem sonst noch nicht. Möglich wird das unter anderem durch eine 65 Nanometer schmale Strukturbreite. Auf diese Art und Weise soll Texas Instruments den Prozessor für Sun herstellen. Ein vollständiger T2 mit acht Kernen, 4 MByte L2-Cache und kompletter I/O-Bestückung ist 342 Quadratmillimeter groß, dabei fallen nur 96 Quadratmillimeter auf die Kerne, der Rest ist Cache und I/O. Um Strom zu sparen, taktet Sun den T2 sehr asynchron, für den I/O-Block reichen teilweise schon 350 MHz, auch wenn die SPARC-Kerne mit 1,4 GHz laufen.
Trotz aller technischen Raffinesse und selbst bei vergleichsweise geringem Stromverbrauch: Entscheidend ist die Rechenleistung eines Prozessors. Hier gibt Sun mit eigenen Messungen die Rekordwerte für die Benchmark-Suite SPEC2006 mit den Werten SPECint_rate2006 von 78,3 und SPECfp_rate2006 von 62,3 für einen Prozessor-Sockel an. Die in der nebenstehenden Grafik eingezeichneten Vergleichswerte stammen aus der offiziellen SPEC-Datenbank(öffnet im neuen Fenster) - der Ultrasparc T2 lässt also von Power 6 über Xeon und Opteron alles hinter sich. Das gilt jedoch vorerst nur für den im Source vorliegenden SPEC, der mit guten Compilern jedes Quäntchen Leistung aus einer CPU drangsalieren kann. Die SPEC spricht zudem fein auf viele Kerne und hohe Speicherbandbreite an, ist aber einer der wenigen Benchmarks, der auf völlig verschiedenen Architekturen läuft - im Endeffekt wird in Suns Grafik ein RISC-Prozessor mit anderen RISC-CPUs und x86-Plattformen verglichen.
Dennoch sind die Ergebnisse eindrucksvoll. Wie jede neue Hardware steht und fällt der Erfolg mit der Software - Sun dürfte sich weiterhin vor allem auf Solaris konzentrieren. Doch auch Linux läuft wie eh und je auf SPARC-Prozessoren. Wenn die Entwickler im Zeichen des Pinguins auch die neuen Sonderfunktionen wie die FPU, SPU und die I/O-Blöcke schnell unterstützen, kann mit dem T2 Sun die Rückkehr als voll konkurrenzfähiger Prozessor-Entwickler durchaus gelingen. Sun meint es jedenfalls ernst: War der T2 noch unter dem Codenamen "Niagara 2" entwickelt worden, soll schon 2008 der Nachfolger "Victoria Falls" erscheinen, der gleichviele Kerne und Threads bringt - aber für Zwei-Sockel-Systeme ausgelegt ist.