Seminar Hochleistungsrechner: Aktuelle Trends und Entwicklungen Wintersemester 2016/2017 Verbindungsstrukturen

Moritz D¨otterl Technische Universit¨at Munchen¨ 1.2.2017

Zusammenfassung Systems nicht aktiv steigern. Sehr wohl k¨onnen sie aber die Systemleistung sehr stark negativ beein- In dieser Seminararbeit werden Verbindungsstruk- flussen und somit gute Prozessoren regelrecht aus- turen in Hochleistungsrechnern behandelt. Es wer- bremsen. Deshalb muss sichergestellt werden, dass den verschiedene Ebenen betrachtet, auf denen un- eine Verbindungsstruktur gut genug funktioniert. terschiedliche Systeme miteinander verbunden wer- Um nun Exascale Performance erreichen zu k¨onnen, den. Fur¨ die verschiedenen Ebenen werden aktuelle werden sehr viele leistungsstarke Prozessoren par- Systeme vorgestellt und verglichen. Der Leser soll allel ben¨otigt, die optimal miteinander verbunden so ein tieferes Verst¨andnis fur¨ aktuelle Verbindungs- sind. strukturen in Hochleistungsrechnern erhalten. In dieser Arbeit werden verschiedene Verbindungs- strukturen auf verschiedenen Ebenen vorgestellt. Zun¨achst werden mit HyperTransport und Quick- 1 Einleitung Path zwei aktuell genutzte CPU-CPU Verbindungs- strukturen betrachtet und verglichen. Im n¨achsten Der aktuell schnellste Hochleistungsrechner ist der Abschnitt wird eine neue Technologie von Sunway TaihuLight in China. Er hat eine theore- zur Anbindung von Grafikkarten untereinander und tische Spitzenleistung von 125 PetaFLOPS und ist zur CPU betrachtet: NVLink. Im letzten Teil der damit weit vor dem zweitschnellsten Hochleistungs- Arbeit wird EXTOLL, eine Verbindungsstruktur rechner, der eine theoretische Spitzenleistung von zwischen verschiedenen Knoten betrachtet. 55 PetaFLOPS erreicht (Stand 11.2016)[5]. In der Zukunft sollen solche Systeme noch leistungsf¨ahi- ger werden. Firmen versuchen die Ersten zu sein, 2 CPU-CPU Verbindung die es schaffen, ein System zu bauen, das die magi- sche ExaFLOPS Marke uberschreitet.¨ Solche Syste- In klassischen Hochleistungsrechnern werden fur¨ me werden als Exascalesysteme bezeichnet. Damit maximale Rechenleistung viele Prozessoren einge- solche Systeme m¨oglich werden, mussen¨ die aktuell setzt. So ist es keine Seltenheit, dass zwei oder mehr verwendeten Technologien weiterentwickelt werden. Prozessoren sich ein Mainboard teilen und direkt Dazu geh¨oren auch die Verbindungsstrukturen zwi- miteinander zusammenarbeiten. Im Folgenden wer- schen den Recheneinheiten. den zwei Technologien vorgestellt, die seit ein paar Diese tragen dabei nicht direkt zur Leistung eines Jahren benutzt werden, um mehrere Prozessoren Prozessors bei, so k¨onnen sie die Performance eines auf einem Mainboard miteinander zu verbinden.

