News Power 9: PCI Express 4.0 zuerst für IBMs High-End-CPU

senf.dazu

Lt. Junior Grade
Dabei seit
Nov. 2016
Beiträge
378
Abgesehen davon, dass IBM für die CPU Vernetzung in ihren PPCs sowieso keine PCI-E Bus verwendet, gibt es abgesehen von GPU und Netzwerk natürlich Anwendungen für so schnelle PCI-E Slots.
Kein Zweifel - für schnellere Busse gibt's immer Anwendungen. Fragt sich nur wohin die Reise in der näheren Zukunft geht. Sprich ob und wo das vielleicht für PCIe4 spräche.

Zum Stickwort PPC Vernetzung - vermutlich benutzen die E880 Server ja intern noch einen Vorgänger des kolportierten "BlueLink" zur Vernetzung der 4 CPUs je Serverkiste? Und wie sind dann die bis zu 3 Serverkisten im Schrank/Rack bzw. ggf. zwischen Schränken miteinander verbunden ? Nicht per PCIe Netzwerkkarte ?

Thunderbolt würd ich nicht als Konkurrent zu FC sehen - auch wenn die Datenrate vielleicht nicht so unähnlich ist. Im Kern sind die USB-C Buchsen wohl meist paarweise mit 4 PCIe3 Channels angebunden. Würde also schätzen das die Transferleistung über einen PCIe Adapter hinaus keine Restriktion gibt. Allerdings würd's mich wundern wenn's so was wie einen remote FC Controller für ein Thunderbolt-FC Kabel tatsächlich geben würde.

An sich würd ich eher Infiniband oder Omnipath als leistungsfähigeren Konkurrent zu FC sehen. In der OpenPower Gruppe natürlich eher Infiniband/Mellanox. Z.B. sollten die Infiniband-EDR Adapter (100 GBit/s) so einige der FC Controller ersetzen können. Aber frag mich nicht nach IOPs. Da bin ich nicht wirklich zu Haus - auf jeden Fall kannst du aber mit Infiniband Adaptern viele überlappende Requests gleichzeitig laufen lassen, so daß man mit den CPU Response Zeiten in vernünftige Größenordnungen kommen kann. Tatsächlich würde ich mich wundern wenn die CPU Response Zeiten oder die INfiniband Controller die IOP Rate wirklich begrenzen würden. Zumindest wenn die IOPs nicht zwingend sequentiell abgewickelt werden müssen und die Geschichte nicht "echtzeitfähig" sein muß (unwahrscheinlich bei Datenbankanwendungen). Aber bei meinen Programmierversuchen an der Infinibandfront (parallele Übertragung mehrerer Raw Filme in Echtzeit) hab ich üblicherweise größere Blöcke als 4K bei bis zu 10 Buffers in flight genutzt - deswegen bin ich mit einer absoluten Aussage lieber vorsichtig. Die Meßergebnisse für den Transfer kleinerer Blöcke hab ich nicht mehr so vor Augen .. Ab gut 3 Buffers (Einzelbilder MB) in flight war's jedenfalls kein Problem mehr die theoretische Infiniband Datenrate für den Echtzeitbetrieb auszuschöpfen - mit einer CPU Auslastung unterhalb von %.
 
Zuletzt bearbeitet:

textract

Lt. Commander
Dabei seit
Aug. 2011
Beiträge
1.273
Bei den größeren IBM System (795, 780, 770, 880, 870 ...) ist es sowieso vorgesehen, dass man mehrere sogenannter "CECs" zusammenschließen kann.

Eine E880 besteht damit aus 1 bis 4 CECs mit beispielsweise 4 Sockets * 12 CPU-Cores * 8 Threads mit 8 TB RAM und einer System Control Unit.
Diese 2 bis 5 Systeme werden über proprietäre Schnittstellen verkabelt, sogenannte SMP Connectors. Damit kann man dann quasi ein oder mehrere virtuelle Systeme auf einem Hardwarepool von 192 CPU Cores und 32 TB RAM bauen. Die CPU Cores kann man auf einem PowerVM Hypervisor sogar zehnteln, bei AIX 7.2 mittlerweile sogar zwanzigsteln.

