Launches und Lunches

„Free Lunch is over“ - zu Deutsch etwa: Gratisgeschenke gibts nicht mehr, so begrüßte Microsoft-Entwickler Herb Sutter die Teilnehmer des Fall Processor Forums: Mit den Multicore-Prozessoren sei jetzt die Ruhephase der Softwareentwickler vorbei! Und solch ruhestörende Multicore-Prozessoren gab es auf dem Forum zuhauf - auch wenn Intel gar nicht teilnahm.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 17 Min.
Von
  • Andreas Stiller
Inhaltsverzeichnis

An neuem Ort im DoubleTree-Hotel am Flughafen von San José und in etwas geschmolzener Anzahl mit vielleicht 150 bis 200 Teilnehmern versammelte sich die Prozessorgemeinde zu ihrem traditionellen Herbsttreffen mitten im Herzen des Silicon Valley. Es hatte sich aber nicht nur der Ort geändert, auch einige liebgewordene Vertraute suchte man diesmal auf dem Podium vergeblich: kein Nick Tredennick vergab (wie fast 20 Jahre Brauch) die „Awards“ für herausragende Produkte, Dienste und Veröffentlichungen des abgelaufenen Jahres, kein Glenn Henry (Chef der VIA-Prozessorschmiede Centaur) stellte bahnbrechende neue ISA-Erweiterungen für seine neuesten Prozessoren vor, kein Dave Ditzel (Mitgründer von Transmeta) demonstrierte weit effizientere Chips, als sie die große x86-Konkurrenz zu Wege bringt.

Immerhin war Ditzel zeitweise als Teilnehmer zugegen - kein Wunder, liegt doch das Veranstaltungs-Hotel nur ein paar Steinwürfe entfernt von Transmetas Hauptquartier am 3990 Freedom Circle. Im fruchtbaren Gebiet des Freedom Circle - direkt neben Intels Headquarters - zirkeln zudem noch zahlreiche „geheime“ Startups, von denen einige mit neuen Prozessoren irgendwann den Durchbruch schaffen wollen. Dazu gehört Montalvo Systems (Hausnummer 3960), eine hochgeheime Firma, die dem Vernehmen nach an einem 64-bittigen x86-kompatiblen Mobil-Prozessor werkelt. Sie hat vor einiger Zeit MemoryLogix übernommen, die vor vier Jahren auf dem Microprocessor Forum mit einem geplanten winzigen Embedded-x86-Design Aufmerksamkeit erregte, dann aber in der Versenkung verschwand. Bei Montalvo arbeitet auch Greg Favor mit, einer der Väter des NexGen/AMD-K6-Prozessors. Nur ein Haus daneben werkeln in Block 3995 innerhalb einer etwa 150-köpfigen Mannschaft weitere bekannte Prozessorschöpfer der Szene, unter der Leitung des Ex-DEC-Entwicklers Dan Dobberpuhl, der am Alpha-Design mitwirkte und für den StrongArm sowie später für SiBytes MIPS64 verantwortlich zeichnet. P.A. SEMI heißt das zwei Jahre alte Startup, das jetzt auf dem Microprocessor Forum sein großes Coming Out hatte.

Intel hat sich mit Verweis aufs hauseigene IDF vom Podium des Forums schon vor ein paar Jahren zurückgezogen, gleichwohl zeigten sich jede Menge bekannte Intel-Gesichter unter den Teilnehmern, was wohl auch daran lag, dass Intel zur selben Zeit im selben Hotel Trainings-Seminare abhielt. So konnten sie ihrem langjährigen Serverchef Mike Fister als Eröffnungsredner begegnen, der jetzt als CEO der EDA-Firma Cadence vorsteht. Er widmete sich in seiner Keynote vorrangig der Chipqualität. Fister führte aus, dass die zunehmende Komplexität der Hardware eine immer aufwendigere Verifikation des Designs erfordert. Die Versagensquote der ersten Version eines neuen CMOS-Logikbausteines sei inzwischen auf über 70 Prozent angestiegen. Das Bestreben nach möglichst wenig Stromverbrauch macht zudem das Timing immer kritischer.

Bei der heutigen Komplexität und bei Entwicklerteams von oft über 200 Personen lassen sich kritische Probleme nicht mehr komplett lösen - oft müssen durch Iteration Annäherungslösungen gefunden werden, wobei Software mithelfen kann. Angesichts der Vielzahl von Variablen sind für die Berechnung allerdings große Supercomputer erforderlich, nein, kein Itanium - Intels Ex-Serverchef erwähnte allein IBM-Supercomputer und zeigte auf seinen Folien ansonsten nur Rechner des Intel-Erzgegners Sun.