1 2.1 HyperTransport durfen¨ [13]. Zus¨atzlich zu den Datenleitungen be- sitzt HyperTransport fur¨ jedes Byte, also pro acht Auf der offiziellen Webseite zu HyperTrans- Leitungen, eine eigene Taktleitung sowie, seit Ge- port heißt es ubersetzt,¨ HyperTransport sei eine neration 3.0, eine Leitung die angibt, ob es sich um hochmoderne, paketbasierte, skalierbare Punkt-zu- ein Kontrollsignal handelt oder nicht. Im Vergleich Punkt Verbindungsstruktur mit großer Bandbreite dazu gab es bei ¨alteren Versionen dafur¨ lediglich ei- und geringer Latenz [7]. Vorgestellt wurde Hyper- ne Leitung pro Link. Des Weiteren gibt es pro Link Transport ursprunglich¨ 2001 und seitdem bis 2008 eine Leitung, die angibt, ob die Stromversorgung zur Version 3.1 weiterentwickelt. Entworfen wur- und das Taktsignal stabil sind, sowie eine Resetlei- de es vom HyperTransport-Konsortium, einer non- tung. Profit Organisation, gegrundet¨ von vielen bekann- Bei -basierten Systemen gibt es zus¨atzlich die ten Firmen wie zum Beispiel AMD, Nvidia, Broad- M¨oglichkeit, einen Link abzuschalten w¨ahrend ei- com und Apple[10]. ner Taktfrequenz¨anderung, sowie ein weiteres Si- gnal um anzuzeigen, ob ein Link aktiv ist. Hy- 2.1.1 Anwendungsbereich perTransport arbeitet mit verschiedenen Taktraten, die sich je nach Generation und Endger¨at unter- Angewendet wird HyperTransport besonders in scheiden und im Bereich von 200 MHz bis 3200 MHz AMD-basierten Systemen zur CPU-CPU Verbin- liegen [13]. Daten werden im DDR-Verfahren mit dung, sowie zum Chipsatz. Des Weiteren wurde differentiellen Signalpaaren bei einer Spannung von HyperTransport auch in Apples [17] 1,2 V ±5% ubertragen.¨ DDR steht fur¨ Double Da- und einigen MIPS Systemen, wie dem PMC-Sierra ta Rate, dabei werden die zu ubertragenden¨ Bits RM9000X2 eingesetzt. Somit steht HyperTransport nicht nur bei einer steigenden Flanke des Taktes, in Konkurrenz zu QuickPath Technologie, die sondern sowohl bei steigender als auch bei fallender sp¨ater erl¨autert wird, und besonders zu PCI Ex- Flanke auf den gelegt. So wird eine h¨ohere Da- press. Wobei QuickPath im Grunde als indirekter tenrate erzielt. HyperTransport ist prinzipiell nicht Konkurrent zu betrachten ist, da HyperTransport Cache-Koh¨arent, jedoch hat AMD die propriet¨aren und QuickPath nur mit unterschiedlichen Prozes- Erweiterungen Koh¨arent HyperTransport und Hy- soren kompatibel sind. Des Weiteren kann Hyper- perTransport Assist entwickelt, auf die hier nicht Transport, genau wie PCI Express, auch eingesetzt weiter eingegangen werden soll[15]. werden um externe Peripherie sowie E/A Control- ler anzusteuern[17]. Dafur¨ verwendet HyperTrans- 2.1.3 Features und Vergleich mit anderen port sogar denselben Verbinder wie PCI Express. Systemen Da allerdings die Pinbelegung anders ist wird der HyperTransport-Verbinder um 180 Grad gedreht Im Vergleich zu PCI Express hat HyperTrans- verbaut. port eine geringere Latenz und bietet dadurch eine schnellere Ubertragung.¨ Grund dafur¨ sind eine effi- 2.1.2 Funktionsweise zientere Anbindung an den Prozessor sowie weniger Overhead der einzelnen Pakete. Abbildung 1 zeigt HyperTransport besteht aus zwei einzelnen unidi- einen Vergleich zwischen dem ben¨otigten Overhead rektionalen Punkt-zu-Punkt Verbindungen, die zu- bei HyperTransport und PCI Express. Es ist klar sammen eine bidirektionale Verbindung erm¨ogli- zu sehen, dass HyperTransport pro Paket weni- chen. Durch Weiterleitungen k¨onnen so auch Net- ger Overhead ben¨otigt als PCI Express, allerdings ze uber¨ mehrere Ger¨ate, hier Links genant, ge- kommen diese Informationen vom HyperTransport baut werden. Jede Verbindung besteht aus 2, 4, Konsortium selber und sind deshalb mit Vorsicht 8, 16 oder 32 Datenleitungen pro Richtung, wobei zu genießen: Es muss beachtet werden, dass PCI beide Richtungen unterschiedliche Breiten besitzen Express mit einem Paket bis zu 4096 Byte Daten

2 2.2 QuickPath QickPath ist eine von Intel entwickelte Punkt-zu- Punkt basierte Verbindungsstruktur zur Kommu- nikation verschiedener Prozessoren untereinander und zum Chipsatz. Es deckt somit im Grunde dieselben Anforderungen ab wie zum Beispiel HyperTransport oder PCI Express, ist im Gegen- satz dazu allerdings ein Routing-Mechanismus, der verschiedene Prozessoren in einem Netzwerk verbindet. Dafur¨ wird der kurzeste¨ Weg zwischen zwei Prozessoren ermittelt, gegebenenfalls fuhrt¨ dieser uber¨ weitere Prozessoren. QuickPath wurde erstmals 2008 von Intel vorgestellt und ersetzte den bis dahin benutzten Front Side Bus. QickPath soll demn¨achst durch eine neuere Technologie ersetzt werden, uber¨ die allerdings, außer dem Abbildung 1: HyperTransport Paket Format im Namen UltraPath, noch nichts bekannt ist (Stand Vergleich zum PCI Express Paket Format [12] Dezember 2016).