Man muss bei der Rechenleistung normaler Netzwerk, oder FC Karten übrigens ein wenig differenzieren, wenn man die Leistung mit x86 Karten vergleicht. Die Karten, die IBM für ihre Hardware baut haben eigene Rechenchips, damit, vor allem für die Virtualisierung, Rechenzeit des Hypervisors auf dem CPU Pool eingespart wird. An der Response Zeit liegt die IOPS Begrenzung daher auch auf traditionellen FC-Karten nicht.
Ich bin kein Hardwareingenieur, aber ich denke die Begrenzung der IOPS auf einem Kabel/Adapter liegt an der Frequenzbreite des Signals, ab einem gewissen Punkt hat man sonst zu viele Störgeräusche.

Ich muss aber zugeben, dass ich mit Infiniband und Omnipath generell wenig praktische Erfahrung habe.


EDIT
Achja, um das noch etwas zu konkretisieren: Die CECs werden direkt über die Prozessorboards über SMP miteinander verkabelt, nicht über externe BUS Systeme/Mainboard Slots.
 
Zuletzt bearbeitet:

Crass Spektakel

Lieutenant
Dabei seit
Juli 2015
Beiträge
570
Und das wichtigste: Für "uns" ist das alles völlig unwichtig.

Im Mobilbereich wird oft mit Transferraten von PCIE 1.0 und zwei bis vier Lanes gearbeitet weils Strom spart.

Und selbst im Highend-Desktop- oder Workstation-Bereich ist es weitgehenst irrelevant ob man V2 oder V3 fährt, der messbare Unterschied bleibt immer unter fünf Prozent, meistens unter zwei Prozent.

Schnellere Storage- und Netzwerkfunktionen? Das sehe ich noch lange nicht... ob mein scharchlahmer 1GBit-Anschluss jetzt mit 4 oder 40GBit angeschlossen wird, ob mein M2-Anschluss sich mit 20 oder 40% Last langweilt, who cares...
 

Piktogramm

Vice Admiral
Dabei seit
Okt. 2008
Beiträge
6.621
Be[...]
Man muss bei der Rechenleistung normaler Netzwerk, oder FC Karten übrigens ein wenig differenzieren, wenn man die Leistung mit x86 Karten vergleicht. Die Karten, die IBM für ihre Hardware baut haben eigene Rechenchips, damit, vor allem für die Virtualisierung, Rechenzeit des Hypervisors auf dem CPU Pool eingespart wird. [...]
Wie meinen? x86 ist keine Netzwerktechnologie :)
Wenn du Ethernet meinst, da können selbst die billigen Onboard NICs TCP offload und die Besseren leihen ihre Dienste auch an virtuelle Maschinen aus. Das ist gar derart verbreitet, dass selbst der Ethernetcontroller von SMSC auf dem Raspi fröhlich beim Berechnen / Prüfen der Checksummen hilft.
 

senf.dazu

Lt. Junior Grade
Dabei seit
Nov. 2016
Beiträge
378
@textract

Die SMP Connectors auf einem "Motherboard" um 4 Prozessoren zu verkoppeln seh ich ja noch - aber es gibt also tatsächlich noch mehrere dicke Kabelbündel (so 3x4 Verbindungen sinds wohl auf dem Mainboard ..) zwischen den Kisten ? Mit je so geschätzt jeweils 40x2 einzeln geschirmten Leitungspaaren bei 12..16G ? Heavy. Schade das das in dem "Datenblatt" der 880 bei IBM nicht mal angedeuted ist.

Die eigenen Chips auf den Netzwerkkarten sind aber inzwischen üblich - bei Infiniband/Omnipath geht das so weit das man denen nur sagt aus welchen Buffer im virtuellen Speicher der einen Applikation die Daten in welchen Buffer in den virutellen Speicher der Zielapplikation geschoben werden soll. Wobei Buffer ein Speicherbereich bis zu 2 GB (32 bit) sein kann. Das Paketieren in 4K Pakete und den Protokolloverhead erledigt der Infiniband Controller. OS oder CPU ist an dem Transfer nicht beteiligt. Für den Transfer eines 4K Blockes auf z.B. einem 40GBit/s (QDR) braucht aber nur ca. 1us. Das ist bei den normalen GHz Prozessoren aber in etwa die maximal erreichbare Threadwechselfrequenz. Wenn man sich also auf 4K IOPs limitiert diese Antwortzeit (Thread aufwecken) sehr wohl sequentielle IOPs. Kann man nur mit mehreren IOPs in Flight (unabhängige parallel Starten) umgehen. Für Echtzeittransfers geht aber auch das nicht weil man keine Threadwechsel von 1us garantieren kann. Das braucht deutlich größere Blöcke.
 
