News Intel Xeon Gold 6138P: Erster Server-Prozessor mit integriertem FPGA gestartet

Volker

Ost 1
Teammitglied
Registriert
Juni 2001
Beiträge
18.249
  • Gefällt mir
Reaktionen: franeklevy
Das ist aber nicht ganz so richtig lieber Volker. FPGAs sind auch universell beschaltbar, was du meinst mit für einen bestimmten Zweck sind Asics.
Sollte im Text noch angepasst werden.

Wobei ein paar Benchmarks da natürlich auch interessant wären.
 
spannendes Thema mit dem FPGA, kann Bärenmarke da nur zu stimmen
 
Der Artiekl ist doch eh korrekt, man kann doch nicht immer, wenn es um FPGAs geht, erklären was ein FPGA ist.

Der nächste will dann, daß man erklärt was eine GPU ist, oder was genau eine CPU ist,...
 
Sicher dass das die Erste CPU von Intel mit FPGA ist??.....
Ich glaube nicht
Edit: Komisch. mein Edit ist weg. Er hats nicht übernommen.

Jedenfalls kann ich mich Anfang 2017 Erinnern dass Intel eine CPU mit FPGA Rausgebracht hab, Hatte diese auf Geizhals gesehen mit "Besonderheit: FPGA" ... aber vielleicht war es mit Arria 10 GX....
hmm!
 
Zuletzt bearbeitet:
Whiskey Lake schrieb:
Der Artiekl ist doch eh korrekt, man kann doch nicht immer, wenn es um FPGAs geht, erklären was ein FPGA ist.

Der nächste will dann, daß man erklärt was eine GPU ist, oder was genau eine CPU ist,...

Natürlich kann man nicht alles erklären, aber die Aussage von Volker bezüglich eines FPGAs stimmt halt einfach nicht...
Du kannst ein FPGA jederzeit plattmachen und anders beschalten. So wie er es im Text beschreibt trifft es auf Asics zu.
 
Jeder, der länger mit FPGAs zu tun hat schwört auf die Xilinx Zynq platform, Intel wird nichts dran ändern können, dass Altera zweite Wahl ist und sein wird
 
tookpeace. schrieb:
Jeder, der länger mit FPGAs zu tun hat schwört auf die Xilinx Zynq platform, Intel wird nichts dran ändern können, dass Altera zweite Wahl ist und sein wird
Ha-ha, lange nicht mehr so viel gelacht!
Sowohl Xilinx als auch Altera/Intel haben ihre Vor- und Nachteile. Aber dass Altera zweite Wahl ist ist sowas von falsch!
 
kest schrieb:
Ha-ha, lange nicht mehr so viel gelacht!
Sowohl Xilinx als auch Altera/Intel haben ihre Vor- und Nachteile. Aber dass Altera zweite Wahl ist ist sowas von falsch!

meine Aussage ist auf die SoC Plattformen bezogen ;)
 
Und was genau soll jetzt beschleunigt werden? Angeblich die virtualisierung... Also der ESX-Server. Und was soll uns jetzt der fpga sagen? Für Lan nicht zu gebrauchen, als Coprozessor aber für was?
 
@nebulus: ein FPGA ist eine frei programmierbare Logik-Gatter Anordnung. Je nach Umfang dieses Gatters kann man spezialisierte Operanten als Hardware-Gatearray definieren und auf dem FPGA-Core laden, welcher damit dann Code ausführen kann.
Eine CPU muss, wenn sie einen komplexen Befehl ausführen will, diesen in weniger komplexe Rechenoperationen zerlegen, die die CPU in Hardware tatsächlich ausführen kann. Je nach CPU-Architektur und Instruktionssatz ist diese Abstraktion aber nicht effizient ausführbar. Hier bräuchte man eine spezialisierte Schaltung, die nur diese komplexe Operation in Hardware ausführen kann. Diese müsste man dann aber konstruktiv in der CPU unterbringen. Und die Schaltung wäre nutzlos für jegliche andere Aufgabe, würde also oft einfach brach liegen.
Ein FPGA ist wie eine Maltafel, die man löschen und wiederbeschreiben kann. Hier wird eine Schaltung per Microcode hochgeladen und der FPGA ist in der Lage, diese nachzubilden und den Code darauf auszuführen. Wird der Befehl nicht mehr benötigt, lässt sich das Gatter für eine andere Aufgabe umprogrammieren.

