Wie Microsoft bereits 2014 bekannt gab, wolle man den Einsatz von FPGA Bausteinen zur Beschleunigung von bestimmen Bereichen ihrer Suchmaschine Bing testen. Wie der Konzern aus Redmond dann zwei Jahre später vermeldete, wurden die Bemühungen FPGAs in Ihren Servern einzusetzen deutlich ausgeweitet und bereits zur Beschleunigung von Azure und Office 365 genutzt. Azure nutzt FPGAs zum schnelleren „Netzwerken“ , Office 365 hingegen nutzt sie für maschinelles Lernen.
Was sind überhaupt FPGA Bausteine?
Field Programmable Gate Arays oder kurz FPGA sind Integrierte Schaltkreise (IC) in die logische Schaltungen geladen werden können. Einfach ausgedrückt, sind es Bausteine welche mit Hilfe einer Hardwarebeschreibungssprache, quasi einer Programmiersprache für Logikgatterbausteine beschrieben werden können und so in der Hardware selbst gewisse Funktionen übernehmen können. So kann mit Hilfe eines FPGA ein Prozessor gebaut werden, welcher durch ein Update im laufenden Betrieb neu aufgebaut werden kann und so neue Funktionen im laufenden Betrieb ausgerollt werden können. Im Gegensatz zu einem Software Update, werden die Änderungen und neue Funktionen aber in der Hardware selbst realisiert. Microsoft kann so seine Rechenzentren an aktuelle Bedürfnisse anpassen und gewisse Anwendungsfälle massiv beschleunigen.
Welchen Nutzen hat das für Microsoft?
Derzeit besitzt Microsoft das größte durch FPGAs beschleunigste Netzwerk, welches sich über 15 Länder und 5 Kontinente ausgedehnt. Durch dieses große Netzwerk an unterstützten Servern, könnte Microsoft ihre künstliche Intelligenz auf nahe zu Echtzeit Niveau anheben oder mit Azure den ersten KI (künstliche Intelligenz) Supercomputer der Welt bauen. Bei Microsofts eigener BUILD Konferenz Anfang des Jahres, gab man mit einer Vorschau zu Projekt Brainwave bekannt, die Kraft von programmierbaren Logikbausteinen in Azure Cloud zu integrieren und seinen Kunden zur Verfügung zu stellen.
Doch was hat das alles mit Xilinx und Intel/Altera zu tun?
Zum aktuellen Stand nutzt Microsoft ausschließlich FPGA Bausteine des Herstellers Altera, welcher sei 2015 zum Prozessorhersteller Intel gehört. Intel ist durch den Kauf nun in der Lage Prozessoren mit integriertem FPGA Anteil an seine Kunden zu verkaufen. Doch wie Bloomberg nun vor kurzem berichtet hatte, hat Xilinx überraschend den Zuschlag als neuer Zulieferer für Microsoft erhalten. Microsoft will des Berichts zu Folge nun die Hälfte seiner Server mit Xilinx Bausteinen ausstatten, statt auf Lösungen von Intel zu setzen. Microsoft, auf den Bericht von Bloomberg angesprochen, gibt an, dass es derzeit keine Änderung an der bestehenden Server Infrastruktur gibt.
Welche Möglichkeiten gibt es noch um Server zu beschleunigen?
Größtenteils werden Serverfarmen von Intel x86 bzw. AMD64 basierten Prozessoren angetrieben. Bei Datenbanken kommen durchaus aber auch exotischere Architekturen wie SPARC von Oracle/SUN oder IBM PowerPC vor. Jede Prozessorarchitektur hat dabei ihre Vor- sowie Nachteile. Intel bzw. AMD basierte Prozessoren sind als wahre Allrounder prädestiniert und finden daher den Größten Einsatz. Oracle hingegen setzt als Hersteller von Datenbankprogrammen auf die SPARC Architektur, welche durch den Kauf von Sun-Microsystems im Jahr 2010 in das Unternehmen gekommen ist. Diese sind im Gegensatz zu ihren x86/x64 Artgenossen für den Einsatz in Datenbanken optimiert.
Durch den Einsatz von NVIDIA Tesla, HGX und DGX oder AMD Radeon Pro sowie Instinct Grafiksystemen (Grafikkarten haben ihr Anwendungsgebiet mittlerweile deutlich ausgebaut und NVIDIA mit HGX UND DGX speziell auf GPU Computing optimierte Serversysteme entwickelt hat), können die Server auf speziellere Anwendungsszenarien getrimmt werden. Die Entwicklung von Neuralen Netzen, schnellen Cloud Diensten oder die Beschleunigung von Rendering Aufgaben stellen nur wenige von vielen möglichen Einsatzgebieten dar.Wird Microsoft irgendwann Intel/AMD den Rücken kehren und ihre eigenen CPUs auf Basis von FPGAs bauen? Wie seht ihr diese Entwicklung?
Erinnert irgendwie an alten pentium 2 zeiten 😂
@mx_th Zitat: „Diese sind im Gegensatz zu ihren x86/x64 Artgenossen für den Einsatz in Datenbanken optimiert.“ Bitte um Quelle/Nachweis. SPARC hat nichts mit Optimierungen für DB-Engines zu tun, ob die nun von Oracle, Microsoft (SQL Server) oder sonst wem kommen.
Big Endian / Little Endian und das Speichermanagnent sind da der „Motor“ für die DBs
@sunsailor Ich beziehe mich mit der Aussage auf folgendes Zitat der Seite Heise.de bei einem Artikel zum SPARC Sonoma: „So laufen die „In Silicon Query Engines“ jetzt unter dem Sammelbegriff Database Accelerator (DAX). Zur Datenbankbeschleunigung gehört eine Dekompression, die der M7 10,2 mal so schnell aufführen kann wie der alte T5-Prozessor“ Klingt für mich stark mach Datenbank Optimierung. Da die Teile nun mal hauptsächlich von Oracle eingesetzt werden ging ich damit auch gerade durch das Zitat oben auf eine für Datenbank optimierte Anwendung aus. Sollte ich damit falsch liegen ändere ich gerne meine Aussage.
Weitere Details sind hier einzusehen: https://www.heise.de/newsticker/meldung/SPARC-Sonoma-erster-Prozessor-mit-integriertem-InfiniBand-2790065.html Wie gesagt sollte ich mit dem Anwendungsszenario daneben liegen bitte gerne weitere Hinweise 😊
FPGAs sind eine tolle Sache und gerade in Rechenzentren sehr effektiv. Diesen Ansatz von spezialisierten Bausteinen verfolgt man allerdings schon sehr lange. Man schaut sich nur einmal die Decoder/Encoder Einheiten an welche in allen modernen GPUs vorhanden sind. Aber eine CPU kann man damit nicht komplett ersetzen, dafür fehlt einfach die Flexibilität.