News PCI Express 6.0: Standard für bis zu 256 GB/s am x16-Slot veröffentlicht

Die Hardware ist noch nicht mal perfekt für PCIe 4.0,CPU,Grafikkarte,SSD,Mainboard, und vor allem für DDR5 Ram,der ist viel zu langsam und DDR4 3200 immer noch schneller,DDR5 kommt auf über 8xxx und schafft nicht mal 6400 was ein sicherer Modus wäre und hängt bei 6200,4800 ist nicht sicher und zu langsam.AMD will bis Weihnachten seine neuen CPU`s rausbringen da wird wohl PCIe 5.0 drauf sein ob Samsung bis dahin eine SSD mit PCIe 5.0 rausbringt und Intel seine CPU`s erneuert was die 12xxx Sereie angeht um PCIe 5.0 auch für SSD`s anstatt nur für Grafikkarte mit Einschränkungen zu nutzen ist sehr fraglich.Meiner Meinung nach wird AMD das Rennen fahren bis Weihnachten fehlen nur Mainboards,Grafikkarten,SSD`s und vor allem DDR5 Ram mit bis zu 8xxx die man im sicheren Modus mit 6400 OC betreiben kann.PCIe 6.0 ist raus in Version 1.0 das kann ja noch Jahre dauern da die Hardware Industrie alles verschläft.Alles außer einer SSD Samsung 980 Pro mit PCIe 4.0 und abwärtskompatibel also auch PCIe 3.0 und 1 TB Speicher wobei es nur ca 950 GB sind da alle Festplatten Hersteller mit 1000 rechnen statt mit 1024 und es ein Weltweiter Betrug ist, wäre momentan weggeschmissenes Geld,lieber bis Weihnachten 2022 warten und sparen.
 
Zuletzt bearbeitet:
joshy337 schrieb:
Light Peak wurde leider nie richtig umgesetzt. Intel hat stattdessen das minderwertigere Thunderbolt durchgeboxt. 😔

Naja. Vielleicht hat man auch Angst vor optischen Verbindungen, da die nur schwer zu toppen sind?
Light Peak ist auch Intel. Und Thunderbolt hat sich vermuchlich deswegen durchgesetzt, weil ein rein optisches System selbst vom Thunderbolt-Erstkunden Apple als zu teuer angesehen wurde.
 
Davon werden irgendwann wie auch bei Pcie 4 hauptsächlich m.2 nvme ssds profitieren welche typischerweise mit x4 angebunden werden.
 
Bigeagle schrieb:
@Piktogramm Ich bezweifle dass es so schlimm ist. Einmal weil prefetching bei CPUs einer der großen Leistungsfaktoren ist wo man auch richtig raten muss welchen Pfad die Verzweigung nimmt und zum anderen weil [...]Vorwärts laufen auch nicht.
[...]
Das Prefetching von CPUs ist mit Software nur bedingt vergleichbar. Aber sei es drum. Schauen wir uns mal AMDs Zen2 an
1642081684504.png

Quelle: https://www.eridonia-archives.com/post/high-detail-zen-2-cpucore-layout-with-zen-1-for-reference

Der Aufwand, der betrieben wird, damit moderne CPUs ihre Rechenwerke unter Dampf halten ist enorm. Allein der Bereich für die Branch Prediction (ohne wird Prefetching recht sinnlos) ist riesig. Es ist genau der Punkt, Prefetching ist je nach Szenario mit ordentlich Overhead verbunden. Wenn man auf diesen Aufwand verzichten kann, indem man einfach zeitgemäßen, flotten Massenspeicher voraussetzt, dann wird man auf diesen Aufwand verzichten.
Bei CPUs Designs kann man darauf nicht verzichten, solang es nicht für vergleichbare Kosten Hauptspeicher gibt, der mit Chiptakt und <10Takten Latenz läuft.