Beispiel aus der Praxis: Es gibt bis heute keine Hardware, die das 10-bit Profil des H264-Codec ohne Softwaredecoder decodieren kann. Mit einem FPGA könnte man dem Prozessor einen solchen einprogrammieren, wenn er benötigt wird.
Dann wäre nicht mehr die Frage "Welche Hardware brauche ich um HEVC in 10bit zu decodieren", sondern "Wann kommt das Microcode-Update, damit mein Prozessor es in Hardware decodieren kann?"
Es ist ebenso denkbar, dass die Software diesen Microcode für den FPGA bereits mitbringt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DjangOC, Nilson, Bootinbull und 3 andere
-Ps-Y-cO- schrieb:
Jedenfalls kann ich mich Anfang 2017 Erinnern dass Intel eine CPU mit FPGA Rausgebracht hab, Hatte diese auf Geizhals gesehen mit "Besonderheit: FPGA" ...
Da dürftest du dich falsch erinnern


Bärenmarke schrieb:
aber die Aussage von Volker bezüglich eines FPGAs stimmt halt einfach nicht...
Du kannst ein FPGA jederzeit plattmachen und anders beschalten.
Es wird auch nichts gegenteiliges geschrieben!
 
Hast du dich hier zum trollen angemeldet?

Das steht im Text: "Denn während klassische CPUs universell für verschiedenste Aufgabenbereiche entwickelt sind, werden FPGAs in der Regel für spezielle Aufgaben eingesetzt "

Und wie oben von einem anderen User schon erläutert wurde, sind FPGAs genauso universell einsetzbar... Die Formulierung lässt da schon etwas zu wünschen übrig. Für spezielle Aufgaben nimmt man kein FPGA, das nimmt man wenn man flexibel sein möchte und sich Dinge ändern können.
 
Wie oft kann solch ein Teil eigentlich beschrieben werden?

Ggf. könnte man ja zum Beispiel, sofern das Konzept weitere Verbreitung findet, in die .NET Runtime Mechanismen einbauen, welche den Code analysieren und ggf. dann dynamisch den FPGA zu updaten, um häufig verwendeten/ performanzbringende Sektionen auf dem FPGA ausführen zu lassen?

Oder den FPGA als Compileroptimierung anbieten (Jenachdem wie lange ein solches Beschreiben dauert, macht keinen Sinn, wenn dadurch der Kontextswitch endlos lang werden würde)?
Ergänzung ()

Bärenmarke schrieb:
Und wie oben von einem anderen User schon erläutert wurde, sind FPGAs genauso universell einsetzbar... Die Formulierung lässt da schon etwas zu wünschen übrig. Für spezielle Aufgaben nimmt man kein FPGA, das nimmt man wenn man flexibel sein möchte und sich Dinge ändern können.
Leute - ja, man kann es auf verschiedene Weisen auslegen. Aber wir wissen doch was damit gemeint ist?

Da muss man echt nich auf jedem Detail rumhacken.
 
Zuletzt bearbeitet:
ghecko schrieb:
@nebulus:
Beispiel aus der Praxis: Es gibt bis heute keine Hardware, die das 10-bit Profil des H264-Codec ohne Softwaredecoder decodieren kann. Mit einem FPGA könnte man dem Prozessor einen solchen einprogrammieren, wenn er benötigt wird.
Dann wäre nicht mehr die Frage "Welche Hardware brauche ich um HEVC in 10bit zu decodieren", sondern "Wann kommt das Microcode-Update, damit mein Prozessor es in Hardware decodieren kann?"
Es ist ebenso denkbar, dass die Software diesen Microcode für den FPGA bereits mitbringt.

