28 research outputs found

    ParaFPGA : parallel computing with flexible hardware

    Get PDF
    ParaFPGA 2009 is a Mini-Symposium on parallel computing with field programmable gate arrays (FPGAs), held in conjunction with the ParCo conference on parallel computing. FPGAs allow to map an algorithm directly onto the hardware, optimize the architecture for parallel execution, and dynamically reconfigure the system in between different phases of the computation. Compared to e.g. Cell processors, GPGPU's (general-purpose GPU's) and other high-performance devices, FPGAs are considered as flexible hardware in the sense that the building blocks of one or more single or multiple FPGAs can be interconnected freely to build a highly parallel system. In this Mini-Symposium the following topics are addressed: clustering FPGAs, evolvable hardware using FPGAs and fast dynamic reconfiguration

    FPGA-Cluster – Anwendungsgebiete und Kommunikationsstrukturen

    Get PDF
    Romoth J. FPGA-Cluster – Anwendungsgebiete und Kommunikationsstrukturen. Bielefeld: UniversitĂ€t Bielefeld; 2018.Fortschritte in der Fertigungstechnik von Halbleitern in Silizium ermöglichen hohe Integrationsdichten und somit den Entwurf von leistungsstarken digitalen logikverarbeitenden Elementen. Mit Hilfe hochparalleler anpassbarer flexibler Architekturen wie im Feld programmierbare Logik-Gatter-Anordnungen (engl.: Field Programmable Gate Array, FPGA) kann eine Vielzahl an Problemstellungen gelöst werden. Aufgrund der gebotenen ParallelitĂ€t ist es selbst bei den verhĂ€ltnismĂ€ĂŸig geringen Taktraten des FPGAs, die den hochspezialisierten dedizierten Schaltungen anderer Systeme gegenĂŒberstehen, möglich, harte Echtzeitschranken bei der Lösungsberechnung einzuhalten. DarĂŒber hinaus ist die Energieeffizienz aufgrund des proportionalen Einflusses der Taktrate auf die dynamische Verlustleistung von Schaltungen wesentlich höher. Dennoch erfordern unterschiedliche Anwendungsszenarien von FPGAs eine derart hohe Anzahl an Logikressourcen, dass nur die BĂŒndelung mehrerer FPGAs zu einem vernetzten Cluster eine effiziente Verarbeitung gewĂ€hrleistet. Im Verlauf dieser Arbeit werden die Anforderungen an eine FPGA-Cluster-Lösung herausgestellt. Anhand eines Überblicks ĂŒber die typischen Anwendungsfelder rekonfigurierbarer Logiksysteme können die grundlegenden Voraussetzungen identifiziert werden, die eine universell einsetzbare FPGA-Cluster-Architektur erfĂŒllen muss. Insbesondere an die Kommunikationsinfrastruktur zwischen den einzelnen FPGAs im Cluster werden hohe Anforderungen in Bezug auf die FlexibilitĂ€t gestellt. Die Anpassbarkeit an die individuellen Anforderungen der eingesetzten Algorithmen ist somit neben der Datenrate und der Latenz ein Kernelement bei der Entwicklung des FPGA-Clusters. Zur Evaluation von SystementwĂŒrfen wird eine Modellierung erarbeitet, die einen Vergleich auf Basis der Kommunikationsstrukturen ermöglicht. Eine darĂŒber hinausgehende Optimierung des die Verbindungen im Cluster beschreibenden Graphen fĂŒhrt zu einer Minimierung der Latenz von DatenĂŒbertragungen und somit zu einer Leistungssteigerung des Gesamtsystems. Die identifizierten Anforderungen an ein flexibles, modulares und skalierbares FPGA-Cluster-System werden im Rahmen der Arbeit umgesetzt, so dass der RAPTOR-XPress-FPGA-Cluster entsteht, der zudem zur Steigerung der Ressourceneffizienz auf den Mehranwenderbetrieb ausgelegt ist. Auf diese Weise lassen sich in einer Anwendung ungenutzte FPGAs parallel fĂŒr andere Aufgaben verwenden. Im Zusammenspiel mehrerer Arbeiten des Fachgebiets Kognitronik und Sensorik der UniversitĂ€t Bielefeld ist ein Beispielaufbau mit 16 RAPTOR-XPress-TrĂ€gersystemen und 64 FPGAs mit insgesamt 44 359 680 Logikzellen-Äquivalenten und 256 GB an lokalem Arbeitsspeicher realisiert worden. Durch die Umsetzung topologieoptimierter Verbindungsstrukturen kann eine gegenĂŒber vergleichbaren Systemen um 28% gesteigerte Logikdichte erreicht werden, die zusammen mit der erzielbaren Datenrate von 16 x 11,5 Gbit/s die LeistungsfĂ€higkeit der Kommunikationsinfrastruktur des FPGA-Clusters verdeutlicht

    Heterogeneous computing systems for vision-based multi-robot tracking

    Get PDF
    Irwansyah A. Heterogeneous computing systems for vision-based multi-robot tracking. Bielefeld: UniversitÀt Bielefeld; 2017

    Reconfigurable Vision Processing for Player Tracking in Indoor Sports

    Get PDF
    Ibraheem OW. Reconfigurable Vision Processing for Player Tracking in Indoor Sports. Bielefeld: UniversitĂ€t Bielefeld; 2018.Over the past decade, there has been an increasing growth of using vision-based systems for tracking players in sports. The tracking results are used to evaluate and enhance the performance of the players as well as to provide detailed information (e.g., on the players and team performance) to viewers. Player tracking using vision systems is a very challenging task due to the nature of sports games, which includes severe and frequent interactions (e.g., occlusions) between the players. Additionally, these vision systems have high computational demands since they require processing of a huge amount of video data based on the utilization of multiple cameras with high resolution and high frame rate. As a result, most of the existing systems based on general-purpose computers are not able to perform online real-time player tracking, but track the players offline using pre-recorded video files, limiting, e.g., direct feedback on the player performance during the game. In this thesis, a reconfigurable vision-based system for automatically tracking the players in indoor sports is presented. The proposed system targets player tracking for basketball and handball games. It processes the incoming video streams from GigE Vision cameras, achieving online real-time player tracking. The teams are identified and the players are detected based on the colors of their jerseys, using background subtraction, color thresholding, and graph clustering techniques. Moreover, the trackingby-detection approach is used to realize player tracking. FPGA technology is used to handle the compute-intensive vision processing tasks by implementing the video acquisition, video preprocessing, player segmentation, and team identification & player detection in hardware, while the less compute-intensive player tracking is performed on the CPU of a host-PC. Player detection and tracking are evaluated using basketball and handball datasets. The results of this work show that the maximum achieved frame rate for the FPGA implementation is 96.7 fps using a Xilinx Virtex-4 FPGA and 136.4 fps using a Virtex-7 device. The player tracking requires an average processing time of 2.53 ms per frame in a host-PC equipped with a 2.93 GHz Intel i7-870 CPU. As a result, the proposed reconfigurable system supports a maximum frame rate of 77.6 fps using two GigE Vision cameras with a resolution of 1392x1040 pixels each. Using the FPGA implementation, a speedup by a factor of 15.5 is achieved compared to an OpenCV-based software implementation in a host-PC. Additionally, the results show a high accuracy for player tracking. In particular, the achieved average precision and recall for player detection are up to 84.02% and 96.6%, respectively. For player tracking, the achieved average precision and recall are up to 94.85% and 94.72%, respectively. Furthermore, the proposed reconfigurable system achieves a 2.4 times higher performance per Watt than a software-based implementation (without FPGA support) for player tracking in a host-PC.Acknowledgments: I (Omar W. Ibraheem) would like to thank the German Academic Exchange Service (DAAD), the Congnitronics and Sensor Systems research group, and the Cluster of Excellence Cognitive Interaction Technology ‘CITEC’ (EXC 277) (Bielefeld University) not only for funding the work in this thesis, but also for all the help and support they gave to successfully finish my thesis

    Run-time reconfigurable, fault-tolerant FPGA systems for space applications

    Get PDF
    Cozzi D. Run-time reconfigurable, fault-tolerant FPGA systems for space applications. Bielefeld: UniversitÀt Bielefeld; 2016.The aim of this thesis is to investigate the use of Dynamic Partial Reconfiguration (DPR) on Commercial Off-the-Shelf (COTS) FPGAs in space applications. Reconfigurable systems gained interest in a wide range of application fields, including aerospace, where electronic devices are exposed to a harsh working environment. COTS SRAM-based FPGA devices represent an interesting hardware platform for this kind of systems since they combine low cost with the possibility to utilize state-of-the-art processing power as well as the flexibility of reconfigurable hardware. FPGA architectures have high computational power and thanks to their ability to be reconfigured at run-time, they became interesting candidates for payload processing in space applications. The presented Dynamic Reconfigurable Processing Module (DRPM) has been developed to investigate the use of the DPR approach for satellite payload processing. This scalable platform combines dynamically reconfigurable FPGAs with the required avionic interfaces (e.g., SpaceWire, MIL-STD-1553B, and SpaceFibre). In particular, a novel communication interface has been developed, the Heterogeneous Multi Processor Communication Interface (HMPCI), which allows inter-process communication with small latency and low memory footprint. Current synthesis tools do not support fully the DPR capabilities of FPGAs. Therefore, this thesis introduces INDRA 2.0: an INtegrated Design flow for Reconfigurable Architectures. The key part of INDRA 2.0 is DHHarMa: a Design flow for Homogeneous Hard Macros, which generates homogeneous hard macros for Xilinx FPGAs starting from a high-level description (e.g., VHDL). In particular, the homogeneous DHHarMa router is explained in detail, providing novel terminologies and algorithms, which have enabled the generation of homogeneous routed designs. Results have been shown that Design flow for Homogeneous Hard Macros (DHHarMa) can route homogeneously a communication infrastructure utilizing just between 1% and 31% more resources than the Xilinx router, which cannot provide a homogeneous solution. Furthermore, the permanent faults that can occur on FPGAs have been investigated. This thesis presents OLT(RE)2: an on-line on-demand approach to testing permanent faults induced by radiation in reconfigurable systems used in space missions. The proposed approach relies on a test circuit and custom placer and router. OLT(RE)2 exploits DPR to place the test circuits at run-time. Its goal is to test unprogrammed areas of the FPGA before using them. Experimental results of OLT(RE)2 have shown that is possible to generate, place, and route the test circuits needed to detect on average more than 99 % of the physical wires and on average about 97 % of the programmable interconnection points of a large arbitrary region of the FPGA in a reasonable time. Moreover, the test can be run on the target device without interfering the functional behavior of the system

    Entwurfsraumexploration eng gekoppelter paralleler Rechnerarchitekturen

    Get PDF
    Sievers G. Entwurfsraumexploration eng gekoppelter paralleler Rechnerarchitekturen. Bielefeld: UniversitĂ€t Bielefeld; 2016.Eingebettete mikroelektronische Systeme finden in vielen Bereichen des tĂ€glichen Lebens Anwendung. Die Integration von zunehmend mehr Prozessorkernen auf einem einzelnen Mikrochip (On-Chip-Multiprozessor, MPSoC) erlaubt eine Steigerung der Rechenleistung und der Ressourceneffizienz dieser Systeme. In der AG Kognitronik und Sensorik der UniversitĂ€t Bielefeld wird das CoreVA-MPSoC entwickelt, welches ressourceneffiziente VLIW-Prozessorkerne ĂŒber eine hierarchische Verbindungsstruktur koppelt. Eine enge Kopplung mehrerer Prozessorkerne in einem Cluster ermöglicht hierbei eine breitbandige Kommunikation mit geringer Latenz. Der Hauptbeitrag der vorliegenden Arbeit ist die Entwicklung und Entwurfsraumexploration eines ressourceneffizienten CPU-Clusters fĂŒr den Einsatz im CoreVA-MPSoC. Eine abstrakte Modellierung der Hardware- und Softwarekomponenten des CPU-Clusters sowie ein hoch automatisierter Entwurfsablauf ermöglichen die schnelle Analyse eines großen Entwurfsraums. Im Rahmen der Entwurfsraumexploration werden verschiedene Topologien, Busstandards und Speicherarchitekturen untersucht. Insbesondere das Zusammenspiel der Hardware-Architektur mit Programmiermodell und Synchronisierung ist evident fĂŒr eine hohe Ressourceneffizienz und eine gute Ausnutzung der verfĂŒgbaren Rechenleistung durch den Anwendungsentwickler. Dazu wird ein an die Hardwarearchitektur angepasstes blockbasiertes Synchronisierungsverfahren vorgestellt. Dieses Verfahren wird von Compilern fĂŒr die Sprachen StreamIt, C sowie OpenCL verwendet, um Anwendungen auf verschiedenen Konfigurationen des CPU-Clusters abzubilden. Neun reprĂ€sentative Streaming-Anwendungen zeigen bei der Abbildung auf einem Cluster mit 16 CPUs eine durchschnittliche Beschleunigung um den Faktor 13,3 gegenĂŒber der AusfĂŒhrung auf einer CPU. Zudem wird ein eng gekoppelter gemeinsamer L1-Datenspeicher mit mehreren SpeicherbĂ€nken in den CPU-Cluster integriert, der allen CPUs einen Zugriff mit geringer Latenz erlaubt. Des Weiteren wird die Verwendung verschiedener Instruktionsspeicher und -caches evaluiert sowie der Energiebedarf fĂŒr Kommunikation und Synchronisierung im CPU-Cluster betrachtet. Es wird in dieser Arbeit gezeigt, dass ein CPU-Cluster mit 16 CPU-Kernen einen guten Kompromiss in Bezug auf den FlĂ€chenbedarf der Cluster-Verbindungsstruktur sowie die LeistungsfĂ€higkeit des Clusters darstellt. Ein CPU-Cluster mit 16 2-Slot-VLIW-CPUs und insgesamt 512 kB Speicher besitzt bei einer prototypischen Implementierung in einer 28-nm-FD-SOI-Standardzellenbibliothek einen FlĂ€chenbedarf von 2,63 mmÂČ. Bei einer Taktfrequenz von 760 MHz liegt die durchschnittliche Leistungsaufnahme bei 440 mW. Eine FPGA-basierte Emulation auf einem Xilinx Virtex-7-FPGA erlaubt die Evaluierung eines CoreVA-MPSoCs mit bis zu 24 CPUs bei einer maximalen Taktfrequenz von bis zu 124 MHz. Als weiteres Anwendungsszenario wird ein CoreVA-MPSoC mit bis zu vier CPUs auf das FPGA des autonomen Miniroboters AMiRo abgebildet

    Mapping applications onto FPGA-centric clusters

    Full text link
    High Performance Computing (HPC) is becoming increasingly important throughout science and engineering as ever more complex problems must be solved through computational simulations. In these large computational applications, the latency of communication between processing nodes is often the key factor that limits performance. An emerging alternative computer architecture that addresses the latency problem is the FPGA-centric cluster (FCC); in these systems, the devices (FPGAs) are directly interconnected and thus many layers of hardware and software are avoided. The result can be scalability not currently achievable with other technologies. In FCCs, FPGAs serve multiple functions: accelerator, network interface card (NIC), and router. Moreover, because FPGAs are configurable, there is substantial opportunity to tailor the router hardware to the application; previous work has demonstrated that such application-aware configuration can effect a substantial improvement in hardware efficiency. One constraint of FCCs is that it is convenient for their interconnect to be static, direct, and have a two or three dimensional mesh topology. Thus, applications that are naturally of a different dimensionality (have a different logical topology) from that of the FCC must be remapped to obtain optimal performance. In this thesis we study various aspects of the mapping problem for FCCs. There are two major research thrusts. The first is finding the optimal mapping of logical to physical topology. This problem has received substantial attention by both the theory community, where topology mapping is referred to as graph embedding, and by the High Performance Computing (HPC) community, where it is a question of process placement. We explore the implications of the different mapping strategies on communication behavior in FCCs, especially on resulting load imbalance. The second major research thrust is built around the hypothesis that applications that need to be remapped (due to differing logical and physical topologies) will have different optimal router configurations from those applications that do not. For example, due to remapping, some virtual or physical communication links may have little occupancy; therefore fewer resources should be allocated to them. Critical here is the creation of a new set of parameterized hardware features that can be configured to best handle load imbalances caused by remapping. These two thrusts form a codesign loop: certain mapping algorithms may be differentially optimal due to application-aware router reconfiguration that accounts for this mapping. This thesis has four parts. The first part introduces the background and previous work related to communication in general and, in particular, how it is implemented in FCCs. We build on previous work on application-aware router configuration. The second part introduces topology mapping mechanisms including those derived from graph embeddings and a greedy algorithm commonly used in HPC. In the third part, topology mappings are evaluated for performance and imbalance; we note that different mapping strategies lead to different imbalances both in the overall network and in each node. The final part introduces reconfigure router design that allocates resources based on different imbalance situations caused by different mapping behaviors

    On-Chip-Netzwerk-Architekturen fĂŒr eingebettete hierarchische Multiprozessoren

    Get PDF
    Ax J. On-Chip-Netzwerk-Architekturen fĂŒr eingebettete hierarchische Multiprozessoren. Bielefeld: UniversitĂ€t Bielefeld; 2019.Das Ziel der vorliegenden Arbeit ist die Realisierung und Analyse einer skalierbaren Verbindungsstruktur fĂŒr ein Multi-Prozessorsystem auf einem Chip (MPSoC). Durch die zunehmende Digitalisierung werden in immer mehr GerĂ€ten des tĂ€glichen Lebens und der Industrie mikroelektronische Systeme eingesetzt. Hierbei handelt es sich hĂ€ufig um energiebeschrĂ€nkte Systeme, die zusĂ€tzlich einen stetig steigenden Bedarf an Rechenleistung aufweisen. Ein Trend, diesen Bedarf zu decken ist die Integration von zunehmend mehr Prozessorkernen auf einem einzelnen Mikrochip. Many-Core-Systeme mit vielen hunderten bis tausenden ressourceneffizienten CPU-Kernen versprechen hierbei eine besonders hohe Energieeffizienz. Im Vergleich zu Systemen mit wenigen leistungsfĂ€higen, jedoch auch komplexeren CPUs, wird bei Many-Cores die Rechenleistung durch massive ParallelitĂ€t erzielt. In der AG Kognitronik und Sensorik der UniversitĂ€t Bielefeld wird dazu das CoreVA-MPSoC entwickelt. Um hunderte von CPUs auf einen Chip zu integrieren, verfĂŒgt das CoreVA-MPSoC ĂŒber eine hierarchische Verbindungsstruktur. Diese besteht aus einem On-Chip-Netzwerk (NoC), welches eine Vielzahl von CPU-Cluster koppelt. In jedem CPU-Cluster sind mehrere ressourceneffiziente VLIW-Prozessorkerne ĂŒber eine eng gekoppelte Bus-Struktur verbunden. Der Fokus dieser Arbeit ist die Entwicklung und Entwurfsraumexploration einer ressourceneffizienten NoC-Architektur fĂŒr den Einsatz im CoreVA-MPSoC. Die Entwurfsraumexploration findet dazu auf verschiedenen Ebenen statt. Auf der Ebene der Verbindungsstruktur des NoCs werden verschiedene Topologien und Mechanismen der Flusskontrolle untersucht. Des Weiteren wird die Entwicklung und Analyse eines synchronen, mesochronen und asynchronen NoCs vorgestellt, um die Skalierbarkeit und Energieeffizienz dieser Methoden zu untersuchen. Eine weitere Ebene bildet die Schnittstelle zum Prozessorsystem bzw. CPU-Cluster, die einen maßgeblichen Einfluss auf die Softwareentwicklung und Gesamtperformanz des Systems hat. Auf Systemebene wird schließlich die Anbindung verschiedener Speicherarchitekturen an das NoC vorgestellt und deren Auswirkung auf Performanz und Energiebedarf analysiert. Ein abstraktes Modell des CoreVA-MPSoCs mit Fokus auf dem NoC erlaubt die AbschĂ€tzung von FlĂ€che, Performanz und Energie des Systems, bzw. der AusfĂŒhrung von Streaming-Anwendungen. Dieses Modell kann im CoreVA-MPSoC-Compiler fĂŒr die automatische Abbildung von Anwendungen auf dem MPSoC eingesetzt werden. Zehn Streaming-Anwendungen, vorwiegend aus dem Bereich der Signal- und Bildverarbeitung, zeigen bei der Abbildung auf einem CoreVA-MPSoC mit 32 CPUs eine durchschnittliche Beschleunigung um den Faktor 24 gegenĂŒber der AusfĂŒhrung auf einer CPU. Ein CoreVA-MPSoC mit 64 CPUs und insgesamt 3MB Speicher besitzt bei einer prototypischen Implementierung in einer 28-nm-FD-SOI-Standardzellenbibliothek einen FlĂ€chenbedarf von 14,4mm2. Bei einer Taktfrequenz von 700MHz liegt die durchschnittliche Leistungsaufnahme bei 2W. Eine FPGA-basierte Emulation auf einem FPGA-Cluster aus Xilinx Virtex-5-FPGAs erlaubt zudem eine skalierbare Verifikation eines CoreVA-MPSoCs mit nahezu beliebig vielen CPUs

    PRODUCTIVELY SCALING HARDWARE DESIGNS OVER INCREASING RESOURCES USING A SYSTEMATIC DESIGN ANALYSIS APPROACH

    Get PDF
    As processor development shifts from strict single core frequency scaling to het- erogeneous resource scaling two important considerations require evaluation. First, how to design systems with an increasing amount of heterogeneous resources, and second, how to maintain a designer’s productivity as the number of possible con- figurations grows. Therefore, it is necessary to determine what useful information can be gathered from existing designs to help predict or identify a design’s potential scalability, as well as, identifying which routine tasks can be automated to improve a designer’s productivity. Moreover, once this information is collected, how can this information be conveyed to the designer such that it can be used to increase overall productivity when implementing the design over increasing amounts of resources? This research looks at various approaches to analyze designs and attempts to distribute an application efficiently across a heterogeneous cluster of computing re- sources through the use of a Systematic Design Analysis flow and an assortment of productivity tools. These tools provide the designer with projections on the amount of resources needed to scale an existing design to a specified performance, as well as, projecting the performance based on a specified amount of resources. This is accomplished through the combination of static HDL profiling, component synthesis resource utilization, and runtime performance monitoring. For evaluation, four case studies are presented to demonstrate the proposed flow’s scalability on a small scale cluster of FPGAs. The results are highly favorable, providing orders of magnitude speedup with minimal intervention from the designer
    corecore