Dieser logiert ziemlich exakt eine Meile weg von Intel im Network Circle in Santa Clara. Sun war wie Intel diesmal nicht mit einer Präsentation vertreten. Doch Chefentwickler Marc Trembley lauschte aufmerksam den Worten des SPARC-Kollegen Takuri Maruyama von Fujitsu - und ging hernach recht aufgeregt zum Telefonieren nach draußen ... Wie Fujitsu-Mitarbeiter später beim Lunch bestätigten, waren Sun etliche Details der neuen SPARC64-VI-Chips noch unbekannt.

Mit dem SPARC64 VI (Codename Olympus) will Fujitsu in den Multicore-Wettbewerb einsteigen. Mitte nächsten Jahres soll er mit 2,4 GHz herauskommen, gerade rechtzeitig, um den Kampf mit dem verspäteten Intel Montecito aufnehmen zu können. Wie jener besitzt er zwei Kerne, die mit einem grobkörnigen Multithreading-Konzept bei bestimmten Events auf einen anderen Thread umschalten - so einer da ist. Bei Intel heißt das Konzept „Switch On Event Multithreading“ (SoEMT), bei Fujitsu „Vertical Multithreading“ VMT. Nur zwei Prozent mehr an Gattern soll VMT erfordern, aber bis zu 20 Prozent Performance herausholen. Gibt es nicht mehr Threads als Cores vorhanden sind, so schaltet sich VMT automatisch ab.

Jeder der beiden Kerne entspricht im Wesentlichen dem 64bittigen SPARC64 V. Verbesserungen gibt es in der FPU: beschleunigtes Multiply-Add, mehr Renaming Register und Buffer und derartiges mehr. Insgesamt ist er in der Single-Thread-Performance doppelt so schnell wie der Vorgänger bei geruhsamen 1,35 GHz - den alten Kern gibt es inzwischen bereits mit 1,89 GHz und 2,16 GHz. Das ergibt hochgerechnet für einen SPARC64-VI-Core etwa 1500 SPECint2000base (est) und 2200 SPECfp2000base (est).

Mit 6 MByte L2-Cache kommt der in 90 nm hergestellte Chip mit seinen 540 Millionen Transistoren auf 420 mm2 Größe. Als Energieverbrauch gibt Fujitsu 120 Watt an.

Für Ende 2007 ist dann der in 65 nm hergestellte SPARC64 VI+ mit vier Kernen vorgesehen. Er soll mit 460 mm2 nur unwesentlich größer als die Dual-Core-Version VI sein und mit über 2,7 GHz laufen.

Echte Multicore-Designs wären für den Embedded Bereich insbesondere zum Einbau in ein SoC (System-on-a-Chip) zu teuer, führte der Vertreter von Broadcom aus. Ein geschickter Kompromiss zwischen getrennten Cores und Simultaneous Multithreading (SMT), bei dem sich die logischen Kerne Caches und Ausführungseinheiten teilen, könne immerhin bis zu 70 Prozent Performancegewinn gegenüber einem Einzelkern einspielen. Broadcom stellte eine solche Zwischenstufe unter dem Namen Concurrent Multi-Threading (CMT) vor, bei der die logischen Kerne eigene Register-Stapel und Funktionseinheiten besitzen, sich aber alle Caches und die übrigen Ressourcen teilen. Die Kerne beruhen hierbei auf MIPS32, der L2-Cache ist als so genannter Read-Ahead-Cache (RAC) mit speziellen Prefetch-Mechanismen ausgeführt. CMT ist in Dhrystone mit 810 MIPS bei 300 MHz etwa so schnell wie ein Kern allein bei 500 MHz.

Premium Sponsor IBM dominierte das Forum und brachte gleich vier Referenten zum Thema Multicore auf die Bühne, wiewohl der Power5+ und sein Nachfolger Power6 nicht einmal zur Sprache kamen. Ein Apple-Vertreter wurde nicht gesichtet - es hätte ihm wohl ein wenig das Herz geblutet, als IBM den Dual-PowerPC 970MP detailliert vorstellte. Immerhin - Apple kann ja jetzt noch ein gutes Jahr lang damit bestückte G5-Systeme verkaufen, bevor man dann auf Intel-Chips wechselt.

