Seminar Hochleistungsrechner: Aktuelle Trends Und Entwicklungen Wintersemester 2016/2017 Verbindungsstrukturen
Total Page:16
File Type:pdf, Size:1020Kb
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 Nvidia 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 x86-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 Power Mac G5[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 Intels QuickPath Technologie, die sondern sowohl bei steigender als auch bei fallender sp¨ater erl¨autert wird, und besonders zu PCI Ex- Flanke auf den Bus 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 Intel 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