Cargando…

FASTHash: FPGA-Based High Throughput Parallel Hash Table

Hash table is a fundamental data structure that provides efficient data store and access. It is a key component in AI applications which rely on building a model of the environment using observations and performing lookups on the model for newer observations. In this work, we develop FASTHash, a “tr...

Descripción completa

Detalles Bibliográficos
Autores principales: Yang, Yang, Kuppannagari, Sanmukh R., Srivastava, Ajitesh, Kannan, Rajgopal, Prasanna, Viktor K.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7295337/
http://dx.doi.org/10.1007/978-3-030-50743-5_1
_version_ 1783546631241596928
author Yang, Yang
Kuppannagari, Sanmukh R.
Srivastava, Ajitesh
Kannan, Rajgopal
Prasanna, Viktor K.
author_facet Yang, Yang
Kuppannagari, Sanmukh R.
Srivastava, Ajitesh
Kannan, Rajgopal
Prasanna, Viktor K.
author_sort Yang, Yang
collection PubMed
description Hash table is a fundamental data structure that provides efficient data store and access. It is a key component in AI applications which rely on building a model of the environment using observations and performing lookups on the model for newer observations. In this work, we develop FASTHash, a “truly” high throughput parallel hash table implementation using FPGA on-chip SRAM. Contrary to state-of-the-art hash table implementations on CPU, GPU, and FPGA, the parallelism in our design is data independent, allowing us to support p parallel queries ([Formula: see text]) per clock cycle via p processing engines (PEs) in the worst case. Our novel data organization and query flow techniques allow full utilization of abundant low latency on-chip SRAM and enable conflict free concurrent insertions. Our hash table ensures relaxed eventual consistency - inserts from a PE are visible to all PEs with some latency. We provide theoretical worst case bound on the number of erroneous queries (true negative search, duplicate inserts) due to relaxed eventual consistency. We customize our design to implement both static and dynamic hash tables on state-of-the-art FPGA devices. Our implementations are scalable to 16 PEs and support throughput as high as 5360 million operations per second with PEs running at 335 MHz for static hashing and 4480 million operations per second with PEs running at 280 MHz for dynamic hashing. They outperform state-of-the-art implementations by 5.7x and 8.7x respectively.
format Online
Article
Text
id pubmed-7295337
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-72953372020-06-16 FASTHash: FPGA-Based High Throughput Parallel Hash Table Yang, Yang Kuppannagari, Sanmukh R. Srivastava, Ajitesh Kannan, Rajgopal Prasanna, Viktor K. High Performance Computing Article Hash table is a fundamental data structure that provides efficient data store and access. It is a key component in AI applications which rely on building a model of the environment using observations and performing lookups on the model for newer observations. In this work, we develop FASTHash, a “truly” high throughput parallel hash table implementation using FPGA on-chip SRAM. Contrary to state-of-the-art hash table implementations on CPU, GPU, and FPGA, the parallelism in our design is data independent, allowing us to support p parallel queries ([Formula: see text]) per clock cycle via p processing engines (PEs) in the worst case. Our novel data organization and query flow techniques allow full utilization of abundant low latency on-chip SRAM and enable conflict free concurrent insertions. Our hash table ensures relaxed eventual consistency - inserts from a PE are visible to all PEs with some latency. We provide theoretical worst case bound on the number of erroneous queries (true negative search, duplicate inserts) due to relaxed eventual consistency. We customize our design to implement both static and dynamic hash tables on state-of-the-art FPGA devices. Our implementations are scalable to 16 PEs and support throughput as high as 5360 million operations per second with PEs running at 335 MHz for static hashing and 4480 million operations per second with PEs running at 280 MHz for dynamic hashing. They outperform state-of-the-art implementations by 5.7x and 8.7x respectively. 2020-05-22 /pmc/articles/PMC7295337/ http://dx.doi.org/10.1007/978-3-030-50743-5_1 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic.
spellingShingle Article
Yang, Yang
Kuppannagari, Sanmukh R.
Srivastava, Ajitesh
Kannan, Rajgopal
Prasanna, Viktor K.
FASTHash: FPGA-Based High Throughput Parallel Hash Table
title FASTHash: FPGA-Based High Throughput Parallel Hash Table
title_full FASTHash: FPGA-Based High Throughput Parallel Hash Table
title_fullStr FASTHash: FPGA-Based High Throughput Parallel Hash Table
title_full_unstemmed FASTHash: FPGA-Based High Throughput Parallel Hash Table
title_short FASTHash: FPGA-Based High Throughput Parallel Hash Table
title_sort fasthash: fpga-based high throughput parallel hash table
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7295337/
http://dx.doi.org/10.1007/978-3-030-50743-5_1
work_keys_str_mv AT yangyang fasthashfpgabasedhighthroughputparallelhashtable
AT kuppannagarisanmukhr fasthashfpgabasedhighthroughputparallelhashtable
AT srivastavaajitesh fasthashfpgabasedhighthroughputparallelhashtable
AT kannanrajgopal fasthashfpgabasedhighthroughputparallelhashtable
AT prasannaviktork fasthashfpgabasedhighthroughputparallelhashtable