2.2.1 Funktionsweise ubertragen¨ kann, wobei HyperTransport lediglich maximal 64 Byte Daten in einem Paket ubertragen¨ Genau wie bei HyperTransport auch besteht ein kann. Dies resultiert daraus, dass eine Cache line, bidirektionaler Port bei QuickPath aus zwei ein- typischerweise 64 Byte groß, in einem Paket ubert-¨ zelnen unidirektionalen Links. Ein Prozessor kann ragen werden soll. Selbst bei maximaler Paketgr¨oße dabei ein oder mehrere Ports haben. Abbildung 2 12 hat HyperTransport somit 64 = 18, 75% Overhead. zeigt ein Setup in dem vier einzelne Prozessoren Das ist nicht besonders viel weniger als bei PCI mit je vier QuickPath Ports miteinander und mit 0,2∗(4096+8+16)+8+16 Express 4096 = 20, 70%. Viel wich- dem Chipsatz verbunden sind. Es ist auch gezeigt, tiger dabei ist, dass der Overhead bei kleineren Pa- dass ein bidirektionaler QuickPath Port aus zwei keten wesentlich geringer ist als bei PCI Express. unidirektionalen Links besteht. Zus¨atzlich dazu Das liegt vor allem daran, dass bei HyperTransport besitzen die Prozessoren weitere Busse, uber¨ die sie keine spezielle Codierung der Physikalischen Ebe- mit dem Speicher verbunden sind. Genauso besitzt ne benutzt wird. Bei PCI Express hingegen wan- der Chipsatz weitere nicht n¨aher spezifizierte Busse delt diese 8 Bit Nutzdaten in 10 Bit codierte Da- zur Verbindung zu Ein/Ausgabe Ger¨aten. ten um und erzeugt somit schon einen unumg¨ang- QickPath benutzt 20 differentielle Signalleitungen lichen Overhead von 20%. Naturlich¨ ist die Lei- und zus¨atzlich eine Taktleitung. Dabei werden stungsf¨ahigkeit eines Bus-systems nicht nur durch immer nur 16 Bits zum gleichzeitigen Datentrans- den Overhead der Pakete beschr¨ankt, doch gibt fer genutzt, die restlichen 4 Bits werden fur¨ den dies einen guten Einblick, wie viele Bits zus¨atzlich Overhead genutzt. Im Gegensatz zu HyperTrans- zu den eigentlichen Daten mit ubertragen¨ werden port steht bei QuickPath die Breite des Busses mussen¨ und damit die Datenubertragung¨ bremsen. fest und ist nicht flexibel. Gleiches gilt fur¨ die Des Weiteren zeichnet sich HyperTransport beson- Taktfrequenz, diese war ursprunglich¨ 2,4 oder 3,2 ders durch seine geringe Latenz und hohe Ubertra-¨ GHz, und wurde in sp¨ateren Versionen auf bis zu gungsrate in einem kostengunstigen¨ System aus[12]. 4,8 GHz erh¨oht. Des Weiteren ist QuickPath in

3 QuickPath Protokolle zu benutzen.[21] Die abstrakteste Schicht bildet die Protokoll Schicht. Sie besteht aus einigen Regeln zum Aus- tausch von Paketen.

2.2.2 Features und Vergleich mit anderen Systemen In Intels Whitepaper “An Introduction to the Intel R QuickPath Interconnect”[14] wird ebenfalls der Overhead von QuickPath mit dem von PCI Express verglichen. Da QuickPath fur¨ Interprozes- sorkomunikation entworfen wurde, ist die maxima- le Datenmenge pro Paket auf die L¨ange einer Ca- che line festgelegt worden, also 64 Byte. Bei ma- ximaler Paket-l¨ange kommt QuickPath mit ledig- 8 lich acht zus¨atzlichen Bytes also 64 = 12, 5% Over- head aus. Die Auswirkung dieses Overheads kann Abbildung 2: QuickPath Architektur mit 4 Prozes- zus¨atzlich noch reduziert werden, indem Teile der soren und je 4 Links pro Prozessor [14] Steuerdaten parallel mit den Daten selber geschickt werden k¨onnen. Im Vergleich dazu liegt, wie vor- her schon erw¨ahnt, der Overhead von HyperTrans- port bei 18,75% und von PCI Express im besten verschiedene Ebenen unterteilt. Diese sind, von Fall bei 20,70%. Wenn uber¨ PCI Express nun ei- der Hardware zur Abstraktesten: Physikalische ne Cache line, also 64 Byte, ubertragen¨ werden, Schicht, Link Schicht, Routing Schicht, Transport liegt der Overhead sogar bei 32%. In Tabelle 1 wird Schicht und Protokoll Schicht.[14] der ben¨otigte Overhead der drei Systeme nochmals Die Physikalische Schicht besteht aus der ei- ubersichtlich¨ zusammengefasst. Sie zeigt besonders, gentlichen Hardware, also den Leitungen und dass der Overhead fur¨ kleine Pakete bei PCI Ex- Logikbausteinen, die die eigentliche Ubertragung¨ press enorm hoch wird und PCI Express deshalb vornehmen. besser fur¨ Ein/Ausgabe-Ger¨ate geeignet ist als um Die n¨achsth¨ohere Schicht ist die Link Schicht, Cache Lines auszutauschen. die fur¨ eine verl¨assliche Ubertragung¨ und den QuickPath ist im Gegensatz zu HyperTransport Kontrollfluss zust¨andig ist. Cache koh¨arent und sorgt somit dafur,¨ dass al- Eine Abstraktionsebene h¨oher befindet sich die le ubertragenen¨ Speicherbereiche und Caches stets Routing Schicht, die ein Gerust¨ bietet, mit dessen konsistente Daten enthalten. Erreicht wird dies Hilfe Pakete effizient durch das Netzwerk geleitet durch source oder home snooping in Verbindung werden k¨onnen. mit Cache-zu-Cache Transaktionen[15]. Im Gegen- Die Transport Schicht war anfangs nicht vorhanden satz zu PCI Express und HyperTransport ist Quick- und wurde fur¨ sp¨ater reserviert, um erweitertes Path nicht als Schnittstelle fur¨ externe Peripherie Routing und verl¨assliche End-zu-End Kommuni- konstruiert. kation zu erm¨oglichen. Die Schicht ist optional Um das Routing auf dem Mainboard zu erleichtern, und besonders in in großen Systemen wichtig. ist es bei QuickPath m¨oglich, einzelne differentielle Außerdem bietet sie erweiterte Funktionen die Signalpaare zu tauschen, oder sogar den gesamten es zum Beispiel erm¨oglichen andere als Intels Link umzudrehen. So kann Pin 0 bis 19 auf Pin 19

