István, Zsolt ; Alonso, Gustavo ; Blott, Michaela ; Vissers, Kees A. (2015)
A Hash Table for Line-Rate Data Processing.
In: ACM Transactions on Reconfigurable Technology and Systems, 8 (2)
doi: 10.1145/2629582
Artikel, Bibliographie
Kurzbeschreibung (Abstract)
FPGA-based data processing is becoming increasingly relevant in data centers, as the transformation of existing applications into dataflow architectures can bring significant throughput and power benefits. Furthermore, a tighter integration of computing and network is appealing, as it overcomes traditional bottlenecks between CPUs and network interfaces, and dramatically reduces latency. In this article, we present the design of a novel hash table, a fundamental building block used in many applications, to enable data processing on FPGAs close to the network. We present a fully pipelined design capable of sustaining consistent 10Gbps line-rate processing by deploying a concurrent mechanism to handle hash collisions. We address additional design challenges such as support for a broad range of key sizes without stalling the pipeline through careful matching of lookup time with packet reception time. Finally, the design is based on a scalable architecture that can be easily parameterized to work with different memory types operating at different access speeds and latencies. We have tested the proposed hash table in an FPGA-based memcached appliance implementing a main-memory key-value store in hardware. The hash table is used to index 2 million entries in 24GB of external DDR3 DRAM while sustaining 13 million requests per second, the maximum packet rate that can be achieved with UDP packets on a 10Gbps link for this application.
Typ des Eintrags: | Artikel |
---|---|
Erschienen: | 2015 |
Autor(en): | István, Zsolt ; Alonso, Gustavo ; Blott, Michaela ; Vissers, Kees A. |
Art des Eintrags: | Bibliographie |
Titel: | A Hash Table for Line-Rate Data Processing |
Sprache: | Englisch |
Publikationsjahr: | April 2015 |
Verlag: | ACM |
Titel der Zeitschrift, Zeitung oder Schriftenreihe: | ACM Transactions on Reconfigurable Technology and Systems |
Jahrgang/Volume einer Zeitschrift: | 8 |
(Heft-)Nummer: | 2 |
DOI: | 10.1145/2629582 |
Kurzbeschreibung (Abstract): | FPGA-based data processing is becoming increasingly relevant in data centers, as the transformation of existing applications into dataflow architectures can bring significant throughput and power benefits. Furthermore, a tighter integration of computing and network is appealing, as it overcomes traditional bottlenecks between CPUs and network interfaces, and dramatically reduces latency. In this article, we present the design of a novel hash table, a fundamental building block used in many applications, to enable data processing on FPGAs close to the network. We present a fully pipelined design capable of sustaining consistent 10Gbps line-rate processing by deploying a concurrent mechanism to handle hash collisions. We address additional design challenges such as support for a broad range of key sizes without stalling the pipeline through careful matching of lookup time with packet reception time. Finally, the design is based on a scalable architecture that can be easily parameterized to work with different memory types operating at different access speeds and latencies. We have tested the proposed hash table in an FPGA-based memcached appliance implementing a main-memory key-value store in hardware. The hash table is used to index 2 million entries in 24GB of external DDR3 DRAM while sustaining 13 million requests per second, the maximum packet rate that can be achieved with UDP packets on a 10Gbps link for this application. |
Zusätzliche Informationen: | Art.No.: 13 |
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik 20 Fachbereich Informatik > Distributed and Networked Systems |
Hinterlegungsdatum: | 23 Jan 2023 12:13 |
Letzte Änderung: | 02 Mai 2023 08:04 |
PPN: | 507316770 |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |