Hardware acceleration of Postgres using FPGAs
HK Verma is a Distinguished Software Engineer at Xilinx, where he is developing FPGA-based data center accelerator solutions. He has been working with leading hyperscale customers to integrate optimized FPGA acceleration into their database and storage solutions. He has pioneered successful accelerator adoption on existing RDBMS and NoSQL databases by working closely with partners to define future work. He was previously co-founder/VP at Velogix, a startup offering programmable compute silicon and software. He holds 35 issued US patents and has presented tutorials and papers at leading conferences. He holds an MSEE from University of California at Santa Barbara and a Bachelor of Technology in electrical engineering from IIT Madras
No video of the event yet, sorry!
In this talk, we present a data analytics acceleration stack, using which users can easily execute their existing Postgres SQL queries on an accelerated FPGA platform. The integrated Xilinx library offloads scan and aggregate instructions from Postgres query plan to FPGA. Instruction code for the massively parallel SQL processing unit is generated on-the-fly for user query. Postgres storage pages are natively parsed in FPGA to scan through the rows of relation to select the rows specified by where clause. Data is block-streamed through the DDR, and can scale to handle any compute node storage sizes. Users can use all existing Postgres features to execute remote or local queries. This has been released on Amazon AWS marketplace which uses F1 instance with Xilinx FPGA - https://aws.amazon.com/marketplace/pp/B07BVSZL51 After introducing FPGA solution and platforms, we present modifications needed in postgres to hook FPGA offloads so that it can run any existing query. A large array of SQL processing units are used on hardware to provide a compelling parallelized high performance hardware acceleration. We illustrate how it is important to maintain the data flow to avoid IO and memory bottlenecks in the hardware offload architecture. We also show method used to generate SQL processing instructions from postgres parser query tree. Overall, an architecture is presented for a successful hardware offload of a portion of a SQL query.
- 2018 October 16 13:30
- 20 min
- Winchester 1
- Silicon Valley