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

Volker

Ost 1
Teammitglied
Dabei seit
Juni 2001
Beiträge
14.298
#1
Dabei seit
Apr. 2013
Beiträge
2.212
#2
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.
 

Whiskey Lake

Lt. Junior Grade
Dabei seit
Mai 2018
Beiträge
349
#4
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,...
 
Dabei seit
Okt. 2007
Beiträge
3.605
#5
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:

ghecko

Commander
Dabei seit
Juli 2008
Beiträge
2.609
#6
Programmierbare HW-Decoder/Encoder :freaky:
Das sollte Schule machen.
 
Dabei seit
Apr. 2013
Beiträge
2.212
#7
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.
 
Dabei seit
Juli 2010
Beiträge
250
#8
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
 

kest

Cadet 4th Year
Dabei seit
Mai 2011
Beiträge
86
#9
Dabei seit
Juli 2010
Beiträge
250
#10

nebulus

Lt. Commander
Dabei seit
Mai 2015
Beiträge
1.586
#11
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?
 

ghecko

Commander
Dabei seit
Juli 2008
Beiträge
2.609
#12
@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:

Whiskey Lake

Lt. Junior Grade
Dabei seit
Mai 2018
Beiträge
349
#13
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


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!
 
Dabei seit
Apr. 2013
Beiträge
2.212
#14
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.
 
Dabei seit
Mai 2018
Beiträge
221
#15
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 ()

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:

nebulus

Lt. Commander
Dabei seit
Mai 2015
Beiträge
1.586
#17
@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...
 
Dabei seit
Mai 2018
Beiträge
221
#18
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:

DerMagus

Cadet 3rd Year
Dabei seit
Sep. 2002
Beiträge
48
#19
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.
 
Dabei seit
Nov. 2008
Beiträge
9.386
#20
Ich finde das extrem Spannend, weil man sich so die CPU auf seine Bedürfnisse konfigurieren (spezialisieren) kann. Willkommen in der Zukunft! :daumen:
 
Top