Roughly a decade ago, power consumption and heat dissipation concerns forced the semiconductor industry to radically change its course, shifting from sequential to parallel computing. Unfortunately, improving performance of applications has now become much more difficult than in the good old days of frequency scaling. This is also affecting databases and data processing applications in general, and has led to the popularity of so-called data appliancesspecialized data processing engines, where software and hardware are sold together in a closed box. Field-programmable gate arrays (FPGAs) increasingly play an important role in such systems. FPGAs are attractive because the performance gains of specialized hardware can be significant, while power consumption is much less than that of commodity processors. On the other hand, FPGAs are way more flexible than hard-wired circuits (ASICs) and can be integrated into complex systems in many different ways, e.g., directly in the network for a high-frequency trading application. This book gives an introduction to FPGA technology targeted at a database audience. In the first few chapters, we explain in detail the inner workings of FPGAs. Then we discuss techniques and design patterns that help mapping algorithms to FPGA hardware so that the inherent parallelism of these devices can be leveraged in an optimal way. Finally, the book will illustrate a number of concrete examples that exploit different advantages of FPGAs for data processing. Table of Contents: Preface / Introduction / A Primer in Hardware Design / FPGAs / FPGA Programming Models / Data Stream Processing / Accelerated DB Operators / Secure Data Processing / Conclusions / Bibliography / Authors' Biographies / Index
Cited By
- Kiefer M, Poulakis I, Breß S and Markl V (2021). Scotch, Proceedings of the VLDB Endowment, 14:3, (281-293), Online publication date: 1-Nov-2020.
- Manjith B.C. and Ramasubramanian N. (2020). Securing AES Accelerator from Key-Leaking Trojans on FPGA, International Journal of Embedded and Real-Time Communication Systems, 11:3, (84-105), Online publication date: 1-Jul-2020.
- Sidler D, Wang Z, Chiosa M, Kulkarni A and Alonso G StRoM Proceedings of the Fifteenth European Conference on Computer Systems, (1-16)
- Drewes A, Joseph J, Gurumurthy B, Broneske D, Saake G and Pionteck T Optimising Operator Sets for Analytical Database Processing on FPGAs Applied Reconfigurable Computing. Architectures, Tools, and Applications, (30-44)
- Wang Z, Kara K, Zhang H, Alonso G, Mutlu O and Zhang C (2019). Accelerating generalized linear models with MLWeaving, Proceedings of the VLDB Endowment, 12:7, (807-821), Online publication date: 1-Mar-2019.
- István Z, Sidler D and Alonso G (2017). Caribou, Proceedings of the VLDB Endowment, 10:11, (1202-1213), Online publication date: 1-Aug-2017.
- Ritter D, Dann J, May N and Rinderle-Ma S Hardware Accelerated Application Integration Processing Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems, (215-226)
- Dursun K, Binnig C, Cetintemel U and Petrocelli R SiliconDB Proceedings of the 13th International Workshop on Data Management on New Hardware, (1-4)
- Sidler D, István Z, Owaida M and Alonso G Accelerating Pattern Matching Queries in Hybrid CPU-FPGA Architectures Proceedings of the 2017 ACM International Conference on Management of Data, (403-415)
- István Z, Sidler D, Alonso G and Vukolic M Consensus in a box Proceedings of the 13th Usenix Conference on Networked Systems Design and Implementation, (425-438)
Index Terms
- Data Processing on FPGAs
Recommendations
Accelerated image processing on FPGAs
The Cameron project has developed a language called single assignment C (SA-C), and a compiler for mapping image-based applications written in SA-C to field programmable gate arrays (FPGAs). The paper tests this technology by implementing several ...
Accelerating Big Data Analytics Using FPGAs
FCCM '15: Proceedings of the 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing MachinesEmerging big data analytics applications require a significant amount of server computational power. As chips are hitting power limits, computing systems are moving away from general-purpose designs and toward greater specialization. Hardware ...