4 dieser Belastung gewachsen sind. Die alten Struk- Tabelle 1: Vergleich des Overhead von QuickPath, turen waren vor allem darauf ausgelegt, dass die HyperTransport und PCI Express fur verschiedene ¨ Grafikkarte benutzt wurde, um den Bildschirmin- Paketlangen. ¨ halt zu rendern. Wenn die Grafikkarte nun einge- QPI HT PCIe setzt wird, um gemeinsam mit dem Prozessor Be- 64 Byte rechnungen durchzufuhren,¨ mussen¨ GPU und CPU Anzahl Pakete 1 1 1 offensichtlich weit mehr kommunizieren und somit Overhead in Byte 8 12 30 weit besser angebunden sein. Eines dieser Systeme, Overhead 12,5% 18,75% 46,88% das fur¨ solch eine Aufgabe entwickelt wurde ist NV- Link, das im Folgenden vorgestellt wird. 4096 Byte Anzahl Pakete 64 64 1 Overhead in Byte 512 768 848 3.1 Nvidia NVLink Overhead 12,5% 18,75% 20,70% NVLink wurde von Nvidia entwickelt, um Grafik- karten besser miteinander und mit dem Prozessor zu verbinden. Nvidia behauptet dabei, dass NVLink bis 0 verbunden werden. Dadurch mussen,¨ je nach ein hoch effizientes System mit hoher Bandbreite Mainboard, die Leitungen nicht uberkreuzt¨ werden und Datenraten von mindestens 80 Gigabyte pro und dem Design des Mainboards wird mehr Frei- Sekunde ist. Das w¨are mindestens 5 mal schneller raum gegeben. W¨ahrend der Initialisierung lernt die als der Hauptkonkurrent: Ein PCI Express Gen3 Physikalische Ebene dann automatisch, welche Lei- x16 Bus[19]. Auch wenn NVLink erst 2016 vorge- tungen getauscht wurden[14]. stellt wurde, soll im laufe des Jahres 2017 bereits ei- ne weiterentwickelte Form vorgestellt werden: NV- Link 2.0[4]. Dabei kann NVLink den PCI Express 3 GPU-GPU Verbindung Bus in einem System komplett ersetzen, es ist aber auch m¨oglich, dass PCI Express gemeinsam mit In modernen Supercomputern werden l¨angst nicht NVLink eingesetzt wird. mehr nur Prozessoren zur Berechnung eingesetzt, es wird vermehrt auf den Einsatz von Beschleu- 3.1.1 Funktionsweise nigern gesetzt. Die dabei am H¨aufigsten verwen- dete Art von Beschleuniger ist eine Grafikkarte. Da die Technologie ziemlich neu ist - erste Grafik- Durch ihre h¨ohere Parallelit¨at l¨asst sich insgesamt karten, die die Technologie unterstutzen¨ sind dieses eine h¨ohere Rechenleistung erzielen und gleichzei- Jahr vorgestellt worden - sind genauere Informa- tig durch die weniger komplexen Rechenkerne der tionen dazu, wie NVLink aufgebaut ist, nicht zu Energieverbrauch drastisch reduzieren. 2012 wur- finden. de Titan vorgestellt, der damals rechenst¨arkste Su- NVLink basiert auf einem High-Speed Bus, der aus percomputer weltweit. Mit einer theoretischen Spit- 8 Datenleitungen besteht. Diese arbeiten wie bei zenleistung von 27 PetaFLOPS befindet sich Titan HyperTransport oder QuickPath auch mit Differen- auch heute noch auf dem 3. Platz der top500 Liste tiellen Signalen in einem dual Simplex bidirektiona- (Stand 11.2016)[5]. Dieser besitzt insgesamt 18.688 len Link. Die aktuellen Pascal GPUs unterstutzen¨ GPUs, pro Prozessor eine Grafikkarte, und gene- mehrere solcher Links. Die Grafikkarte kann dann riert so 90% seiner Peak Performance allein durch entweder mit mehreren Links mit einer anderen seine Grafikkarten [1][19]. Nachdem dieser Trend Grafikkarte verbunden werden, oder mit einem Link anh¨alt und neuere Systeme teilweise zwei oder mehr zum Prozessor und mit den restlichen Links zu an- Grafikkarten pro Prozessor besitzen, mussen¨ nun deren Grafikkarten. Jeder einzelne Link bietet eine neue Verbindungsstrukturen entwickelt werden, die Ubertragungsrate¨ von 20 GB/s. Werden nun meh-

