Das Mango-Projekt

Die Bedeutung von FPGAs für das High-Performance-Computing

| Autor / Redakteur: Philipp Ampletzer / Johann Wiesböck

Das proFPGA quad Motherboard mit Virtex®-7 FPGA-Modulen: proFPGA System ist ein äußerst flexibles und skalierbares High-Performance-FPGA-System und eine der leistungsfähigsten Multi-FPGA-Plattformen auf dem Markt.
Das proFPGA quad Motherboard mit Virtex®-7 FPGA-Modulen: proFPGA System ist ein äußerst flexibles und skalierbares High-Performance-FPGA-System und eine der leistungsfähigsten Multi-FPGA-Plattformen auf dem Markt. (Bild: PRO DESIGN Electronic)

Im EU-Förderprojekt „Mango“ werden Multi-Kern-Architekturen für zukünftige High-Performance-Computing-Systeme erforscht. Im Projekt wird ein neuer Ansatz verfolgt, verschiedene Prozessor-Kerne wie High-End-CPUs, Grafikprozessoren und FPGAs zu kombinieren, um höchst anspruchsvolle Anforderungen verschiedenster Anwendungen zu erfüllen.

Das Mango-Projekt wird von der EU im Rahmen des „H2020-FETHPC-2014“ Programms gefördert. Es verfolgt den Ansatz einen großen heterogenen High-Performance-Computing-Prototypen zu bauen, welcher auf modernen High-End-Prozessoren (CPUs), Graphikprozessoren (GPUs), low-power ARM-Prozessoren und FPGAs basiert. Der Prototyp hat eine gemeinsame Verbindungsarchitektur, um alle Komponenten effizient zu verbinden sowie ein innovatives Kühl- und Power-Monitoring-System.

Die Projektleitung hat die Universitat Politécnica de Valéncia (Spanien). Zum Mango-Konsortium gehören zudem Centro Regionale Information Communication Technology und Politecnico di Milano (beide Italien), University of Zagreb (Kroatien), Pro Design Electronic GmbH (Deutschland), Thales Communications & Security S.A.S. und Eaton (beide Frankreich), École Polytechnique Fédérale de Lausanne (Schweiz) sowie Philips Healthcare (Niederlande).

Mango hat sich zum Ziel gesetzt Multi-Kern-Architekturen für künftige HPC-Systeme zu erforschen. Die Idee dabei ist ein wieder-konfigurierbares HPC-System zu schaffen, welches die Anforderungen verschiedenster Applikationen mit unterschiedlichen Anforderungen erfüllt. Die Herausforderung besteht darin, die jeweils beste Kombination aus verfügbaren Rechnereinheiten (CPUs, GPUs und FPGAs) zu finden.

Stromverbrauch, Leistungsfähigkeit und Zuverlässigkeit

Dabei ist muss insbesondere auf Stromverbrauch, Leistungsfähigkeit und Zuverlässigkeit geachtet werden wie das 3P-Modell (siehe: Bildergalerie) zeigt. Gleichzeitig soll die Benutzerfreundlichkeit durch das Verbessern von Programmierbarkeit, Integration und Servicequalität (QoS) optimiert werden.

Das Mango-System besteht aus drei Teilen – Hardware, Software und Applikationen. Die MANGO-Hardware beinhaltet universale Rechnerknoten (GNs), bestehend aus Blades mit CPUs und GPUs, sowie heterogene Beschleunigungsknoten (HNs) aus ARM-Prozessoren und FPGAs. Eine gemeinsame Verbindungsinfrastruktur ermöglicht es alle Komponenten effizient zu verbinden.

Zusätzlich gibt es ein Software-Paket basierend auf einem Linux-Betriebssystem. Dieses besteht aus Compilern und Programmiermodellen für die verschiedenen Rechnereinheiten sowie einem Ressourcen-Manager, der die zu verarbeitenden Daten analysiert und die beste Kombination der Rechnereinheiten auswählt und zuordnet. Der Ressourcen-Manager wird durch ein Programm kontrolliert, welches laufende Prozesse, Status, Betriebstemperatur und Stromverbrauch berücksichtigt.

Der dritte Teil des Mango-Systems sind Anwendungen und reale Fallstudien zur Verifikation neuer Architekturen. Dazu gehören Applikationen aus den Bereichen Transcodierung, Medizintechnik, Imaging, Sicherheit, Big Data und Kommunikation.

Die Hardware

Die universalen Rechnerknoten (GNs) des Mango-Systems bestehen aus einem skalierbaren Server aus Standard-Blades mit Intel-Prozessoren (CPUs) und Grafikprozessoren (GPUs).

Die heterogenen Beschleunigungsknoten (HNs) bestehen aus „Xilinx Zynq-7000“, „Xilinx Virtex-7“ und „UltraScale“- FPGA-Modulen aus der „proFPGA“-Produkt-Familie von Pro Design. Zynq-FPGAs haben einen eingebetteten ARM-Prozessor und einen FPGA-Teil während Virtex-Bausteine reine FPGAs mit größtmöglicher Logik-Kapazität sind.

