c't 21/2016
S. 20
Prozessorgeflüster
Atom-Kerne

Prozessorgeflüster

Von Apollo, Gemini und Mercury

Das Geflüster ist diesmal rein atomar, handelt von existierenden, kommenden und vielleicht kommenden Atom-Kernen. Dazu gehört auch der Xeon Phi Knights Landing, der sich unter anderem in der Moleküldynamik mit Millionen Atomen abquälen muss.

Leider setzt Intel bei den neuen Atom-Chips Apollo Lake mit Goldmont-Kernen die inzwischen offenbar üblich gewordene Unsitte fort, neue Prozessoren zunächst ohne weitergehende Dokumentation herauszubringen. Der Launch des Apollo Lake beispielsweise als Celeron N3450 fand zwar offiziell zur IFA Anfang September statt, aber bislang erfuhr man von dessen Innenleben nur ein paar Rosinen, etwa, dass er bis zu vier Kerne haben und DDR4-2400 unterstützen wird und er vom Skylake die Grafikeinheit geerbt hat (HD 500 für Celeron, HD 505 für Pentium). Auf tiefergehende Einzelheiten zu den goldigen Kernen des Prozessors muss man noch warten.

Das war früher beim Silvermont noch anders. Damals gab es vorab ein informatives Event in Santa Clara und nicht erst ein paar Monate später. Doch das war im Mai 2013, noch kurz vor dem Dienstantritt des jetzigen CEO Brian Krzanich, der das offenbar lieber anders handhabt. Okay, die Silvermont-Architektur war im Unterschied zu dem vielleicht weniger aufregenden Goldmont ein wirkliches Highlight. Silber ist eben zuweilen mehr wert als Gold.

Silvermont brachte jedenfalls gegenüber den Vorgängern erhebliche Verbesserungen, unter anderem eine kürzere Pipeline (von 16 auf 14 Stufen), einen Loop-Stream-Buffer, Out-of-Order-Technik und vieles mehr.

Auch einen Monat nach dem Stapellauf von Apollo Lake weiß man von seinen Goldmont-Kernen noch nicht gerade viel. Bild Intel

Silvermonts Out-of-Order-Fähigkeiten waren allerdings noch arg eingeschränkt – das erfuhr man zwar nicht auf dem Event, sondern fand es als kleinen Hinweis in den GCC-Sourcen für das Silvermont-Scheduling. Dort hieß es, dass es Out-of-Order nur für Integer-, nicht aber für Gleitkomma- und Speicherbefehle gäbe. Der dänische Chip-Experte Agner Fog kam nach filigranen Messungen zu etwas differenzierteren Ergebnissen, die er in seinem Standardwerk „The microarchitecture of Intel, AMD and VIA CPUs“ beschreibt. Danach funktioniert Out-of-Order (OoO) beim Silvermont zwar nur in einem arg kleinen Fenster von acht Befehlen pro Pipeline, aber auch bei Gleitkomma – allerdings nur dann, wenn die Befehle nicht über denselben Port in derselben Pipeline laufen. Verteilen sich die Befehle hingegen auf die beiden FPU-Pipelines, kann der Prozessor ihre Reihenfolge durchaus umsortieren. Speicheroperationen, so Fog weiter, können im Rahmen von sechs Einträgen in der Reservation Station Out-of-Order erfolgen.

Tick-Tock-Tock-Tock

Die auf Silvermont folgende, auf 14-nm-Strukturen verkleinerte Kernarchitektur namens Airmont in den Cherry-Trail- und Braswell-SoCs brachte dann vor allem eine Verbesserung der OoO-Fähigkeiten: Der Reorder-Buffer (ROB) wurde auf 48 Einträge vergrößert, mit 12 Einträgen pro Reservation Station. Wie das jetzt bei Apollo Lake aussieht, steht noch in den Sternen.

Apropos Sterne: Der Nachfolger von Apollo Lake soll lustigerweise Gemini Lake heißen – hier gehts also mit der Zeit rückwärts. Demnach müsste der darauf folgende Atom auf „Mercury Lake“ hören. Das dürfte dann der erste in 10-nm-Technik sein, denn der Gemini Lake bleibt auch als dritter Atom-Kern bei 14 nm, wenn auch gefertigt im deutlich verbesserten 14+-nm-Prozess. Einer vor Kurzem durchgesickerten Roadmap zufolge soll er damit im vierten Quartal 2017 debütieren.

Fast fehlerlos?

Moleküldynamik auf Sandy Bridge EP oder KNL 7230 mit OpenMP oder Open MPI mit/ohne Hyper-Threading Grafik: NCI, Canberra