Deine Beispiele sind ansonsten denkbar schlecht. Portal ist Level basiert, da wird in der Regel alles an Assets zum Beginn des Levels geladen und bei MMOs wird die Latenz vom Server meist ausschlaggebender sein, als lokales I/O, wenn man die Lokalität wechselt. Kritischer sind da schon OpenWorld Titel mit dynamischen Inhalten und hochauflösenden Modellen+Texturen. Sowas wie Skyrim in modern wäre denkbar. Da kann man nicht jede Innenansicht eines jeden betretbaren Gebäudes mit seinen 4K Texturen vorladen, da dafür schlicht zu wenig Speicher vorhanden ist. Selbst wenn, dann ist der Spieler so irre und betritt kein Gebäude sondern beschließt großzügig Feuerbälle in der Stadt zu verteilen. An der stelle braucht es dann die Texturoverlays für verbrannte Materialien und die Modelle für die spawnende Stadtwache.
Da kann man sich Prefetching echt sparen und legt das System lieber darauf aus, dass das Laden mit moderner Hardware flüssig klappt. Imho ist dies das größere Problem, dass asynchrones Laden nicht so richtig gut umgesetzt wird.
 
Ok verstehe .Wie sieht es denn mit merheren Programmen gleichzeitig aus,mit gleich starker auslastung .WO man dann die CPU ganz auslastet,wie sieht es denn da mit dem Prefetching sowie auch Branch Prediction aus?
Haben die dann Einfluss auf das.Weil schließlich greifen dann mehreren Programme gleichzeitig auf den Cache und so zu.Meine CPU ist dadurch Wärmer geworden und verbraucht mehr Strom.Scheint wohl die Folge zu sein,bei sehr starker auslastung der ganzen CPU.So heiß hatte ich es im Winter noch nie gehabt.Mein Zimmer ist nun nicht gerade heiß.Sobald der auf hochturen läuft,ist nachher mein Zimmer warm.Klar hat was gutes,weil ne gute Heizung,aber sowas hatte ich bei einem Pc noch nie gehabt.Mal sehen wie sich in Zukunft mein Pc verhalten wird. Anscheinend belasten hochauflösende Videos zum Umwandeln mehr die CPU als bei niedrigeren.Es wird wohl sein das HD und Full HD Videos zum Umwandeln wohl nicht mehr im Cache Platz haben.Somit ne Auslagerung statt findet. Der Ram wird jedenfalls auch mehr belastet als mit kleineren.
Ich wandle als mit 2 Videos nebeneinander gleichzeitig um.Lauter wird der Pc auch dadurch,

Ich dachte mir ach wird schon nicht so schlimm sein,weil unter 720x576 Aufnahmen verhielt sich der Pc nicht so.Dachte es würde da auch so sein.Da habe ich mich wohl geirrt gehabt.Also wie wird es sich das ganze denn da so verhalten?
 
DJMadMax schrieb:
Na, das wird ja auch Zeit! PCIe 3.0 hat bekanntlich sowieso für nichts ausgereicht, PCIe 4.0 ist schon wieder ein alter Hut, PCIe 5.0 hat man nun auch schon mehrfach in den News gelesen... wurde Zeit, dass endlich mal über PCIe 6.0 gesprochen wird!
Es ist Dir vermutlich nicht bewußt aber ja, im Server/Rechenzentrum ist das eine recht realistische Beschreibung des Ist-Zustands.

Im Privaten PC interessiert sehe ich bisher nur bei NVME SSD und Grafikkarte ein Argument für PCIe4. Bei mir beide noch mit 3.0 unterwegs.
 
@Nore Ply
Versteh mich nicht falsch, ich bin ganz gewiss nicht gegen technischen Fortschritt und die Steigerung der Leistung bei gleichzeitiger Reduzierung des Strombedarfs ist mir stets willkommen. Aber ich wage einfach zu bezweifeln, dass wir überhaupt schon in der Lage sind, selbst in High End Server-Segmenten, die PCIe 5.0-Schnittstelle auszureizen. Man sollte sich also lieber erst einmal darauf konzentrieren, diese noch in den Kinderschuhen befindliche Schnittstelle ordentlich zu bedienen, als sich bereits Gedanken über einen hypothetischen Nachfolger zu machen.

Wobei das Festlegen des Nachfolge-Standards vermutlich mehr mit dem Vorbeugen von Patent-Trollen zu tun hat, als mit der tatsächlichen Absicht, bereits "morgen" schon einen praktischen Nutzen daraus ziehen zu können und auch das kann ich in der heute leider sehr verrückten und vergönnten Welt nachvollziehen.
 
