Themen für Bachelor- und Masterarbeiten
🡲 Computational Storage mit FPGA und NVMe Flash
🡲 Programmierung von FPGAs in C/C++/SystemC
Internet Protokolle im FPGA
Sowohl in Rechenzentren als auch in der Vernetzung von verteilten (eingebetteten) Systemen werden immer höhere Bandbreiten benötigt. Sowohl Ethernet, drahtgebunden mit 100/200/400 Gigabit, als auch 5G URLLC (drahtlos) bieten hier hohe Datenraten. Darauf setzen Internet-Transportprotokolle auf, wie das mittlerweile fast 50 Jahre alte TCP (Transmission Control Protocol). TCP hat bei diesen hohen Datenraten aber auch Nachteile:
- Die physikalisch zur Verfügung stehende Datenrate kann nicht immer voll ausgenutzt werden, u.a. durch das sog. Congestion Control.
- Das Senden und das Empfangen der Nutzdaten verursacht eine signifikante CPU-Last.
- Die Latenzen sind schwer abschätzbar und können im Worst-case wesentlich länger dauern.
In enger Zusammenarbeit mit Experten der Fraunhofer Gesellschaft, an den Universitäten Stanford, Berlin und Ulm, sowie bei AMD/Xilinx, Achronix, Intel und Microchip untersuchen wir zum einen unterschiedliche Implementierungen von TCP/IP sowohl in Software als auch im FPGA. Zum anderen erweitern wir alternative Transportprotokolle auf Basis von Open-Source, wie z. B. “FlexTOE” oder “Homa”.
Im Rahmen mehrerer unabhängiger Bachelor- und Masterarbeiten bieten wir an, diverse Aspekte mit uns mit zu untersuchen und dabei gleichzeitig Einblick in modernste Rechnerarchitekturen zu erhalten. Themen sind unter anderem:
- Untersuchung des Latenzverhaltens z. B. durch Instrumentieren der FPGA-Hardware und/oder Tracing im Linux Kernel
- Deep-Packet-Inspection und TCP/IP-Analyse mittels „Wireshark im FPGA“
- Hybride Beschleuniger z.B mit DPDK und FPGA
- FPGA-Beschleunigung des Open-Source Homa-Protokolls
- Benchmarking und Optimierung des Open-Source Corundum.io In-Network Processors
Themen können auch im Rahmen eines Industriepraktikums bei uns bearbeitet werden.
Wir bieten: Einblick in modernste FPGA-Technologien, Einführung in moderne Tools und Methoden zum Entwurf FPGA-basierter System-on-Chips, Zusammenarbeit mit “Nerds” weltweit.
Voraussetzungen: Programmierkenntnisse in C, C++ und/oder SystemC, Grundwissen in FPGA und digitalen Schaltungen, Linux; Organisiertes Arbeiten in kleinen Teams.
Missing Link Electronics GmbH
Industriestraße 10
89231 Neu-Ulm
Tel: +49 (731) 141149-14
jobs@mlecorp.com
www.MLEcorp.com
Computational Storage mit FPGA und NVMe Flash
Non-Volatile Memory (NVM) oder auch Flash Memory ist eine wichtige Komponente in modernen Rechnern, vor allem auch im High-Performance Computing Bereich. Durch die im Vergleich zu Festplatten deutlich höhere Geschwindigkeit werden neue Bottlenecks in der Performanz sichtbar. Deshalb wurden althergebrachte (Legacy) Protokolle wie SATA und SAS durch NVM Express (NVMe) ersetzt. NVMe basiert auf PCIe und unterstützt in der 5. Generation Datenraten für SSD von 8 GB/sec (für PCIe 5.0 x4), bzw. mehr bei einer breiteren PCIe-Verbindung. Um bei solchen Geschwindigkeiten Daten lesen und schreiben zu können, braucht man entweder sehr schnelle CPUs — mit entsprechend hoher Verlustleistung — oder “geschickte” FPGA-Architekturen.
In enger Zusammenarbeit mit Partnern wie AMD/Xilinx, Intel, Kioxia untersuchen wir solche FPGA-basierten Speicherarchitekturen. Im Rahmen mehrerer unabhängiger Bachelor- und Masterarbeiten bieten wir daher an, diverse Aspekte mit uns mit zu untersuchen und dabei gleichzeitig Einblick in modernste Rechnerarchitekturen zu erhalten. Themen sind unter anderem:
- Vernetzung von Flash-Speichersystemen via PCIe/NVMe oder PCIe/CXL
- Zusammenspiel zwischen “Software-Enabled Flash” (SEF) und FPGA für Highspeed Kameras
- Ansteuerung und Benchmarking von Flash-DIMM an FPGAs via ONFI
- Neue Architekturen für nicht Datei-basierte schnelle Massenspeicher (sog. Object-Stores oder Key-Value Stores)
- Neue Architekturen für sog. Computational Storage, bei denen die Datenverarbeitung direkt in der SSD durchgeführt wird
Themen können auch im Rahmen eines Industriepraktikums bei uns bearbeitet werden.
Wir bieten: Einblick in modernste FPGA-Technologien, Einführung in moderne Tools und Methoden zum Entwurf FPGA-basierter System-on-Chips, Zusammenarbeit mit “Nerds” weltweit.
Voraussetzungen: Programmierkenntnisse in C, C++ und/oder SystemC, Grundwissen in FPGA und digitalen Schaltungen, Linux; Organisiertes Arbeiten in kleinen Teams.
Missing Link Electronics GmbH
Industriestraße 10
89231 Neu-Ulm
Tel: +49 (731) 141149-14
jobs@mlecorp.com
www.MLEcorp.com
Programmierung von FPGAs in C/C++/SystemC
Mittlerweile zeichnet sich in der Mikroelektronik klar ab, dass Moore’s Law und Dennard-Skalierung nicht mehr die erwarteten Performanzsteigerungen bringen werden, wie noch vor 10 Jahren erwartet wurde. Die Taktfrequenzen von CPUs – ein wichtiges Kriterium für Rechnerperformanz – werden eher langsamer, u.a. um die Verlustleistung zu verringern. Und trotz vieler erfolgversprechender Ansätze wie z.B. vom UC Berkeley ParLab bieten auch Multicore CPUs nicht mehr die erwarteten Performanzgewinne.
Daher geht der Trend dahin, andere Rechnerarchitekturen wie z.B. GPUs und seit kurzem auch FPGAs in heterogenen Rechnerarchitekturen einzusetzen. So setzen Amazon, Microsoft und Google mittlerweile sehr erfolgreich FPGAs zur Beschleunigung ein. Neueste FPGA-Bausteine bieten nämlich ein Mehrfaches an Rechenleistung: Ein Intel Stratix 10 SX2800 bietet 9200 GFLOPS, ein Intel Xeon E5 nur 72 GFLOPS. Leider ist die Programmierung von FPGAs in VHDL oder Verilog HDL weder einfach noch besonders effizient.
In enger Zusammenarbeit mit Partnern wie AMD/Xilinx und Intel untersuchen wir daher Programmiermethodiken für FPGAs auf Basis von Programmiersprachen C/C++/SystemC und unter Verwendung sog. High-Level-Synthese. Im Rahmen mehrerer unabhängiger Bachelor- und Masterarbeiten bieten wir an, diverse Möglichkeiten mit uns mit zu untersuchen und dabei gleichzeitig Einblick in modernste Rechnerarchitekturen zu erhalten. Themen sind unter anderem:
- Benchmarking von Open-Source High-Level Synthese wie Intel Compiler for SystemC (ICSC) oder Google’s Accelerated HW Synthesis (XLS)
- “Overclocking” von FPGAs via Intel Agilex HyperFlex oder AMD/Xilinx Versal NoC
- Auslagern von Datenprotokollen aus Open-Source Linux in FPGA-Beschleuniger
Themen können auch im Rahmen eines Industriepraktikums bei uns bearbeitet werden.
Wir bieten: Einblick in modernste FPGA-Technologien, Einführung in moderne Tools und Methoden zum Entwurf FPGA-basierter System-on-Chips, Zusammenarbeit mit “Nerds” weltweit.
Voraussetzungen: Programmierkenntnisse in C, C++ und/oder SystemC, Grundwissen in FPGA und digitalen Schaltungen, Linux; Organisiertes Arbeiten in kleinen Teams.
Missing Link Electronics GmbH
Industriestraße 10
89231 Neu-Ulm
Tel: +49 (731) 141149-14
jobs@mlecorp.com
www.MLEcorp.com