Logikchips für die Hyperscaler-Cloud

Volle Kontrolle für den Benutzer

Die Konfiguration und Kontrolle der cloudFPGA geschieht über eigens von den IBM-Forschern programmierte Software, darunter Entwickler-Kit, Ressourcenmanager, Unterstützungspakete etc. Die Software basiert auf einer Shell/Role-Architektur, wobei die Shell die Logik ist, die Systemfunktionen wie die Netzwerkanbindung implementiert. Role ist die Logik des Benutzers, bei der es sich um selbst programmierte Algorithmen handeln kann oder um eine Funktion aus einer Bibliothek. Wie IBM-Wissenschaftler Abel ausführt, gibt es derzeit Bibliotheken für Bildverarbeitung, Finanzalgorithmen, Videokodierung. Weiter könnten FPGAs beispielsweise auch zur Beschleunigung von Anwendungen mit künstlicher Intelligenz, Datei- oder Videokompression, Verschlüsselung etc. eingesetzt werden, doppelt er nach.
“Das cloudFPGA ist leistungsfähiger als neuere kommerzielle Server-Hardware„
François Abel, IBM Research Zurich
Da die FPGAs direkt mit dem Netzwerk verbunden sind, kann der Benutzer eine direkte Verbindung zu ihnen herstellen. Diese Netzwerkanbindung macht es einfach, die Anzahl der verwendeten FPGAs zu erhöhen oder zu verringern sowie die Anzahl der genutzten FPGAs durch den Betreiber des Rechenzentrums zu skalieren. Ausserdem kann die direkte Netzwerkanbindung die Kommunikationsverzögerung zwischen Benutzer und FPGAs reduzieren.

Vergleich mit kommerzieller Hardware

Im Unterschied dazu gibt es heute bei den Hyperscalern zwar FPGA-Ressourcen, die aber hauptsächlich als Co-Prozessoren genutzt werden. Der Benutzer hat zum Beispiel bei Microsoft Azure NP-series maximal vier FPGAs zur Verfügung, denen allerdings eine herkömmliche CPU vorgeschaltet ist. Anwendungsfälle sind laut Microsoft unter anderem Datenbank-Analytics, Machine Learning und Video Transcoding.
Den Vergleich mit den kommerziellen Alternativen muss die Entwicklung von IBM Reseach Zurich nicht scheuen.
Die sechs Entwickler zeigten in mehreren Benchmarks, wie leistungsfähig ihr System ist. Als Vergleichskonfiguration diente ihnen ein IBM Power System S822L mit zwei Power8-CPUs und vier Tesla-Stream-Prozessoren von Nvidia. Der kommerzielle Server erreicht beim Single-Precision-Benchmark 42 Teraflops (Trillion Floating Point Operations Per Second, Deutsch: Billionen Gleitkommaoperation pro Sekunde). Beim Half-Precision-Test schafft das System 85 Teraflops. Die FPGA-Maschinen aus den Rüschlikoner IBM-Labors kommen auf 53 Teraflops respektive 106 Teraflops.
Für Abel und seine Kollegen sind die Benchmark-Resultate eine schöne Bestätigung ihrer Arbeit, weil ihr cloudFPGA, der auf 20-Nanometer-Transistor-Technologie basiert, es auch schaffte, neuere GPU-Systeme mit 12-Nanometer-Technologie zu übertrumpfen.
Aktuell wird cloudFPGA als Hardware-Plattform für das EU-Projekt «Everest» verwendet. Eines der Ziele ist es, die Vorteile der FPGA-Beschleunigung zu demonstrieren, z. B. in Anwendungen wie einem auf Wetteranalysen basierenden Vorhersagemodell für die Produktion erneuerbarer Energien oder der Modellierung des Verkehrs in intelligenten Städten. Zudem können Interessenten das quelloffene «cloudFPGA Development Kit» via GitHub (www.github.com/cloudFPGA) beziehen und selbst testen.



Das könnte Sie auch interessieren