DJMadMax schrieb:
@Nore Ply
Versteh mich nicht falsch, ich bin ganz gewiss nicht gegen technischen Fortschritt und die Steigerung der Leistung bei gleichzeitiger Reduzierung des Strombedarfs ist mir stets willkommen. Aber ich wage einfach zu bezweifeln, dass wir überhaupt schon in der Lage sind, selbst in High End Server-Segmenten, die PCIe 5.0-Schnittstelle auszureizen.
In den richtig großen Hobeln kannst Du darüber zum Beispiel gemeinsame Speicherbereiche bilden. Und bei der Datenübertragung sind 400 Gbit/s (vorwiegend natürlich im Switch, aber Gerüchteweise auch in Speichersystemen, HPC-Clustern,...) per Karte realisiert heute nicht mehr gar so exotisch. Mit "pcie 400GbE" findest Du dazu in Suchmaschinen gar leckere Appetithäppchen.
 
  • Gefällt mir
Reaktionen: DJMadMax
@Piktogramm gut, über das CPU Prefetching als analogie für HDD Zugriffe lässt sich streiten. Ich wollte damit sagen dass selbst bei etwas scheinbar so aussichtslosem wie Sprungvorhersage lohnt es sich. Dagegen ist die Entscheidung welche Assets in einem Spiel gebraucht werden doch geradezu simpel. Anders als die CPU hat der Spieleentwickler schließlich auch inhaltliche Kenntnisse über die Daten.

Nur weil ein Spiel Levelbasiert ist muss es doch auch noch lange nicht alle nötigen Daten im Speicher haben. Dass es praktisch darauf hinausläuft ist doch nur die praktische Umsetzung. Open World lädt unterteilt analog dazu quasi die Welt in angrenzende Level und lädt mehrere nach Bedarf. Skyrim passt als Beispiel, wobei auch Oblivion und Morrowind funktionieren.
Da gibts 'außenweltkacheln' um den Spieler herum die geladen werden. Prefetching könnte man Problemlos machen indem beim anvisieren einer Tür schon mal das innenlevel dahinter geladen wird falls gerade nichts wichtigeres zu laden ist. Oder schon bei der Annäherung so dass idealerweise das Innenlevel geladen ist sobald man in Aktivierungsreichweite ist.
Damit man nicht ständig nutzlos preloading macht brauchts noch eine bremse für enge Gassen mit vielen Haustüren. Die sind dann eben schwieriger als die einzelne Höhle/Turm/whatever in der Wildnis. Aber auch da kann man doch davon ausgehen dass Spieler die Türen meistens gezielt ansteuern und seltener urplötzlich eine 540° Drehung machen und die Tür aktivieren. Bei mehreren Möglichkeiten lädt man also nur die offensichtliche vor.
Genauso lässt sich ein bisschen Heuristik einbauen. Es sollte nicht soo schwer sein halbwegs zuverlässig zu erkennen ob ein Spieler gerade aktiv quests erledigt (Questgebiete priorisieren) oder nur frei herumläuft (mehr fokus auf Sicht und Laufrichtung) und wenn jemand beides macht wird eben neutral bewertet.

Wenn das System so sehr am limit ist dass ein paar Feuerbälle und Overlaytexturen (sind die nicht immer noch relativ generisch und nicht Oberflächenspezifisch?) die Performance killen ist eben keine Luft nach oben. Wenn das schnelle Medium zu klein ist gehts eben immer auf das nächste über. VRAM, RAM, SSD/HDD. Caching weglassen änder daran auch nichts. Aber es tut richtig weh wenn das Medium mal nicht so schnell ist wie erhofft.
Bislang wird eben andersrum gecached, man behält das was im Speicher war noch eine weile drin bis es verdrängt wird. Falls es verdrängt wird. Gab für Oblivion nicht umsonst Tools dafür. Ohne Streamline war mit Texturpacks und erhöhter Sichtweite schnell ende mit Spielspaß weil der Cache wichtiger war als neue Daten.

Aber ist es intelligent die gerade gesäuberte Höhle im Cache zu behalten statt das nächste Gebiet auf das der Spieler gerade zuläuft in den Cache zu schieben? Das ist aus meiner Sicht keine allzu anspruchsvolle Entscheidung sobald der Spieler sich ein Stück vom Höhleneingang fortbewegt hat.

