TU Darmstadt / ULB / TUprints

An Improved Framework for and Case Studies in FPGA-Based Application Acceleration - Computer Vision, In-Network Processing and Spiking Neural Networks

Hofmann, Jaco (2020)
An Improved Framework for and Case Studies in FPGA-Based Application Acceleration - Computer Vision, In-Network Processing and Spiking Neural Networks.
Technische Universität Darmstadt
doi: 10.25534/tuprints-00010355
Ph.D. Thesis, Primary publication

[img]
Preview
Text
Thesis_JAH_2019.pdf
Copyright Information: CC BY-NC-ND 4.0 International - Creative Commons, Attribution NonCommercial, NoDerivs.

Download (5MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: An Improved Framework for and Case Studies in FPGA-Based Application Acceleration - Computer Vision, In-Network Processing and Spiking Neural Networks
Language: English
Referees: Koch, Prof. Dr. Andreas ; Berekovic, Prof. Dr. Mladen
Date: 2020
Place of Publication: Darmstadt
Date of oral examination: 18 December 2019
DOI: 10.25534/tuprints-00010355
Abstract:

Field Programmable Gate Arrays (FPGAs) are a new addition to the world of data center acceleration. While the underlying technology has been around for decades, their application in data centers slowly starts gaining traction. However, there are myriad problems that hinder the widespread application of FPGAs in the data center. The closed source tool chains result in vendor lock-in and unstable tool flows. The languages used to program FPGAs require different design processes which are not easily learned by software developers. Compared to commodity solutions using CPUs and GPUs, FPGAs are more expensive and more time consuming to develop for. All of this and more make FPGAs a tough sell to people in need of task acceleration.

Nonetheless, FPGAs also offer an opportunity to develop faster accelerators with a smaller energy envelop for rapidly changing applications. This work presents a solution to FPGA abstraction using the TaPaSCo framework. TaPaSCo simplifies moving between different FPGA architectures and automates scaling of accelerators across a multitude of devices. In addition, the framework provides a homogenized way of interacting with the accelerators.

This thesis presents applications where FPGAs offer many benefits in the data center. Applications such as Semi-Global Block Matching which are difficult to compute on CPUs and GPUs due to the specific data transfer patterns, can be implemented highly efficiently an FPGAs. The presented work achieves over 35x of speedup on FPGAs compared to implementations of GPUs.

FPGAs can also be used to improve network efficiency in the data center by replacing central network components with smart switches. The work presented here achieves up to 7x speedup over a classical distributed software implementation in a hash join scenario.

Furthermore, FPGA can be used to bring new storage technologies into the data center by providing highly efficient consensus services right inside the network. The presented work shows that fetching pages remotely using a FPGA accelerated consensus system can be done as fast as 10us over the network which is only 55% of a conventional solution. These results make non-volatile network storage solutions as replacement for main memory viable.

Lastly, this thesis presents a way of simulating parts of a brain with a very high level accuracy using FPGA. The spiking neural networks employed in the accelerator can benefit the research of brain functionality. The accelerator is capable of handling tens of thousands of neurons with a strict real time requirement of 50us per simulation step.

Alternative Abstract:
Alternative AbstractLanguage

Field Programmable Gate Arrays (FPGAs) sind eine neue Art von Beschleunigern in der Welt der Rechenzentren. Während die grundlegende Technologie bereits seit Jahrzehnten verwendet wird, ist ihr Einsatz in Rechenzentren neu. Sie setzen sich dort aufgrund einer Vielzahl von Problemen nur langsam durch. Die proprietäre Software, die die Nutzung von FPGAs ermöglicht, sorgt dafür, dass zum einen der Wechsel des Herstellers schwierig ist und zum anderen die Tools oft von Stabilitätsproblemen geplagt werden. Die Programmiersprachen für FPGAs benötigen eine völlig andere Entwurfsmethodik, was deren Verwendung für Softwareentwickler erschwert. Im Vergleich zu verbreiteten Lösungen, die auf CPUs und GPUs basieren, ist die Entwicklungszeit für FPGA-basierte Lösungen höher. All diese Aspekte verzögern den Durchbruch von FPGAs in Rechenzentren.

Trotzdem bieten FPGAs die Möglichkeit, effizientere und schnellere Beschleuniger für eine große Zahl von sich schnell ändernden Applikationen zu entwickeln. Diese Dissertation präsentiert TaPaSCo als eine Lösung zur Abstraktion von FPGAs. Das Framework erleichtert das Wechseln zwischen verschiedenen FPGA-Architekturen. Außerdem automatisiert die Software die Skalierung der Beschleuniger für eine große Anzahl von Plattformen. Zusätzlich ermöglicht TaPaSCo eine einheitliche Interaktion mit verschiedenen FPGAs.

Des Weiteren präsentiert diese Arbeit Anwendungen, in denen FPGAs einen deutlichen Mehrwert in Rechenzentren bieten können. Anwendungen wie das Semi-Global Block Matching sind durch ihre Kommunikationsmuster auf CPUs und GPUs schwer zu berechnen. Auf FPGAs können diese Muster allerdings sehr effizient implementiert werden. Der vorgestellte Beschleuniger erreicht eine Verbesserung von über 35x im Vergleich zu einer Implementierung auf GPUs.

Andere Einsatzgebiete für FPGA finden sich in den Netzwerken der Rechenzentren, in denen sie als intelligente Switches die Effizienz der Datenkommunikation steigern können. Bei einem verteilten Hash Join, der eine typische Arbeitslast von verteilten Datenbanken ist, erreicht eine Implementierung in einem FPGA eine Verbesserung von 7x über eine klassische Implementierung.

Zudem können FPGAs eingesetzt werden, um völlig neue Speichertechnologien in die Datenzentren zu bringen, indem sie an zentraler Stelle Konsensus-Dienstleistungen erbringen. Die vorgestellte Arbeit zeigt, dass eine Speicherseite, die über das FPGA gesteuerte Konsensus-Netzwerk abgefragt wird, eine Latzen von nur 10us hat, was einer Verschlechterung gegenüber einer lokalen Abfrage von nur 55% entspricht. Solch ein Konsensus-System ermöglicht es, nicht-flüchtige Netzwerkspeicher als Ersatz für lokale Hauptspeicher zu verwenden.

Zum Abschluss präsentiert diese Dissertation einen Beschleuniger, der auf FPGAs die Neuronen eines Gehirns sehr genau simulieren kann. Die "Spiking Neural Networks'', die dafür verwendet werden, können in der Gehirnforschung als Ersatz zur in-vivo Forschung eingesetzt werden. Der Beschleuniger kann mehrere zehntausend Neuronen pro Simulationsschritt berechnen, während er eine starke Echtzeitbedingung von 50us einhält.

German
URN: urn:nbn:de:tuda-tuprints-103551
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Embedded Systems and Applications
Date Deposited: 13 Jan 2020 08:56
Last Modified: 09 Jul 2020 03:15
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/10355
PPN: 457882662
Export:
Actions (login required)
View Item View Item