IBM-Ingenieur Norman Rohrer ging insbesondere auf das ausgefuchste Powermanagement des Chips ein. Als Erster in der Multicore-Riege besitzt beim 970MP jeder Kern seine eigene Versorgungsspannung zwischen 1,0 und 1,3 Volt. Dafür hat auch jeder seinen eigenen Dös-Modus (Doze). Die tieferen Ruhezustände (Nap und Deep Nap) erreichen die Kerne aber nur gemeinsam, wenn keiner der beiden was zu tun hat. Konkurrenzlos ist auch der Bereich, in dem der Chip seinen Takt von derzeit 2,5 GHz herunterregeln kann: auf 1/2 und 1/4 und im Deep Nap gar auf 1/64.

Die L2-Caches sind mit jeweils 1 MByte doppelt so groß wie beim Single Core PPC970. Anders als beim Power5 teilen sich die beiden Cores den L2-Cache nicht, was laut Rohrer den Vorteil hat, dass man einen kompletten Core samt L2-Cache zum Stromsparen abschalten kann. Im Vollbetrieb beider Kerne liegt der Energieverbrauch bei „ordentlichen“ 100 Watt, aber wenn weniger zu tun ist und gar ein Kern allein ausreicht (zwölf Prozent der Maximalperformance) sinkt sein Energiehunger bis auf 9 Watt herab. Im Deep Nap bei 1/64 Takt begnügen sich beide Kerne mit 5 Watt und wenn man einen ganz abschaltet, begnügt sich der Chip mit 3 Watt.

Als Performance gibt IBM im Vollbetrieb für 2,5 GHz 1428 SPECint2000 und 2076 SPECfp2000 an, respektive 32,3 SPECintrate und 42,8 SPECfprate.

Während IBM beim PPC970MP sehr ausführlich auf die Energieaufnahme einging, hüllte sich der Vortragende zum Xbox-360-Prozessor, Jeffrey Brown, zu diesem Punkt in tiefes Schweigen. Man ist hier also weiterhin auf Spekulationen angewiesen, die bis zu 80 Watt hinaufreichen. Aber Brown gab einen ausführlichen Überblick über die Mikroarchitektur und den Prozessorbus des jetzt in Produktion gegangenen Chips. Die drei Kerne teilen sich einen gemeinsamen L2-Cache von 1 MByte und verfügen über eigene L1-Caches (je 32 KByte für Daten und Instruktionen). Mit zehn Stufen ist die Basis-Pipeline wie jene vom Cell-Prozessor deutlich kürzer als die 16-stufige Pipeline des PPC970 (G5). Es werden zwar bis zu vier Instruktionen pro Takt und Core eingelesen, aber maximal zwei Befehle pro Takt und diese auch nur „in order“ verteilt. Das ist eine vergleichsweise schlappe Skalarität, der PPC970 kann beispielsweise bis zu fünf Befehle pro Takt out of order an seine Einheiten verteilen.

Die XCPU beherrscht Simultaneous Multithreading, kann also zwei Threads pro Core gleichzeitig verarbeiten. Die ALU weist eine Latenzzeit von zwei Takten auf, über den Durchsatz hat IBM noch nichts bekannt gegeben. Die VMX-Vektoreinheit wurde gegenüber dem AltiVec des G5 erheblich erweitert. Sie ist 128-bittig angebunden, besitzt jetzt 128 Vektorregister, kennt viele neue Befehle (Skalarprodukt, Direct3D-Pack und -Unpack, misalignte Speicherbefehle und vieles mehr). Der Bus arbeitet mit vier achtbittigen Kanälen (zwei pro Richtung) mit je 5,4 GByte/s. Der in IBMs 90-nm-SOI-Prozess CMOS 10KE hergestellte Chip besitzt 165 Millionen Transistoren und ist 168 mm2 groß.

Auf der anderen Bus-Seite wartet der Grafik-Chip von ATI, dessen Bus-Interface auch von IBM stammt. Über den ATI-Chip ist übrigens auch der Hauptspeicher angekoppelt.