Es ist sicher mehr Arbeit als nur reaktiv nach Bedarf zu laden, aber ich glaube nicht dass es im Vergleich zum Rest der Spieleentwicklung so ein schrecklicher Aufwand ist ein halbwegs gut funktionierendes preloading das auch auf Speichern mit hohen latenzen funktioniert zu bauen. Texturstreaming ist doch soweit ich das sehe recht ähnlich, denn der Weg vom RAM in den VRAM ist auch relativ weit im vergleich zu alles im VRAM. Dazu muss der Speicher da auch ausreichen.
Das dürfte in der Komplexität vergleichsweise harmlos sein gegenüber Multithreading auf 4+ Kernen.

Dazu fällt mir ein dass das vorraussetzen von schnellen SSDs als Spieleplatte noch mehr Probleme mit sich bringt als nur HDDs und langsamere SSDs auszuschließen. Denn dann muss die Geschwindigkeit und Latenz auch garantiert sein. Weniger Spielraum für parallele Zugriffe. Aber das eigene System in der Hinsicht optimieren war schon zu HDD Zeiten zu viel für die meisten, warum sollte das heute oder morgen anders sein? Dann ruckelts doch wieder weil Windows oder irgendein Launcher im Hintergrund updates macht, oder der Virenscanner durchläuft und die formal ausreichende SSD dann eben nicht mehr ganz reicht für nahtloses Asset streaming.
Das ist wie anzunehmen dass die CPU einem Programm allein vollständig zur verfügung steht und man direkt auf Cachegrößen und Latenzen optimieren kann. Hat der Anwender dann noch was parallel laufen ruckelts im zweifelsfall eben wieder weil Kontextwechsel nicht eingeplant waren. Ich dachte dass man das nicht merken würde, aber manche Anwendungen schaffen sowas. Nimm der einen Kern von 8 weg und es ruckelt. Lass eine nicht triviale Hintergrundanwendung was tun und es ruckelt. Dabei muss die CPU nicht ausgelastet sein. Ich denke zumindest dass das die Folge von einer überoptimierung in dieser Art ist. Oder man kann Windows dazu bringen Größenordnung 8-16 ms Zeitscheiben beim Scheduling zu verwenden.
 
@latiose88
Die Fragen gehen arg weit weg vom PCIe5 Thema bzw. dessen Auswirkung. Das wären Fragen für einen extra Thread im CPU-Abteil des Forums.

@Bigeagle
Die Sprungvorhersagen sind nicht all zu aussichtslos. Bei jedem Sprung mit N=2 Möglichkeiten schafft eine Zufallsvorhersage bereits 50% Trefferquote. Mit der naiven Herangehensweise, dass man davon ausgeht, dass die meisten Sprünge von Schleifen stammen und damit der letzte Sprung immer wiederholt werden sollte, ist man im Mittel schon deutlich besser als 50%.
Das ist der Gag bei Code und Algorithmen, wenn die nicht von absoluten Stümpern geschrieben wurden, ist da relativ viel Struktur im Ablauf. Damit ist Sprungvorhersage nicht aussichtslos sondern äußerst fruchtbar. So Fruchtbar gar, dass es sich lohnt sehr viel Overhead in Form von Chipfläche und Energiebedarf drauf zu werfen. Ich empfehle da mal: https://en.wikipedia.org/wiki/Branch_predictor

Im Programmablauf von Spielen wird das hingegen irgendwann müßig entsprechenden Aufwand zu treiben, wenn er nicht notwendig ist, wenn schneller Massenspeicher zum Einsatz kommen kann. Sonsten ist es wie immer ein Tausch zwischen Speicherbedarf, Speicherdurchsatz, CPU-Leistung (und Entwicklungsaufwand). Wenn Speicherbedarf und Speicherdurchsatz für kleines Geld egalisiert werden können, wüsste ich auch was ich tue..

Bigeagle schrieb:
Es sollte nicht soo schwer sein halbwegs zuverlässig zu erkennen ob ein Spieler gerade aktiv quests erledigt (Questgebiete priorisieren) oder nur frei herumläuft (mehr fokus auf Sicht und Laufrichtung) und wenn jemand beides macht wird eben neutral bewertet.
IT-Systeme die Nutzerverhalten sicher vorhersagen und dies mittels einer simplen (lies: handhabbaren API) vorhersagen können wären wirklich geiler Scheiß. Aktuell braucht es dazu ewig Lernzeit von (bereits vortrainierten) neuronalen Netzen bis man überhaupt auch nur mittelprächtige Vorhersagen bekommt.

Ich glaube du unterschätzt da echt den Aufwand. Vor allem unterschätzt du auch, dass die naiven Ansätze für Prefatching und Caching von modernen Engines und GPU-Treibern bereits genutzt werden und wo da die Grenzen sind.
 