5 cher der GPU ubertragen¨ werden und diese kann nur auf Daten, die in ihrem Speicher liegen, zu- greifen. Da aber auch bei NVLink GPU und CPU getrennte Speichercontroller besitzen, k¨onnen diese auf die jeweiligen Anforderungen optimiert werden, fur¨ die GPU auf Bandbreite und fur¨ die CPU auf Latenz. NVLink ist nicht Cache-Koh¨arent, dieses Feature soll mit NVLink 2.0 und der Volta GPU Architek- tur im laufe des Jahres 2017 eingefuhrt¨ werden[4]. Abbildung 3: NVLink Architektur mit zwei, drei Des Weiteren braucht NVLink dabei bis zu drei mal und vier GPUs mit je vier Links pro GPU [2] weniger Energie als PCI Express Gen3 x16. NVLink kann zusammen mit x86, ARM und rere Links zwischen zwei Endger¨aten verwendet, POWER Prozessoren genutzt werden. Fur¨ Entwick- addieren sich die einzelnen Ubertragungsraten.¨ So ler gibt es drei M¨oglichkeiten, die GPU uber¨ NV- k¨onnen mit vier Links bis zu 80 GB/s ubertragen¨ Link anzusteuern: GPU-beschleunigte Bibliothe- werden. Abbildung 3 zeigt verschiedene Konfigu- ken, OpenACC Compiler Directives und CUDA[2]. rationsm¨oglichkeiten, wie zwei, drei oder gar vier Grafikkarten uber¨ NVLink miteinander verbunden 3.1.3 Einsatz in realen Systemen werden. Die Anbindung zum Prozessor wird hier NVLink wird fur¨ Privatkunden ab den aktuellen weiterhin durch PCI Express realisiert. Allgemein Nvidia Pascal Grafikkarten, seit 2016, unterstutzt.¨ betrachtet Nvidia in ihren Whitepapers bisher nur Nvidia bietet zus¨atzlich den DGX-1, einen NVLink Konfigurationen, in denen lediglich die GPUs unter- basierten Server, fur¨ Firmen an. einander mit NVLink verbunden sind und die An- Abgesehen davon werden aktuell bereits neue Pre- bindung zur CPU weiterhin uber¨ PCI Express l¨auft. Exascale Hochleistungsrechner mit NVLink ent- Wahrscheinlich liegt das an der noch fehlenden Un- wickelt. Im Folgenden werden zwei Supercomputer, terstutzung¨ von NVLink in aktuellen Prozessoren. sowie das DGX-1 System vorgestellt. Aktuell (stand Januar 2017) wird NVlink lediglich von POWER Architektur unterstutzt,¨ ob an- dere Prozessoren folgen werden bleibt ungewiss. So- und Sierra Summit und Sierra sind mit wird in den Benchmarks noch nicht das gesamte zwei neue Hochleistungsrechner des U.S. Depart- Potential durch NVLink ausgesch¨opft. [3] ment of Energy. Summit wird am Oak Ridge Natio- nal Laboratory und Sierra am Lawrence Livermo- re National Laboratory eingesetzt werden. Summit 3.1.2 Features wird damit ab 2017 den bekannten Titan Hochlei- NVLink bietet durch seine h¨ohere Datenrate auch stungsrechner ersetzen. Sierra wird das Hauptsy- weitere Vorteile. So kann zum Beispiel ein quasi ge- stem zum Management und zur Sicherheit der U.S. meinsamer Speicher zwischen Prozessor und Gra- Kernwaffen und zur Uberwachung¨ des Kernwaffen- fikkarte erreicht werden. Mit diesem ist es m¨oglich, sperrvertrages. Außerdem wird er fur¨ Antiterroris- dass ein Programm, das auf der GPU l¨auft, mit be- mus Programme eingesetzt werden. Beide Systeme liebigen Pointern arbeitet, ohne zu wissen, wo ge- setzen dabei auf IBM POWER9 Prozessoren und nau sich diese Daten befinden. Die Hardware findet Nvidia Volta Grafikkarten, die uber¨ NVLink mitein- dann den Speicherort heraus und l¨adt bei Bedarf ander verbunden sind. Auf diesem Modell und mit den Wert aus dem Speicher der CPU. Bei aktuellen den Erfahrungen sollen sp¨ater die ersten Exascale Hochleistungssystemen ist solch etwas noch nicht Hochleistungsrechner gebaut werden. Summit wird m¨oglich, es mussen¨ die Daten manuell in den Spei- voraussichtlich zwischen 150 und 300 PetaFLOPS

6 tereinander mit NVLink realisiert, die Anbindung an die CPUs erfolgt weiterhin uber¨ PCI Express. DGX-1 soll die Trainingsdauer fur¨ kunstliche¨ Intel- ligenz, z.B. Neurale Netzwerke, drastisch reduzie- ren und die Performance wesentlich steigern. Nvi- dia behauptet, dass DGX-1 75 mal schnelleres Trai- ning erm¨oglichen wurde.¨ Jedoch ist dieser Vergleich nicht besonders aussagekr¨aftig, da er zu einem Ser- ver mit zwei CPUs einer ¨alteren Generation (Xe- on E5-2697v3) ohne GPU Unterstutzung¨ gemessen wurde. [11]

