Title :
FPGA acceleration for the frequent item problem
Author :
Teubner, Jens ; Mueller, Rene ; Alonso, Gustavo
Author_Institution :
Dept. of Comput. Sci., ETH Zurich, Zurich, Switzerland
Abstract :
Field-programmable gate arrays (FPGAs) can provide performance advantages with a lower resource consumption (e.g., energy) than conventional CPUs. In this paper, we show how to employ FPGAs to provide an efficient and high-performance solution for the frequent item problem. We discuss three design alternatives, each one of them exploiting different FPGA features, and we provide an exhaustive evaluation of their performance characteristics. The first design is a one-to-one mapping of the Space-Saving algorithm (shown to be the best approach in software [1]), built on special features of FPGAs: content-addressable memory and dual-ported BRAM. The two other implementations exploit the flexibility of digital circuits to implement parallel lookups and pipelining strategies, resulting in significant improvements in performance. On low-cost FPGA hardware, the fastest of our designs can process 80 million items per second-three times as much as the best known result. Moreover, and unlike in software approaches where performance is directly related to the skew factor of the Zipf distribution, the high throughput is independent of the skew of the distribution of the input. In the paper we discuss as well several design trade-offs that are relevant when implementing database functionality on FPGAs. In particular, we look at resource consumption and the levels of data and task parallelism of three different designs.
Keywords :
content-addressable storage; field programmable gate arrays; logic design; parallel architectures; statistical distributions; FPGA acceleration; Zipf distribution; content-addressable memory; data level; database functionality; dual-ported BRAM; field programmable gate arrays; frequent item problem; one-to-one mapping design; resource consumption; space-saving algorithm; task parallelism level; Acceleration; Algorithm design and analysis; Digital circuits; Field programmable gate arrays; Hardware; Pipeline processing; Process design; Software algorithms; Software performance; Throughput;
Conference_Titel :
Data Engineering (ICDE), 2010 IEEE 26th International Conference on
Conference_Location :
Long Beach, CA
Print_ISBN :
978-1-4244-5445-7
Electronic_ISBN :
978-1-4244-5444-0
DOI :
10.1109/ICDE.2010.5447856