FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System

Field-Programmable Array (FPGA) technology is extensively used in Finance. This paper describes a high-throughput key-value store (KVS) for securities trading system applications using an FPGA. The design uses a combination of hashing and B-Tree techniques and supports a large number of keys (40 mil...

Full description

Bibliographic Details
Main Authors: Sunil Puranik, Mahesh Barve, Swapnil Rodi, Rajendra Patrikar
Format: Article
Language:English
Published: MDPI AG 2022-12-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/12/1/183
Description
Summary:Field-Programmable Array (FPGA) technology is extensively used in Finance. This paper describes a high-throughput key-value store (KVS) for securities trading system applications using an FPGA. The design uses a combination of hashing and B-Tree techniques and supports a large number of keys (40 million) as required by the Trading System. We have used a novel technique of using buckets of different capacities to reduce the amount of Block-RAM (BRAM) and perform a high-speed lookup. The design uses high-bandwidth-memory (HBM), an On-chip memory available in Virtex Ultrascale+ FPGAs to support a large number of keys. Another feature of this design is the replication of the database and lookup logic to increase the overall throughput. By implementing multiple lookup engines in parallel and replicating the database, we could achieve high throughput (up to 6.32 million search operations/second) as specified by our client, which is a major stock exchange. The design has been implemented with a combination of Verilog and high-level-synthesis (HLS) flow to reduce the implementation time.
ISSN:2079-9292