3.1.4 Performance-Vergleich zu anderen Abbildung 4: Architektur von DGX-1 [8] Systemen Um die Performance von NVLink absch¨atzen zu k¨onnen, hat Nvidia ein Testsystem aufgebaut. Die- Peak Leistung haben, w¨ahrend Sierra mehr als 100 ses verwendet nicht n¨aher spezifizierte Grafikkarten PetaFLOPS leisten soll. Dafur¨ wird Summit mehr der nachsten Generation und vergleicht die Perfor- als 3400 Knoten mit je mehreren CPUs und meh- ¨ mance, wenn die Grafikkarten rein uber PCI Ex- reren GPUs besitzen, womit jeder knoten auf mehr ¨ press angeschlossen sind gegen ein Setup, bei dem als 40 TerraFLOPS kommen soll. Dank NVLink be- die Grafikkarten untereinander mit NVLink ver- sitzt jeder knoten 512 GB koh¨arenten Speicher, der bunden sind und die Anbindung zur CPU weiterhin sowohl von den CPUs als auch von den GPUs be- uber¨ PCI Express gestaltet wird. Da NVLink gera- nutzt werden kann. Zus¨atzlich k¨onnen die GPUs de erst auf den Markt gekommen ist, gibt es leider noch auf 800 GB NVRAM zuruckgreifen.¨ Nvidia noch keine unabhangigen Benchmark Tests und es behauptet, dass Summit und Sierra zwei wichtige ¨ bleibt nichts anderes ubrig, als den Nvidia Zahlen Zwischenschritte auf dem Weg zu Exascale Hoch- ¨ zu vertrauen. leistungsrechnern sind. Die Performance unterscheidet sich naturlich je Laut einer aktuellen Information der Webseite der ¨ nach Anwendung. Berechnungsintensive Anwen- Top500 Liste plant das U.S. Department of Ener- dungen profitieren weniger von NVLink als Anwen- gy, den ersten Exascale Hochleistungsrechner, ba- dungen, die viel Austausch zwischen den GPUs er- sierend auf den Erfahrungen von Summit und Sier- fordern. Abbildung 5 zeigt den Speedup, der sich ra, bis 2021 zu bauen [6]. durch einen Wechsel von PCI Express zu NVLink fur¨ verschiedene Anwendungen ergibt. 3D FFT und DGX-1 Ein weiteres System, dass fur¨ Firmen, ANSYS wurden dabei in einer Konfiguration mit die sich keinen Hochleistungsrechner leisten k¨onnen zwei Grafikkarten getestet, die anderen Beispiele oder wollen, interessanter ist, ist Nvidias DGX-1. mit vier Grafikkarten. Es ist deutlich zu sehen, dass Es ist besonders fur¨ Deep Learning und kunstliche¨ eine 3D FFT, die viel Kommunikation erfordert, Intelligenz entwickelt worden und bereits heute fur¨ mit einem Speedup von fast 2,25 sehr stark von NV- ca. 150.000 $ erh¨altlich [8]. DGX-1 basiert auf zwei Link profitiert, wohingegen Anwendungen wie AN- Intel Xeon E5-2698v4 mit jeweils 20 Kernen, die SYS mit einem Speedup von 1,25 weniger stark pro- von acht Tesla P100 GPUs unterstutzt¨ werden. Als fitieren. Eine Verschlechterung ist jedoch nirgend- Verbindungsstruktur kommt NVLink zum Einsatz. wo festzustellen. Da die Daten allerdings von Nvi- Wie in Abbildung 4 zu sehen, wird auch in die- dia stammen, ist das auch nicht zu erwarten. Fur¨ sem System lediglich die Verbindung der GPUs un- die meisten Anwendungen scheint ein Speedup von

7 wurde. 2011 wurde die EXTOLL GmbH gegrundet,¨ die seitdem die Technik weiterentwickelt. EXTOLL ist ein neues Netzwerk auf Basis von FPGAs, das besonders fur¨ kleine Pakete optimiert ist. Es wur- de speziell zur Vernetzung von Knoten in Hoch- leistungsrechnern entwickelt. Eines der wichtigsten Augenmerke w¨ahrend der Entwicklung war eine m¨oglichst geringe Latenz sowie eine gute Skalier- barkeit, weshalb einige Konzepte, die bei klassi- schen Netzwerken durch das Betriebssystem gere- gelt werden, bei EXTOLL direkt in Hardware im- plementiert sind. Somit wird die CPU entlastet und gleichzeitig die Latenz reduziert. So benutzt die Schnittstelle zum Beispiel Hardwarevirtualisierung und kann somit von bis zu 64.000 Threads gleichzei- Abbildung 5: Performance eines NVLink Systems tig benutzt werden, ohne dass das Betriebssystem verglichen mit einem identischen PCI Express ba- diese Zugriffe regeln muss [18]. sierten System [20]

4.1.1 Funktionsweise knapp 1,5 realistisch zu sein. Ob sich das in der Pra- xis auch so bemerkbar macht, muss sich erst noch Die EXTOLL Architektur ist auf einem FPGA oder zeigen. ASIC implementiert und wird als Erweiterungskar- te, ¨ahnlich wie eine Grafikkarte, uber¨ PCI Express mit dem Mainboard verbunden. Die Karten unter- 4 Node-Node Verbindung schiedlicher Knoten sind untereinander uber¨ Opti- sche Kabel verbunden. Abbildung 6 zeigt ein Block- Bisher wurden Verbindungsstrukturen zwischen diagramm der EXTOLL Architektur. Dort ist auf mehreren CPUs, mehreren GPUs und von CPUs der linken Seite der PCI Express Bus zu sehen und zu GPUs betrachtet. Diese Strukturen werden in- auf der rechten Seite die Verbindung ins Netzwerk. nerhalb eines Knotens verwendet. Um allerdings Uber¨ ein On-Chip-Netzwerk sind mehrere Einhei- die Rechenleistung eines aktuellen Hochleistungs- ten mit dem PCI Express Bus verbunden. VELO rechners erreichen zu k¨onnen, werden mehrere tau- ist die Kommunikations-Engine, die besonders fur¨ send Knoten ben¨otigt. Um die Leistung der Hoch- kurze Pakete optimiert ist. Sie besteht aus einem leistungsrechner weiter zu steigern, wird in neuen Requester, der Pakete verschickt und einem Com- Designs gerne die Anzahl an Knoten noch weiter pleter der Pakete empf¨angt und in den Hauptspei- erh¨oht. Um diese enorme, stetig wachsende Anzahl cher der CPU schreibt. Fur¨ l¨angere Pakete wird die an Knoten miteinander zu verbinden, werden Netz- Remote Memory Access (RMA) Engine verwendet. werke ben¨otigt, die gut skalieren und einen schnel- Diese entlastet die CPU mehr und verwendet das len Datenaustausch gew¨ahrleisten k¨onnen. Ein sol- Put/Get Model. Unterstutzt¨ wird sie von der Ad- ches neues Netzwerk ist EXTOLL, das im Folgen- dress Translation Unit (ATU), die virtuelle Spei- den vorgestellt wird. cheradressen in Physikalische Adressen umrechnet. Bei jeder Ubertragung¨ entscheidet entweder die ver- 4.1 EXTOLL wendete Bibliothek, oder der Programmierer selbst, welche Engine benutzt werden soll[22]. EXTOLL geht aus einem Forschungsprojekt der Mit dieser effizienten, gepipelineten Hardware bie- Universit¨at Heidelberg hervor, das 2005 begonnen tet EXTOLL einen schnellen Nachrichtenaustausch

