PCI-E Lanes Verteilung

Schakara

Moderator
Themen-Ersteller
Mitarbeiter
Dez 13, 2022
2.787
1.722
Hallo Zusammen,

ich habe ein paar Fragen zum Thema PCI-E Lanes Verteilung.. Das grundsätzliche "Theoriewissen" dahinter habe ich denke ich weitesgehend verinnerlicht, jedoch nie großartig in der Praxis angewendet und ich möchte einmal damit aufräumen um mich zu vergewissern, dass dieses Theoriewissen auch tatsächlich der Realität entspricht und zusätzliche Fragen stellen. Das war ein langer Satz.

Nun ans eingemachte. Ich schreibe jetzt meine Auffassung und würde entweder um Bestätigung bitten oder auch um Korrektur, falls ich Stuss erzähle ;) Bitte roasted mich nicht bei Falschaussagen, haha.

1) Jeder Prozessor bringt eine gewisse Anzahl an PCI-E Lanes mit, die das Board, welches diese CPU unterstützt, von Hause aus bereitstellt (Bei Consumer-Hardware meist 16-20 Stück, bei Server Hardware, Intel Xeon bzw. AMD Ryzen Threadripper oftmals im Bereich 32 Stück)

2) Darüber hinaus können bestimmte Boards auch noch zusätzliche PCI-E Lanes (on Top) bereitstellen, abhängig vom verwendeten Chipsatz; Die billigeren Chipsätze meist weniger, die teureren Chipsätze eher.

3) Sofern die maximale Anzahl der PCI-E Lanes "überschritten" werden würde, findet eine Lastenverteilung statt

4) Diese Lastenverteilung verringert die Maximale Bandbreite der jeweiligen Geräte (z.B. x16 PCI-E für eine Grafikkarte auf x8 PCI-E) damit dies PCI-E Lanes woanders genutzt werden können

5) Diese Bandbreitenverringerung ist jedoch nicht linear zur Leistung [x16 -> x8 verringert die Geschwindigkeit z.B. nur geringfügig (~5%), die Schritte darunter (x8 -> x4, x4 -> x2, x2 -> x1) sind deutlich stärker bemerkbar]



Und nun, zusätzlich noch eine Frage zu Punkt 3, und dem wo ich mir sicher bin, dass ich tatsächlich nicht weiß wie es genau geht :D
Wie genau findet diese Lastenverteilung statt, bzw. anhand welcher Kriterien wird diese durchgeführt?

Beispiel, ich habe 20 PCI-E Lanes und habe eine Grafikkarte am PCI-E x16 Slot, und zwei NVME-SSDs die ja theoretisch mit PCI-E x4 laufen.
Habe ich irgendwie die Möglichkeit selbst auszuwählen, wie ich die PCI-E Lanes gewichten möchte, oder wird dies immer automatisch gemacht? Weil mögliche Setups wären ja:

Graka: PCI-E x16
NVME1: PCI-E x2
NVME2: PCI-E x2

ODER

Graka: PCI-E x8
NVME1: PCI-E x4
NVME2: PCI-E x4

(4 PCI-E Lanes ungenutzt)

Noch komplexer würde es dann bei einer zweiten Grafikkarte werden ...

Graka1: PCI-E x8
Graka2: PCI-E x8
NVME1: PCI-E x2
NVME2: PCI-E x2

ODER

Graka1: PCI-E x16
Graka2: PCI-E x2
NVME1: PCI-E x1
NVME2: PCI-E x1

ODER

Graka1: PCI-E x8
Graka2: PCI-E x4
NVME1: PCI-E x4
NVME2: PCI-E x4


... Die "theoretischen" Kombinationen sind ja sogesehen schier endlos.

Vielen Dank schonmal vorab :) Ich bin sehr gespannt.
 

TheSupercomputer

Administrator
Mitarbeiter
Nov 3, 2018
12.672
10.309
Zunächst kurz zu Punkt 1.
Threadripper sind keine Server CPUs ^^
Das sind bei AMD derzeit EPYC und die haben bis zu 128 Lanes.

Punkt 2 stimmt so halb, oft gehen 4 Lanes an den Chipsatz und die Bandbreite von diesen wird dann zwischen SATA, USB, Netzwerk und Co geteilt.

Punkt 3 eine wirkliche Last Verteilung findet nicht statt, es werden schlichtweg die Lanes für einzelne Geräte limitiert, damit jedes Gerät welche hat.

Punkt 5, dir Bandbreiten Verringerung ist linear, GPUs benötigen nur gegenwärtig nicht die volle Bandbreite wodurch eine Verringerung der Leitung klein ausfällt, wenn es überhaupt eine gibt.


Es gibt in den meisten Fällen keine Möglichkeit einzustellen welche Lanes wofür verwendet werden, lediglich die Möglichkeit manuell einzelne Geräte zu limitieren. Das heißt jedoch nicht, dass die nun "freien" Lanes an anderer Stelle eingesetzt werden können.

Bei einer GPU und zwei NVMe SSDs wird die zweite mit hoher Wahrscheinlichkeit über den Chipsatz laufen und teils sich somit die Bandbreite mit der ganzen anderen Peripherie.

Die generelle Aufteilung erfolgt automatisch darüber welche Slots belegt sind und welche nicht.
Bei zwei GPUs entsprechend dann 2x 8 der Rest bleibt davon unberührt.
 
  • Gefällt mir!
Reactions: Schakara

Schakara

Moderator
Themen-Ersteller
Mitarbeiter
Dez 13, 2022
2.787
1.722
Erstmal vielen lieben Dank für die detailierte Antwort und deine Zeit!