Zuletzt bearbeitet:

textract

Lt. Commander
Dabei seit
Aug. 2011
Beiträge
1.273
Sorry, vielleicht habe ich mich da ungeschickt ausgedrückt.
Der Netzwerkoverhead wird für gewöhnlich komplett von der Netzwerkkarte verwaltet, davon kommt nichts bei der CPU an.

Außerdem funktioniert die Virtualisierung von IBM ein wenig anders. Es gibt sogenannte VIO Server, die als Schnittstelle für LPAR (virtueller AIX Server) und Physik bieten, so ähnlich wie KVM mittlerweile auch funktioniert.
Das einzige, dass die CPU vom Netzwerktraffic bearbeitet ist die Zuordnung des Paketes zur LPAR.

@senf.dazu
Schau dir mal das Redpaper dazu an.
http://www.redbooks.ibm.com/redpapers/pdfs/redp5137.pdf

Da steht das ein wenig beschrieben. Die Prozessoren werden auch nicht direkt gekoppelt, die CPUs sitzen auf einer Platine und diese Platine stecken auf dem Board, bei IBM nennt sich das Sysplanar und diese CPU Platinen, wo mehrere physische CPUs sitzen, werden miteinander verbunden bzw. mit der System Control Unit.

Die eigenen Chips auf den Netzwerkkarten sind aber inzwischen üblich - bei Infiniband/Omnipath geht das so weit das man denen nur sagt aus welchen Buffer im virtuellen Speicher der einen Applikation die Daten in welchen Buffer in den virutellen Speicher der Zielapplikation geschoben werden soll. Wobei Buffer ein Speicherbereich bis zu 2 GB (32 bit) sein kann. Das Paketieren in 4K Pakete und den Protokolloverhead erledigt der Infiniband Controller. OS oder CPU ist an dem Transfer nicht beteiligt. Für den Transfer eines 4K Blockes auf z.B. einem 40GBit/s (QDR) braucht aber nur ca. 1us. Das ist bei den normalen GHz Prozessoren aber in etwa die maximal erreichbare Threadwechselfrequenz. Wenn man sich also auf 4K IOPs limitiert diese Antwortzeit (Thread aufwecken) sehr wohl sequentielle IOPs. Kann man nur mit mehreren IOPs in Flight (unabhängige parallel Starten) umgehen. Für Echtzeittransfers geht aber auch das nicht weil man keine Threadwechsel von 1us garantieren kann. Das braucht deutlich größere Blöcke.
Wusste nicht, dass andere Hardwarehersteller mittlerweile auch so weit sind. ;)
Der nächste Schritt für den Netzwerkbereich in diese Richtung sind ja SR IOV Adapter, davon setzen wir aktuell aber keine ein, dazu ist der Kunde, für den ich aktuell arbeite, zu konservativ. :D
 
Zuletzt bearbeitet:

senf.dazu

Lt. Junior Grade
Dabei seit
Nov. 2016
Beiträge
378
@textract

Danke für den Link zum "Redpaper" das ist schon deutlich informativer. Die 5HE Prozessoreinschübe (nodes) werden also wirklich mit Kabel"bäumen" verbunden, allerdings ist die Bandbreite deutlich geringer als die Verbindungen innerhalb der Prozessoreinschübe via Motherboard/Sysplanar, liegt eher auf dem Niveau von 100G Infiniband wenn ich die im Redpaper lapidar hingeworfenen Zahlen richtig interpretiere. Ich denke aber immer noch das OpenPower für das Zusammenstöpseln größerer Rechnerverbünde (mehrere Schränke) auf Infiniband setzt.

Was sagt uns das hinsichtlich: macht PCIe4 noch Sinn oder nicht ..