8 der Ubertragungen¨ wird durch CRC Checks sicher- gestellt. Um EXTOLL ansteuern zu k¨onnen gibt es Treiber fur¨ den Linux Kernel (ab 2.6), sowie eine Userspace- Bibliothek. Des Weiteren wird das Message Pas- sing Interface OpenMPI und das Network Manage- ment Protokoll EMP unterstutzt.¨ Der Kernel Trei- ber wird dabei zur Einrichtung der EXTOLL Hard- ware benutzt, danach k¨onnen Nachrichten auch di- rekt aus dem Userspace uber¨ die entsprechenden Bi- bliotheken versendet werden[22]. Dadurch werden Kontextwechsel in den Kernel vermieden und die Performance weiter gesteigert. Der gr¨oßte Vorteil ist jedoch, dass das Design sehr flexibel ist und mit relativ geringen Aufwand an die jeweiligen Bedurf-¨ Abbildung 6: Blockdiagramm der EXTOLL Archi- nisse angepasst werden kann. tektur [9] 4.1.3 Einsatz in realen Systemen mit geringer Latenz und hoher Nachrichtenrate so- wohl fur¨ lange als auch kurze Pakete. EXTOLL ist momentan auf zwei Erweiterungskar- ten erh¨altlich, Galibier und Tourmalet, die im Fol- genden kurz vorgestellt werden. 4.1.2 Features EXTOLL bietet ein flexibles Design, das bis zu 64.000 Knoten in einer beliebigen direkten Topo- Galibier Galibier ist die erste Implementierung logie unterstutzt.¨ Dabei wird garantiert, dass Pa- von EXTOLL, die 2011 vorgestellt wurde. Die Kar- kete immer in der Reihenfolge geliefert werden, in te basiert auf einem FPGA und unterstutzt¨ der sie abgeschickt wurden. EXTOLL verfugt¨ au- bis zu 4 EXTOLL Links mit je 16 GB/s pro Rich- ßerdem uber¨ drei virtuelle Chanel (VCs) und vier tung, aus denen eine beliebige Topologie aufgebaut unabh¨angige Ubertragungsklassen.¨ wird. Zur Anbindung an das Mainboard wird ein Dank der VELO-Engine sind sehr schnelle Nach- PCI Express x8 v2.0 benutzt richtenaustausche m¨oglich, zugleich ist der Zu- griff auf Speicher anderer Knoten dank der RMA- Engine ebenfalls optimiert. Durch die integrierte Tourmalet Tourmalet ist die erste ASIC Imple- Hardwarevirtualisierung k¨onnen verschiedene Pro- mentation von EXTOLL und seit Q3 2015 erh¨alt- zesse, oder sogar virtuelle Maschinen, die beiden lich. Im Gegensatz zu Galibier wird hier ein PCI Ex- Kommunikations-Engines verwenden, ohne dass press x16 v3.0 verwendet. Außerdem verfugt¨ Tour- das Betriebssystem den Zugriff auf die Hardware malet uber¨ 6 Links, um damit das Netzwerk aufzu- manuell regeln muss. bauen und einen weiteren Link, um einen Beschleu- EXTOLL bietet durch die Hardwareimplemen- niger anzusteuern. Jeder Link erreicht Datenraten tierung zus¨atzlich auch noch Sicherheitsfeatures. von bis zu 100 GB/s pro Richtung [16] Dadurch So werden die Kommunikationsgruppen durch die dass ein ASIC schneller ist als ein FPGA, erreicht Hardware separat gehalten und die Prozesse eines Tourmalet eine typische Latenz von 600-800 ns und Knotens bleiben getrennt. Alle internen Speicher bis zu 120 Millionen MPI Nachrichten pro Sekunde. sind durch ECC abgesichert, und die Richtigkeit [9]