Die oben genannten FPGA-Module können beliebig kombiniert und auf das „proFPGA quad“-Motherboard (später auf ein spezifisches Chassis), welches Steckplätze für 4 solcher Module hat, aufgesteckt werden. Mehrere solcher Motherboards können zu größeren Systemen miteinander verbunden werden. Das Baukastenprinzip ermöglicht das Upgrade beziehungsweise Downgrade des HN-Setups in Schritten von nur einem FPGA-Modul und erlaubt es HN-Cluster mit einer fast unbegrenzten Anzahl an FPGA-Modulen zu bilden.

Die Verbindungen zwischen den FPGA-Modulen werden mit Interconnect-Kabeln hergestellt, welche die regulären FPGA I/Os miteinander verbinden. Multi-Gigabit-Transceiver (MGT)-Verbindungen zwischen FPGAs werden über Extension-Boards mit optischen Schnittstellen, zum Beispiel Gigabit Ethernet oder QSFP+, realisiert. Ein PCIe- oder Ethernet-Link verbindet das proFPGA System mit dem Blade-Server und ermöglicht einen superschnellen Datenaustausch zwischen GNs und HNs.

Rechner-Einheiten

Im HPC-Bereich werden die meisten Rechenaufgaben von Hochleistungsprozessoren (CPUs), welche primär für die serielle Verarbeitung von aufeinander folgenden Daten ausgelegt sind, übernommen. GPUs hingegen haben eine immense Parallel-Architektur mit Tausenden von kleineren, effizienteren Rechnereinheiten, welche dazu entwickelt wurden, mehrere Aufgaben parallel durchzuführen.

GPU-beschleunigtes Co-Processing, bei dem rechenintensive Funktionen an Grafikprozessoren ausgelagert werden, währen der Rest des sequentiellen Codes von der CPU verarbeitet wird, bietet eine weit höhere Performance, was sich in einer deutlich kürzeren Verarbeitungszeit widerspiegelt. Allerdings kann diese Methodik nicht auf alle Algorithmen übertragen werden.

FPGAs bieten eine sehr hohe I/O-Bandbreite und ermöglichen eine programmierbare, fein unterteilbare, individuelle und flexible Parallelisierung. FPGAs haben aufgrund Ihrer Parallelverarbeitungsmöglichkeiten an Marktanteilen im HPC-Bereich gewonnen und werden aufgrund ihrer zunehmenden Reife und Fähigkeiten immer wichtiger. Zwar sind sie nach wie vor vergleichbar schwierig zu programmieren, allerdings nähern sie sich laut jüngsten Trends immer näher an Verfahrenssprachen und OpenCL an.

FPGAs im MANGO-Projekt

Der größte Vorteil von FPGAs ist ihre Vielseitigkeit. Im Mango-Projekt werden sie in zweierlei Hinsicht genutzt – einmal für Datenverarbeitungsaufgaben und zum anderen als Emulationsplattform.

Als Datenverarbeitungsplattform werden sie zur beschleunigten Verarbeitung von Massendaten genutzt. In diesem Fall ist das FPGA eine Rechner-Einheit aus dem Gesamtsystems. In Mango wird dieser Ansatz durch dedizierte Beschleunigungsdesigns validiert.

Im anderen Fall werden FPGAs als Emulationsplattform genutzt. Hier liegt der Fokus auf der Erforschung von neuen Architekturen – sowohl auf System-Ebene (NoC oder Multi-Core) wie auch auf Datenverarbeitungs-Ebene. Emulierte Systeme sind universelle von Software programmierbare Rechnereinheiten. In Mango zielt dieser Ansatz auf funktionale Aspekte ab und ermöglicht die Validierung des Software-Stacks. Die physikalische Leistung wird über Leistungsindikatoren ermittelt, Verbesserungen sind dabei relativ zu sehen.

Mein Fazit: Somit zeigt das EU-Projekt Mango die Bedeutung von FPGAs für heutige und künftige HPC-Systeme. FPGAs ermöglichen Entwicklern verschiedene Multi-Kern-Architekturen zu erforschen und sind gleichzeitig nicht wegzudenken als Hardware-Beschleuniger für die Verarbeitung von Massendaten. Durch die Unterstützung von vielversprechenden Projekten wie Mango rüttelt die EU an der Vorherrschaft der Amerikaner im HPC-Bereich. Auch wenn es für Europa noch ein weiter Weg ist, so sind wir doch dabei aufzuholen.

Anmerkung: Der Artikel erschien im Original bei der Schwesterpublikation „Elektronik Praxis

* Philipp Ampletzer ist tätig als Director Sales & Business Development bei der Pro Design Electronic GmbH.

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44468939 / Komponenten)