Piktogramm schrieb:
IT-Systeme die Nutzerverhalten sicher vorhersagen und dies mittels einer simplen (lies: handhabbaren API) vorhersagen können wären wirklich geiler Scheiß.
Ich rede ja nicht von generischen Vorhersagen, das ist ja nun deutlich schwieriger als festzustellen ob jemand alles was nicht questrelevant ist links liegen lässt, oder frei herumstreunt.
Piktogramm schrieb:
Ich glaube du unterschätzt da echt den Aufwand. Vor allem unterschätzt du auch, dass die naiven Ansätze für Prefatching und Caching von modernen Engines und GPU-Treibern bereits genutzt werden und wo da die Grenzen sind.
Vielleicht tue ich das auch. Aber vielleicht verstehst du auch viel komplexere Anforderungen als ich sie meine.
Generisches Caching ist auch etwas anderes. Der Knackpunkt war ja gerade dass spezifisch auf das eigene Spiel der Entwickler wissen hat dass Treiber und Hardware nicht haben können.

Zur branch prediction: spricht das nicht auch eher für preloading? Der Aufwand ist geringer und solange man das im Hintergrund abarbeiten kann merkt der Spieler auch nichts davon wenn es unnötig war. Außer er hört die HDD arbeiten. Das Spiel selbst wird doch praktisch nicht verlangsamt wenn die CPU zusätzlich ein bisschen I/O macht. Immer vorrausgesetzt man läuft nicht sowieso schon am limit. Man braucht ein bisschen CPU Leistung und freien Speicher. Das ist so gesehen ebenso leicht einzurichten wie die schnelle SSD.
Bei einem branch mispredict muss hingegen der ganze workflow erstmal warten.

Die zufallsäquivalente Trefferchance gilt deswegen auch als worst case afaik.

Vielleicht reden wir auch leicht andeinander vorbei? Völliger abbau von Zugriffsoptimierung könnte letztlich auch heißen dass man die bits einzeln von der SSD liest. So rein als Gedankenexperiment zur verdeutlichung. Das wäre auch langsam. Ich finde auf die schnelle nichts handfestes, aber ich bin recht sicher dass die auch eine art 'read ahead' mechanismus haben weil auch lesend einzelne bytes nicht lohnen. Da nimmt man doch auch ganze Blöcke (wie bei HDDs :D) und schiebt den ungewollten Teil eher einfach in den cache. Oder irre ich mich da?
Das ist letztlich das gleiche auf niedrigerer Ebene. Den Verzicht darauf vorzuschlagen weil die Hardware doch sicher morgen schnell genug sein wird für den heutigen use case finde ich sinnfrei.

Dass man nicht mehr auf HDD Zugriffsmuster optimieren muss wie in den 90ern (haben das Spieleentwickler denn jemals exzessiv getan?) ist eine andere Sache als jede Rücksicht aus dem Fenster zu werfen.
 
Wenn bei modernen Spielen Quests mehrere oder gar freie Lösungswege erlauben, wie will man gescheit Preloading betreiben? Viel mehr als eine Sphäre um die "Kamera" des Spielers zu legen und innerhalb dieser Preloading zu betreiben ist kaum drin. Wobei sowas an Grenzen stößt mit der Menge des verfügbaren Speichers und der Geschwindigkeit mit der sich bewegt wird.

Und von CPU-Eigenheiten auf die Sinnhaftigkeit von Softwaredesigns zu schließen ist in den meisten Fällen recht sinnlos. Die PB der CPU arbeitet stark lokal über einen kleinen Speicherbereich. Empfohlen sind da Codesgrößen unter 16KiB Instruktionen. Siehe: https://blog.cloudflare.com/branch-predictor/
Das ist unheimlich praktisch um kompakte Algorithmen ablaufen zu lassen. Für größere Logikbrocken die für Preloading nötig wären aber recht unbedeutend. An der Stelle ist es wichtiger, dass man höher abstrahierte Konzepte gescheit umsetzt. Zum Beispiel asynchrones Laden von Assets (damit die Renderpipeline nicht zum stehen kommt, nur weil auf Daten gewartet wird). Wobei asynchrones Laden die größeren Engines alle können (da Arbeiten teils echt Leute, die wissen wa ssie tun).
 
Zurück
Oben