9 5 Schluss Grafikkarten, die n¨otige Rechenleistung aufzubrin- gen. Die Verbindungsstrukturen sind bereit fur¨ Ex- Es wurden verschiedene Verbindungsstrukturen ascale Systeme. vorgestellt, die auf unterschiedlichen Ebenen ar- beiten, um gemeinsam dafur¨ zu sorgen, dass Hochleistungsrechner uberhaupt¨ m¨oglich sind. Zwi- Literatur schen mehreren CPUs wurden HyperTransport und [1] Introducing Titan, 2012. https://www.olcf. QuickPath vorgestellt, die beide schon etwas ¨alter . sind und wahrscheinlich nicht mehr in einem Exas- ornl.gov/titan/ cale System eingesetzt werden. Intel entwickelt ge- [2] How NVLink Will Enable Faster, Easier Multi- genw¨artig einen Nachfolger namens UltraPath, der GPU Computing, 2014. https://devblogs. dann h¨ochstwahrscheinlich in einem Exascale Sy- nvidia.com/parallelforall/how-nvlink- stem mit Intel Prozessoren eingesetzt wird. Bevor will-enable-faster-easier-multi-gpu- AMD eine neue Verbindungsstruktur entwickelt die computing/. potentiell in einem Exascale System eingesetzt wird musste¨ AMD zun¨achst erst einmal eine neue Pro- [3] NVLink, Pascal and Stacked Memo- zessor Architektur vorstellen, die in Supercompu- ry: Feeding the Appetite for Big Data, tern verwendet werden kann. Des Weiteren wurde 2014. https://devblogs.nvidia.com/ zur Verbindung unter Grafikkarten und von Pro- parallelforall/-pascal-stacked- zessoren zu Grafikkarten NVLink vorgestellt. Die- memory-feeding-appetite-big-data/. se Technik ist zum Zeitpunkt dieser Arbeit gerade [4] Optimizing Data-Centric IT Environments, erh¨altlich geworden und ich halte es fur¨ vorstellbar 2015. dass diese, oder eine weiterentwickelte Form davon, im ersten Exascale Hochleistungsrechner zu finden [5] Die Top500 Liste November 2016, 2016. sein wird. Zuletzt wurde EXTOLL betrachtet, das https://www.top500.org/lists/2016/11/. verschiedene Knoten eines Hochleistungsrechners miteinander vernetzt. Laut Aussage der EXTOLL [6] First US Exascale Supercomputer Now GmbH ist diese Technik bereit fur¨ Exascale Syste- On Track for 2021, 2016. https://www. me. Die Limitierung von maximal 64.000 Knoten top500.org/news/first-us-exascale- ist dafur¨ ausreichend. Nimmt man als Berechnungs- supercomputer-now-on-track-for-2021. grundlage den zuvor vorgestellten Summit Super- [7] HyperTransport Overview, 2016. http:// computer: Dieser soll uber 3400 Knoten verfugen ¨ ¨ www..org/ht-overview. und zwischen 150 und 300 PetaFLOPS Rechenlei- stung erreichen. So erh¨alt man eine pro Knoten Lei- [8] NVIDIA DGX-1 Deep Learning System, 150 150 stung zwischen 3400 = 0, 044 und 3400 = 0, 088 Pe- 2016. https://www.microway.com/ taFLOPS. Bei 64.000 Knoten wurde¨ man so auf ei- preconfiguredsystems/nvidia-dgx-1- ne theoretische Leistung zwischen 2,8 und 5,6 Exa- deep-learning-system/. FLOPS kommen. Da zu erwarten ist, dass die Kno- ten auch zunehmend leistungsst¨arker werden, sind [9] Technology Overview, 2016. http://www. Exascale Systeme mit EXTOLL durchaus wahr- extoll.de/technology. scheinlich. Ob diese Technik jedoch im ersten Ex- [10] The HyperTransport Consortium, 2016. http: acale System auch eingesetzt wird, oder ob doch ein //www.hypertransport.org/consortium-1. anderes Netzwerk verwendet wird, bleibt abzuwar- ten. Mit den hier vorgestellten Verbindungsstruk- [11] The World’s First AI Supercomputer in a turen kommen wir Exascale Systemen einen großen Box, 2016. http://www.nvidia.com/object/ Schritt n¨aher, nun liegt es an den Prozessoren und deep-learning-system.html.

10 [12] Mario Cavalli. The Future of High- Performance Computing: Direct Low Latency CPU-to-Subsystem Interconnect. [13] HyperTransport Consortium. HyperTrasnport I/O Link Specification. 6 2010.

[14] Intel Corporation. An Introduction to the Intel QuickPath Interconnect. 1 2009. [15] David A. Wood Daniel J. Sorin, Mark D. Hill. A Primer on Memory Consistency and Cache Coherence. 2011. [16] EXTOLL. EXTOLL TOURMALET brochure. 2016. [17] Steve Jobs. Apple WWDC 2003 Keynote - The Power Mac G5 introduction. https: //youtu.be/iwsn27J_tlo?t=10m37s https: //youtu.be/YJlO37wN9-w. [18] Heiner Litz. VELO: A Novel Communication Engine for Ultra-low Latency Message Trans- fers. 9 2008.

[19] Nvidia. NVIDIA NVLink High-Speed Inter- connect: Application Performance. 11 2014. [20] Nvidia. Summit and Sierra Supercomputers: An Inside Look at the U.S. Department of Energy’s New Pre-Exascale Systems. 11 2014.

[21] Robert J. Safranek, Michelle J. Moravan. QuickPath Interconnect: Rules of the Revolu- tion. 11 2009. [22] Khaled Benkrid Wim Vanderbauwhede. High- Performance Computing Using FPGAs. 2013.

11