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
_version_ 1797625991921664000
author Sunil Puranik
Mahesh Barve
Swapnil Rodi
Rajendra Patrikar
author_facet Sunil Puranik
Mahesh Barve
Swapnil Rodi
Rajendra Patrikar
author_sort Sunil Puranik
collection DOAJ
description 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.
first_indexed 2024-03-11T10:04:16Z
format Article
id doaj.art-bcabc8c8dd7b4027aead73b10e85aa56
institution Directory Open Access Journal
issn 2079-9292
language English
last_indexed 2024-03-11T10:04:16Z
publishDate 2022-12-01
publisher MDPI AG
record_format Article
series Electronics
spelling doaj.art-bcabc8c8dd7b4027aead73b10e85aa562023-11-16T15:12:14ZengMDPI AGElectronics2079-92922022-12-0112118310.3390/electronics12010183FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading SystemSunil Puranik0Mahesh Barve1Swapnil Rodi2Rajendra Patrikar3Tata Consultancy Services, Pune 411057, IndiaTata Consultancy Services, Pune 411057, IndiaTata Consultancy Services, Pune 411057, IndiaDepartment of Electronics, Visvesvaraya National Institute of Technology, Nagpur 440012, IndiaField-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.https://www.mdpi.com/2079-9292/12/1/183key-value storeField-Programmable Gate Arrays (FPGA)high-level synthesis (HLS)system performanceB-Treehashing
spellingShingle Sunil Puranik
Mahesh Barve
Swapnil Rodi
Rajendra Patrikar
FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
Electronics
key-value store
Field-Programmable Gate Arrays (FPGA)
high-level synthesis (HLS)
system performance
B-Tree
hashing
title FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
title_full FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
title_fullStr FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
title_full_unstemmed FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
title_short FPGA-Based High-Throughput Key-Value Store Using Hashing and B-Tree for Securities Trading System
title_sort fpga based high throughput key value store using hashing and b tree for securities trading system
topic key-value store
Field-Programmable Gate Arrays (FPGA)
high-level synthesis (HLS)
system performance
B-Tree
hashing
url https://www.mdpi.com/2079-9292/12/1/183
work_keys_str_mv AT sunilpuranik fpgabasedhighthroughputkeyvaluestoreusinghashingandbtreeforsecuritiestradingsystem
AT maheshbarve fpgabasedhighthroughputkeyvaluestoreusinghashingandbtreeforsecuritiestradingsystem
AT swapnilrodi fpgabasedhighthroughputkeyvaluestoreusinghashingandbtreeforsecuritiestradingsystem
AT rajendrapatrikar fpgabasedhighthroughputkeyvaluestoreusinghashingandbtreeforsecuritiestradingsystem