Da die handelsüblichen Infiniband Adapter aber inzwischen bei 100 MBit/s (EDR) den gesamten PCIe3x16 Bus erschöpfen (ebenso effektiv 100 MBit/s für Bulk-Transfers), und das in der nächsten (Cu) Generation bei 200 MBit/s genauso aussieht macht es eigentlich keinen Sinn mehr dieses Spiel weiter fortzustzen und eine unnötige Protokollumsetzung von sehr ähnlichen Cu basierten Übertragungsverfahren zu betreiben. Die anderen niedrigratigeren Anwendungen von PCI lassen sich inwischen alle auch durch das universelle Thunderbolt/USB abdecken - eigentlich gibts ja da auch für (fast) alles Adapter und selbst 10G level p2p Networking wird (ohne Adapter) abgedeckt. Insofern haben Slotverbinder für PCIe eigentlich ihren Sinn verloren - ein Steckverbinder an den man ein auch längeres Kabel anschließen kann ist erheblich praktischer. Und wenn man endlich auf optische Verbinder übergeht - ist der Weg zu erheblichen Datenratensteigerungen und längeren Kabeln perspektivisch offen. Erfordert aber technisch das die Faser-Anbindung ins CPU Gehäuse wandert.

Wenn man sich fragt ob denn PCIe4 nun noch zeitweise relevant sein wird - kann man ja heiteres OpenPower Mitgliederraten machen:
IBM fährt jetzt 3-gleisig oder 2.5 gleisig: BluLink,PCIe4,Entwicklung an optischen Komponenten
NVidia setzt auf NVLink zur GPU-GPU und GPU-CPU Vernetzung
AMD keine Ahnung bisher aber wohl kein Commitment zu PCIe4
Mellanox hat glaub ich wie IBM auf CPU Seite schon Netzwerkkarten mit PCIe4 angekündigt. BluLink - Datenrate, dann müßte man allerding ne CPU ersezten, außerdem macht das vielleicht mit Cu keinen Sinn mehr, also unwahrscheinlich.
Nichtmitglied/Konkurrent Intel: setzt wohl voll auf Omnipath mit Si-Photonics und ist da wohl auch relativ weit - zumindest behaupten sie die 100 GBit/s Omnipath Lösung (QFSP Modul) bei 3W in der "abgleichfreien" Si Serienproduktion zu haben ..

Also was brauchen NVidia und AMD(GPU) ? Für den Consumermarkt wär eigentlich PCIex4 schön um übliche GPU-Gamer-Karten an den x86 Mainstream anzubinden. Aber macht das für Intel Sinn - das Geschäft der Konkurrenten oder der Konkurrenz zu Omnipath zu beflügeln ? Bislang gibt's von Intel jedenfalls kein Commitment zu PCIe4.0. Unter Umständen ist PCIe4.0 auch für aktuelle Mainboards schwierig - 16G statt 8G ist schon ein Unterschied - das macht vielleicht richtig viel Supportarbeit für die CPU Hersteller die den Weg gehen.

Und bei AMD als OpenPower Mitglied - unwahrscheinlich das die den PCIe4 Weg ohne Intel gehen - dann müßten sie ja den Mainboard Support selbst liefern, außerdem lassen sie NVidia als Konkurrent dichter an die eigenen CPUs ran als nötig ..

Und perspektivisch sind alle Cu basierten Lösungen wie NVLInk/BlueLink und PCIe eigentlich schon tot - sie bieten keine vernünftige Perspektive - im Gegensatz zu Glasfasern. Also mag schon sein das IBM für seine Server PCIe4 vorsieht und auch den einen oder anderen Adapter dafür anbietet - die Mainboardtechnik von IBM muß ja heute schon die 25GBit/s von NVLInk/BLueLink verkraften. Ist aber auch ein anderes Preissegment als der Mainstream - und IBM macht sicher auch die Adapterkarten für seine Server eher selbst mal abgesehn von Infiniband. Also bei seinen Servern mag IBM PCIe4 helfen den Sprung auf die optischen System noch ein paar Jahre hinauszuzögern - allerdings haben die IBM Systeme auch reichlich PCIe3, so das das wohl nur für die wenigsten Anwendungen zwingend wär ..
 
Zuletzt bearbeitet:
Anzeige
Top