Das Problem ist nur, das der fpga in extrem teureren SERVER-CPUs eingebaut ist. Hier kommt es auf schnelle virtualisiserung an und auf Durchsatz von Speicher und Netzwerk. Ich kann mir in allen drei Gebeieten nicht vorstellen, was ein fpga da beschleunigen soll. LAN kann nur so schnell werden, wie der Netzwerkchip es zulässt. Und der Datandurchsatz ist vom Chipsatz abhängig und dessen Anbindung. SAS Laufwerke werden per Hadrware an Controller angeschlossen. Der FPGA kann ja nicht externe Hardware schneller machen. Sondern nur CPU interne prozesse neu implementieren in Hardware. Zumahl ein FPGA immer sehr langsam ist, ich glaube nicht das der mit dem glechen Takt läuft wie die CPU, eher langsamer.
Dann kommt noch das Problem der Software für den FPGA. Woher soll die kommen? Ein Intelmicrocode Update ist so komplex, das es 6 Monate gedauert hat um spectre und co zu killen... Wie schnell soll denn da ein fpga update kommen, um im Serverbereich ein Feature zu implementieren? Zumal ich immer noch keinen einzigen Anwendungsfall von einem FPGA in einem Server sehe...
 
nebulus schrieb:
Ein Intelmicrocode Update ist so komplex, das es 6 Monate gedauert hat um spectre und co zu killen... Wie schnell soll denn da ein fpga update kommen, um im Serverbereich ein Feature zu implementieren?
Ich glaube nicht, dass man das auch nur annähernd vergleichen kann.

Nutzen in Server scheint es tatsächlich auch zu geben: https://www.forbes.com/sites/moorin...-accelerators-may-be-contagious/#66d379b86499
https://blog.dellemc.com/en-us/fpgas-use-cases-in-the-data-center/
Ergänzung ()

Und vielleicht findet man sowas langfristig auch im Consumer-Bereich...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: nebulus
new Account() schrieb:
Wie oft kann solch ein Teil eigentlich beschrieben werden?
<...>

FPGAs gab es am Anfang tatsächlich mit EPROMS, aber das waren kleine und frühe Versionen (so um 2002 herum). Spätere FPGAs, die auch wesentlich komplexer sind, so um 2006-2008 herum wurden generell beim Einschalten programmiert, indem der Code (im Prinzip die Matrix der Verschaltung, die entwickelt wurde) in den Baustein geladen wird.
Das sieht dann so aus, dass man eine Baugruppe entwickelt, die ein oder mehrere FPGAs und andere Bauelemente enthält, und parallel dazu entwickelt man das FPGA mit Spezial-Software, die in der Lage ist, das FPGA zu erstellen (als Zeichnung oder in einer Hardware-Beschreibungssprache wie VHDL), dann das Resultat in Software zu simulieren, und den 'Code' zu erstellen, mit dem das Bauteil geladen wird.
Der Vorteil ist, dass man die Baugruppe durchaus auch schon testen kann, solange das FPGA noch nicht ganz fertig ist. Sobald die Baugruppe in Ordnung ist - mit etwas Planung kann man da auch FPGA-Erweiterungen und Änderungen schon berücksichtigen -kann das Teil bereits in Vorserie gehen, während noch immer am FPGA entwickelt wird.
Sollte sich beim Feld-Test herausstellen, dass noch Bugs im FPGA sind, kann man das ganz einfach ändern. Je nach Art der Baugruppe wird dabei das FPGA meist mit einem PROM geladen, sobald die Baugruppe eingeschaltet wird. Tauscht man den Code im PROM, hat man die neue/geänderte Schaltung im FPGA.

Deine Frage beantwortet - bei modernen FPGAs kann man das beliebig oft laden, sogar ohne abzuschalten, wenn die Hardware entsprechend entwickelt wurde.

Die Lösung mit dem FPGA in der CPU ist wirklich sehr spannend, weil wie hier schon beschrieben, kann man das FPGA im Betrieb auf eine oder mehrere Funktionen programmieren und dann sehr schnell ansprechen.

Damit lassen sich Aufgaben extrem beschleunigen, wenn man sie quasi 'on the fly' am FPGA auslagern kann. Allerdings muss natürlich vorher das FPGA mit dem Verschaltungs-Code entsprechend entwickelt und getestet werden. Das haben andere hier ja schon beschrieben.
 
Ich finde das extrem Spannend, weil man sich so die CPU auf seine Bedürfnisse konfigurieren (spezialisieren) kann. Willkommen in der Zukunft! :daumen:
 
Zurück
Oben