Von der Cell-Hardware erfuhr man wenig Neues, hier stand vielmehr die Programmierung der insgesamt neun Kerne eines Cell-Chips im Vordergrund. Die einzelnen synergistischen Processor Elemente (SPEs) mit ihren vergleichsweise kleinen lokalen Speichern von je 256 KByte können zwar mit den traditionellen Programmmodellen (unter anderm mit openMP) betrieben werden, erfordern aber für effizienten Betrieb speziell an Cell angepasste Software, um sowohl die Datenparallelität per SIMD als auch die Task-Parallelität ausnutzen zu können.

Mit P.A. SEMI tritt nun eine neue Firma in den PowerPC-Kreis ein - neben Freescale, Applied Micro Circuits, Sony, Toshiba und Microsoft. Ihr sehr ehrgeiziges 64-bittiges Multi-Core-PPC-Design namens PWRficient mit traumhaft niedrigen Energiewerten zielt auf Systems-on-a-Chip. Ein skalierbarer integrierter Crossbar „Conexium“ soll bis zu acht Kerne, zwei L2-Caches und vier DDR2-Speichercontroller ansteuern können. Die PA6T genannten Kerne besitzen nur L1-Caches und greifen über Conexium auf den oder die gemeinsamen L2-Caches zu.

Hinzu kommt ein I/O-System „Envoi“, das achtfach PCIexpress, zweifach 10GbE XAUI, vierfach GbE SGMII, SATA/SAS und RapidIO unterstützt, dazu SMBus, UART und Boot-Bus. Und nicht nur das, Offload Engines sollen auch an Bord, die sich um TCP/IP, iSCSI, Kryptographie und Raid kümmern.

Um das alles unterzubringen, ist ein Herstellungsprozess in 65 nm nötig - die Foundry wollte P.A. Semi aber noch nicht verraten. Zunächst ist ein Dual-Core-Chip mit einem Memory-Controller mit 2 GHz Takt geplant, der nur 7 Watt pro Kern verbraucht. Die gesamte Plattform PWRficient 1682 soll sich auf maximal 25 (typisch 13) Watt beschränken, im Nap-Mode nur noch 2 (typisch 1) Watt. Seine Performance schätzt P.A. Semi pro Core auf mehr als 1000 SPECint und gar über 2000 SPECfp. Er wäre somit bei Integer etwas, bei Gleitkomma doch erheblich effizienter als IBMs PowerPC970, der im BladeCenter JS20 bei 2,2 GHz auf 1241 SPECfp2000 kommt.

Bereits in der zweiten Jahreshälfte 2006 will P.A. Semi mit Hardware aufwarten können, bislang läuft das Design aber lediglich im Eve-Emulator. Leidgeprüfte Ingenieure aller Prozessorfirmen wissen indes, dass der Weg vom Emulator bis zum lauffähigen Chip verdammt lang sein kann.

Freescale hat ein nicht ganz so ehrgeiziges Dual-Core-PowerPC-Design für SoC in 90-nm-Technik bereits fertig: den MPC8641D mit zwei e600-Kernen mit bis zu 1,67 GHz, mit DDR2-Memory-Controller, viermal GbE, PCI-Express, TCP-Offload-Engine, I2C, DUART, Timer, ... Auf dem Forum veranschaulichte Systemarchitekt Toby Foster, dass sich das Design nicht nur für SMP eignet, sondern auch für asymmetisches Multiprozessing. Foster versteht darunter nicht unterschiedlich aufgebaute, asymmetrische Hardware, sondern Cores, bei de-nen ein jeder sein eigenes Nicht-SMP-Betriebssystem fährt (etwa VxWorks, OSE, Integrity, Jaluna-1 oder andere).

Nur AMD - die Headquarters im „Weißen Haus“ an der One AMD Plaza in Sunnyvale liegen auch um die Ecke - hielt die x86-Fahne hoch und entsandte einen ihrer wichtigsten Entwickler, den AMD64-Chefarchitekten Kevin McGrath. Er erläuterte das Virtualisierungskonzept Pacifica, das es in zwei Schüben geben soll: Die einfache Version, die in etwa Intels Vanderpool entspricht, ist für die nächste Prozessorversion Anfang 2006 geplant. Diese wird daneben auch DDR2 und einen neuen 939-poligen Sockel M2 mitbringen.

Die aufwendigere Variante von Pacifica, die der Virtualisierungssoftware (Hypervisor) das Leben erheblich leichter macht, soll dann später im Jahr folgen. Sie bietet so genannte Nested Page Tables und zusätzliche Tags für den TLB, mit denen sich die für die Speicherverwaltung benötigten Seitentabellen bequem und sicher virtualisieren lassen. Außerdem wird es einen Paged Real Mode geben, um Bootvorgänge im Real- oder System Management Mode (SMM) in einem vom Hypervisor überwachten Speicherbereich ablaufen lassen zu können.

