Performancevergleich DSP vs. FPGA Werner FRIESENBICHLER 0526423
Aufgabenstellung Wählen Sie (begründet) einzelne Benchmark-Applikationen und diskutieren Sie Hinweise dafür, warum diese auf einem FPGA bzw. auf einem DSP bessere Performance erreichen können. Wie sieht das für ASIC bzw. Standard-Prozessor aus? Lassen sich allgemeine Schlüsse für einen Performance-Vergleich HW/SW ziehen?
Benchmarks für digitale Signalverarbeitung Einfache Operationen der digitalen Signalverarbeitung MAC/s (Mutliply and Accumulate), einfach aber ungenau Volle Applikation – System Performance Modem, Decoder, zu aufwendig, für DSPs alleine ungeeignet Kernels FFT, FIR, IIR, Viterbi-Decoder, optimal für DSPs aber auch für FPGAs? Für FPGAs sind solche Kernels ungeeignet Nicht nur dezidierte DSP-Einheiten sondern auch verteilte Ressourcen Unterschiedliche Realisierungsmöglichkeiten Was geben nun die Hersteller an?
Benchmark Vergleich DSP FPGA … bis zu 40x schneller als DSPs Texas Instruments, C6x Serie, 1 GHz, 8 GMAC/s, 1.65 W, $100, (Fixed P.) Analog Devices, TigerSharc, 600 MHz, 4.8 GMAC/s, 1.5 W, $177, (Floating P.) FPGA Altera Stratix II: 384 18x18-bit Mult., 450 MHz, 346 GMAC/s, z.B. 3.45 mW/MHz pro Mult., $200 - $10.000 Xilinx Virtex-5 SXT, 550 MHz, 350 GMAC/s, >$300 Xilinx Spartan-3A DSP, 30 GMAC/s, $30 (!) (Xilinx Feb 2007) … bis zu 40x schneller als DSPs Stimmt das auch in der Realität?
DSP-Benchmarks für FPGAs Berkley Design Technology Inc. (BDTI) => einzelne Algorithmen sind ungeeignet für einen echten Performance-Vergleich DSP vs. FPGA Betrachtung einer kompletten Applikation Beispiel: OFDM-Empfänger (http://www.bdti.com/)
Vergleichsparameter & Ergebnisse Zwei Ziele festgelegt: 1) Maximierung der Anzahl der Kanäle 2) Minimierung der Kosten pro Kanal Ergebnisse (2006) Sind FPGAs daher besser ? 20 x
Resümee des BDTI-Benchmarks FPGAs zeigen höhere Performance als DSPs, aber ... FPGA schlägt DSP in Kosten / Kanal (Faktor 10-20) Höhere Gesamtkosten Komplexerer Designprozess (VHDL, Verilog, Synthese, Hardwarekenntnisse) Softwaretechniker haben oftmals keine adequate Ausbildung in Hardware-Entwicklung und Hardware-Entwurfssprachen Nicht so ausgereifte Design-Tools wie für DSPs (trotz IP-Cores)
Gründe für unterschiedliche Performance DSP 1 oder 2 Rechenwerke Optimaler Zugriff auf Befehls- und Datenspeicher Effizienter Befehlssatz (VLIW) Serieller Algorithmus auf Geschwindigkeit optimiert FPGA „Sea of Gates“ hohe Anzahl von DSP-Funktionen (Multiplizierer) = viele Rechenwerke Paralleler Algorithmus Probleme bei Speicherzugriff, variable Koeffizienten Performance hängt stark von der Applikation ab
Performance-Vergleich HW/SW Stärken Hardware (FPGA) Repetitive Algorithmen Hohe Rechenleistung durch Parallelisierung Unterschiedliche Bit-Breiten in einem System (Resolution Optimization) Physikalische Layer-Implementierung (Ethernet) Validation / Verifikation nicht so aufwendig wie in SW Software (DSP) Adaptive Algorithmen, Verzweigungen Billig – Consumer Products Kurze Entwicklungszeiten Timinganalyse unkritischer (vgl. SPEAR) Floating Point Units bereits vorhanden Protokoll-Stacks (TCP, UDP) Pre-Processing Post-Processing
Schlussfolgerung: Warum nicht beides nutzen... FPGA als Co-Prozessor eines DSP Bildverarbeitung FPGA übernimmt repetitiven Aufgaben (Filter, Maskierung, etc.), DSP kümmert sich um Objekterkennung und Programmfluss JPEG2000 (10x höhere Performance mit Co-Prozessor, http://www.broadmotion.com) Kommunikation, Netzwerk Navigationsempfänger, Radar, Aerospace, Military
ASIC & Standardprozessor höhere Packungsdichte, mehr Performance, geringe Verlustleistung, billiger bei hohen Stückzahlen nicht rekonfigurierbar, hohe Einmalkosten Standardprozessor (Pentium, PowerPC) 64-bit Architektur (4 x Standard DSP), SIMD Instruction Sets, höhere Peak-Performance als DSPs höhere Leistung, teurer, Probleme beim Handling großer Datenmengen, Ausführungszeiten schwierig vorhersagbar – Probleme bei Echtzeitanwendungen (http://www.bittware.com)
DSP vs Standardprozessor (1) FIR Filter (Clockzyklen) www.univ.trieste.it/~carrato/didatt/dsp_mcu/dsp/slides/dsp_intro_3.ppt
DSP vs Standardprozessor (2) FIR Filter (Ausführungszeit in Mikrosekunden)
DSP vs Standardprozessor (3) Leistungseffizienz
Quellen http://www.xilinx.com http://www.altera.com http://www.analog.com/processors http://dspvillage.ti.com http://www.dsp-fpga.com http://www.bdti.com The Art Of Processor Benchmarking: What makes a good benchmark, and why you should care (http://www.bdti.com/articles/artofbenchmarking.pdf) http://www.embedded.com Altera FPGA Replaces 64 DSP Devices in Fairlight's New Media Processing Engine (http://www.altera.com/corporate/news_room/releases/products/nr-fairlight.html)