Feinheiten der Atom-Architektur wie Out-of Order sind auch für den Xeon Phi Knights Landing (KNL) von großer Bedeutung, stammen doch seine bis zu 72 Kerne vom Silvermont beziehungsweise Airmont ab. Für HPC wurde er jedoch kräftig aufgehübscht, unter anderem mit vierfachem Hyper-Threading – was aber durchaus nicht immer optimal ist, wie weiter unten noch gezeigt wird. Um die beiden AVX512-Vektor-Einheiten pro Kern besser versorgen zu können, hat Intel die Zahl der Einträge in den Reservation Stations an den beiden Gleitkomma-Pipelines auf je 20 erhöht und spricht nun explizit von vollem OoO für Integer und Gleitkomma.

Doch auch zu dem im Juni zur ISC16 offiziell vom Stapel gelaufenen Xeon Phi tröpfeln die Dokumentationen nur spärlich ein. Das Specification Update hat gerade mal vier Fehler aufgelistet. Kann das überhaupt sein? Oben erwähnter Braswell zum Beispiel hat derer 45 und ein Skylake kommt aktuell auf noch glaubwürdigere 111.

Inzwischen gibt es von der Xeon-Phi-x200-Familie ein noch mit „Intel confidental“ verziertes Datenblatt, allerdings nur das Volume 1 mit der Beschreibung aller 3647 Signale (von denen sind noch 410 reserviert). Vom Volume 2 mit der Registerbeschreibung ist indes weit und breit nichts zu sehen. Naja, die Prozessoren selbst sind zumindest in freier Wildbahn auch noch nicht allzu oft anzutreffen.

Die großen Rechenzentren in aller Welt sind froh, wenn sie ihren Anwendern wenigstens eine Handvoll KNL-Prozessoren zum Experimentieren offerieren können. Im Test- und Development-System des HLRN in Berlin beispielsweise stehen inzwischen immerhin schon 80 Knoten mit dem 68-Kerner 7250 zur Verfügung. Die Betreiber NCI des australischen Petaflops-Systems Raijin in Canberra bieten ihren Usern zwar nur 32 Xeon-Phi-7230-Prozessoren an, dafür findet man hier diverse selbst gemessene Benchmark-Ergebnisse im Vergleich zu den dortigen normalen Xeon-Knoten. Die beruhen auf zwei betagten Sandy-Bridge-EP-Prozessoren mit 8 Kernen und 2,6 GHz Takt. Bei der Moleküldynamiksoftware NAMD 2.11 mit einer Million Atomen ist der Xeon Phi mit eingeschaltetem Hyper-Threading gerade mal um 36 Prozent fixer als die Oldtimer. Bei Quantum Espresso (5.4.0, nur PWSCF) steigt der Vorsprung auf 48 Prozent – aber nur, wenn man das Hyper-Threading des Xeon Phi abschaltet, ansonsten bricht die Performance drastisch ein. Der Code ist sicherlich noch nicht filigran für Xeon Phi optimiert, aber dennoch, so überzeugend ist das nicht, wenn man bedenkt, dass ein Xeon Phi 7230 mit 3710 US-Dollar in der Liste steht, zwei 8-Kern-Haswell-Prozessoren E5-2630 aber nur auf 1340 US-Dollar kommen.

Weit besser sieht das schon bei VASP 5.4.1 (Vienna Ab Initio Simulation Package) aus, wo ein Xeon Phi einem Cluster von vier Sandy-Bridge-Knoten mit insgesamt ebenfalls 64 Kernen gleichwertig ist – aber auch nur bei abgeschaltetem Hyper-Threading. Von Nvidia gibt es allerhand VASP-Ergebnisse, doch für einen 1:1-Vergleich müsste man Version, Zell-Größe, verwendeten Algorithmus und so weiter erst einmal genau abstimmen, um hier nicht Äpfel mit Birnen zu vergleichen. Genau Nämliches wirft Nvidia übrigens Intel mit lautem Gerassel vor, unfaire Vergleiche zwischen Xeon Phi KNL und Nvidia- GPUs. Wir hatten schon beim Launch im Juni gebrandmarkt, dass sich Intel bei den Deep-Learning-Benchmarks nicht arg viel Mühe gegeben hat, die zu dem Zeitpunkt besten Nvidia-Vergleichswerte mit aktueller Software heranzuziehen. Das war vermutlich nicht mal böser Wille, sondern lag schlicht daran, dass sich der KNL so massiv verspätet hatte. Mal sehen, ob das jetzt besser wird: Im September/Oktober sollen laut Plan der Xeon Phi 7290 mit allen 72 Kernen und im November die ersten Xeon-Phi-Prozessoren mit integriertem Omni-Path-Interconnect herauskommen. (as@ct.de)