Zahlreiche weitere Chipfirmen wie ARM, Arc, StarCore, Tensilica sowie DSP-Marktführer Texas Instruments stellten Erweiterungen oder neue Architekturen vor, die sich vornehmlich um Video- und Audio-Verarbeitung kümmern. An dieser Stelle wird mal stellvertretend der einzige deutsche Beitrag herausgegriffen: Die hannoversche Firma Videantis, ein Spin-off des Instituts für Mikrosysteme an der dortigen Universität, hat einen skalierbaren Videoprozessor-Core für hochauflösende TV-Standards entwickelt. Der voll synthetisierbare Core für tragbare Lösungen soll mit Speicher in einem 2,6 Quadratmillimeter kleinen Chip Platz haben. In einem 130-nm-Prozess gefertigt kann er mit 200 MHz Takt für eine Basis-H.264-Dekodierung betrieben werden und verbraucht dabei nur 90 mW.

Aus dem Prozessorreigen fiel ansonsten noch die Firma Innovative Silicon ISI heraus, denn sie designt keine Prozessoren, sondern eingebetteten dynamischen Speicher namens Z-RAM. Z steht dabei für Zero Capacitor - einen zusätzlichen Kondensator benötigt das Z-RAM nämlich nicht, sondern es speichert die Bits direkt im isolierten Silizium - benötigt dazu also den SOI-Prozess. Z-RAM bietet auf diese Weise bis zu fünfmal höhere Speicherdichte als etwa SRAMs und rund zweimal mehr als e-DRAMs. Mit 3 ns Zykluszeit ist auch die Performance konkurrenzfähig. Funktionierende Testchips wurden bereits von neun verschiedenen Fabriken in 90 und 65 nm hergestellt.

Microsoft gibt nicht nur eigene Prozessoren in Auftrag, sondern sorgt sich auch um ihre bestmögliche Programmierung. Keynote-Redner Herb Sutter wusste, dass er vornehmlich Hardware-Leute vor sich hatte - und wiederholte einfach den im Frühjahr im DDJ veröffentlichten Vortrag: „Free Lunch is over“. Vorbei sei die Zeit, wo sich die Softwareentwickler im Schlaraffenland ausruhen könnten, wo Performance-Steigerungen automatisch mit höher getakteter Hardware wie gebratene Tauben herbeigeflogen kämen. Ein Wechsel zum parallelen Denken stünde an, ein Wechsel, der dramatischer sei als die Einführung der Objektorientierung. OpenMP sei ein erster Schritt - den übrigens auch der kommende C/C++-Compiler im Visual-Studio 2005 vollzieht - aber er sei bei weitem nicht ausreichend. Neue Paradigmen seien nötig - Sutter erwähnte hier sogar Sun, die an Fortress arbeitet, sowie Cw von Microsoft. Er selbst arbeitet an einem entsprechenden Programmierprojekt namens Concur mit aktiven Objekten und Nachrichten. Aufmerksamkeit erregte Sutter auch mit seiner Nebenbemerkung, dass für den Triple-Core in der Xbox360 anfangs noch so gut wie keinerlei wirklich parallele Spielesoftware verfügbar sei. Und für Single-Threads ist, wie oben beschrieben, die XCPU eine relativ lahme Krücke - da muss es wohl hauptsächlich der ATI -Grafikprozessor richten.

Unmittelbar auf den Microsoft-Redner stieß Neil Puthuff von Green Hills Software - Green Hills stellt Debug-Soft-und Hardware her - mit „Facing the Software Challenges of Multicore Designs“ ins gleiche Horn. Er toppte Sutters Kritik an verschlafene Programmierer noch mit seiner Äußerung: Die überwiegende Mehrheit der vorhandenen Software sei miserabel programmiert und voller Bugs.

SPEC2000 rate (peak) 2-way
Prozessor Takt SPECint_rate 2000 SPECfp_rate 2000
PPC970MP 2,5 GHz 32,3(est) 42,8(est)
Power5+ 1,9 GHz 39,6 67,6
Pentium D 3,2 GHz 32,6 32,5
Xeon Paxville 2,8 GHz 33,2 29,9
Opteron 180 2,4 GHz 37,5 34,4

(as)