Zunächst kurz zu Punkt 1.
Threadripper sind keine Server CPUs ^^
Das sind bei AMD derzeit EPYC und die haben bis zu 128 Lanes.

Zu 1) Echt? Gut zu wissen :D Ich weiß dass es bei Intel eine Zeitlang auch einen vom "typischen" Sockel abweichenden Sockel gab, von dem ich annahm dass es sich dabei um einen Server-CPU-Sockel handelt .. Das war der LGA-2066 Sockel mit einem i7-7820X ... Ich denke dass der Ryzen TR in der gleichen "Klasse" spielt, die lassen sich dann ja denke ich mal zumindest als "Workstation"-Cpu betiteln, quasi als Zwischenschritt zwischen Consumer und Server, oder? Nur dass ich das mal kategorisch einordnen kann :) hatte damit noch keinen direkten Kontakt.

Punkt 2 stimmt so halb, oft gehen 4 Lanes an den Chipsatz und die Bandbreite von diesen wird dann zwischen SATA, USB, Netzwerk und Co geteilt.

2) Okey, Verständnisbeispiel, ein Ryzen 5 5600x hat laut AMD-Datenblatt 24 PCI-E Datalanes. Verstehe ich das jetzt richtig, dass durch den Chipsatz tatsächlich 4 von den 24 Lanes "verloren" gehen ? Ich hatte es zuvor so verstanden, dass der Chipsatz quasi weitere PCI-E Lanes "dazugewinnen" kann, also dass man dann 28 hätte.

Punkt 5, dir Bandbreiten Verringerung ist linear, GPUs benötigen nur gegenwärtig nicht die volle Bandbreite wodurch eine Verringerung der Leitung klein ausfällt, wenn es überhaupt eine gibt.

5) Ist dazu ein Datenblatt oder sonstiges bekannt, bzw. geben die Grafikkartenhersteller das an ? Ich erinnere mich an ein Video von Der8auer wo er das glaub ich mal getestet hatte und von 16Fach auf 8Fach 5% verloren gingen... Wären dann unterm Strich für diese Grafikkarte ja .. 9 ? PCI-E Lanes?

Es gibt in den meisten Fällen keine Möglichkeit einzustellen welche Lanes wofür verwendet werden, lediglich die Möglichkeit manuell einzelne Geräte zu limitieren. Das heißt jedoch nicht, dass die nun "freien" Lanes an anderer Stelle eingesetzt werden können.

Und zum Resttext - Wo kann man diese Limitierung vornehmen oder wird diese Möglichkeit generell nur von den hohen Chipsätzen (z.B. X570 statt B550) gestattet? Meine zumindest das noch nirgends im BIOS gesehen zu haben.

Die generelle Aufteilung erfolgt automatisch darüber welche Slots belegt sind und welche nicht.
Bei zwei GPUs entsprechend dann 2x 8 der Rest bleibt davon unberührt.

Gut zu wissen. Ich hatte immer Sorge dass mir eine zweite NVME ggfs. das System lahmlegen könnte. Werde das dann wohl bald in Angriff nehmen :)
 

TheSupercomputer

Administrator
Mitarbeiter
Nov 3, 2018
12.672
10.309
Das Segment heißt HEDT -> High End Desktop
In diesem finden sich entsprechende CPU Varianten, die "zu stark" für den normalen Consumer sind, jedoch in Leistung und / oder features beschnitten wurden um sich vom Server segment zu unterscheiden.

Ja, bei den 24 Lanes des Ryzen hier als Beispiel findet typischer Weise die Aufteilung wie folgt statt:

4 Lanes Chipsatz, damit USB, SATA, LAN usw. hohe Datenraten erreichen kann.
16 Lanes für den Hauptslot um eine GPU voll anbinden zu können (was jedoch bei GPUs nicht notwendig wäre, zumindest bei PCIe 4.0 und 5.0) wenngleich aber Speicher oder Netzwerk von den hohen Datenraten profitieren.
Das ist jedoch primär im HEDT und im Server Bereich interessant und genau für diese erreiche wurden die neuen Standards zuletzt gepusht.

4 weitere Lanes dann typischer Weise für eine NVMe SSD, somit insgesamt 24 Lanes, von denen im Grunde 20 vom Mainboard Hersteller frei vergeben werden können.

Ob, wie weit und wo PCIe Lanes beschränkt werden können, hängt vom BIOS ab. Auf Consumer Plattformen gibt es oft nur die Möglichkeit den primären PCIe x16 Slot einzuschränken, aber auch das ist nicht gegeben.
 
Zuletzt bearbeitet:
  • Gefällt mir!
Reactions: Schakara

Schakara

Moderator
Themen-Ersteller
Mitarbeiter
Dez 13, 2022
2.787
1.722
Alles klar :) Du hast in deinem Text wie ich das sehe noch einen Flüchtigkeitsfehler drin.

Ja, bei den 28 Lanes des Ryzen hier als Beispiel findet typischer Weise die Aufteilung wie folgt statt:

somit insgesamt 24 Lanes

Bitte für die Nachwelt einmal korrigieren. Und vielen Dank für die ausführlichen Erklärungen :) Für mich ist damit alles beantwortet.
 

TheHomefront

Lebende Legende
Nov 5, 2018
25.215
11.752
desweiteren sind auch unterschiede in den einzelnen pcie version ein sehr großer punkt, hier zb das neue video von ltt, da wird ein wenig drauf eingegangen was man zb von einer pcie 5.0 lane erwartet etc
 

Schakara

Moderator
Themen-Ersteller
Mitarbeiter
Dez 13, 2022
2.787
1.722