Abstract
AbstractThe join and group-by aggregation are two memory intensive operators that are affecting the performance of relational databases. Hashing is a common approach used to implement both operators. Recent paradigm shifts in multi-core processor architectures have reinvigorated research into how the join and group-by aggregation operators can leverage these advances. However, the poor spatial locality of the hashing approach has hindered performance on multi-core processor architectures which rely on using large cache hierarchies for latency mitigation. Multithreaded architectures can better cope with poor spatial locality by masking memory latency with many outstanding requests. Nevertheless, the number of parallel threads, even in the most advanced multithreaded processors, such as UltraSPARC, is not enough to fully cover the main memory access latency. In this paper, we explore the hardware re-configurability of FPGAs to enable deeper execution pipelines that maintain hundreds (instead of tens) of outstanding memory requests across four FPGAs-drastically increasing concurrency and throughput. We present two end-to-end in-memory accelerators for the join and group-by aggregation operators using FPGAs. Both accelerators use massive multithreading to mask long memory delays of traversing linked-list data structures, while concurrently managing hundreds of thread states across four FPGAs locally. We explore how content addressable memories can be intermixed within our multithreaded designs to act as a synchronizing cache, which enforces locks and merges jobs together before they are written to memory. Throughput results for our hash-join operator accelerator show a speedup between 2$$\times $$
×
and 3.4$$\times $$
×
over the best multi-core approaches with comparable memory bandwidths on uniform and skewed datasets. The accelerator for the hash-based group-by aggregation operator demonstrates that leveraging CAMs achieves average speedup of 3.3$$\times $$
×
with a best case of 9.4$$\times $$
×
in terms of throughput over CPU implementations across five types of data distributions.
Funder
National Science Foundation
Publisher
Springer Science and Business Media LLC
Subject
Hardware and Architecture,Information Systems
Reference61 articles.
1. Absalyamov, I., Budhkar, P., Windh, S., Halstead, R.J., Najjar, W.A., Tsotras, V.J.: FPGA-accelerated group-by aggregation using synchronizing caches. In: Proceedings of the 12th International Workshop on Data Management on New Hardware, DaMoN ’16, pp. 11:1–11:9. NY, USA: ACM (2016)
2. Albutiu, M.-C., Kemper, A., Neumann, T.: Massively parallel sort-merge joins in main memory multi-core database systems. Proc. VLDB Endow. 5(10), 1064–1075 (2012)
3. Alpha Data. http://www.alpha-data.com/dcp/capi.php (2015)
4. AWS Events. AWS re:invent 2019: Amazon redshift reimagined: RA3 and AQUA (ANT230). https://youtu.be/6pZrE_tveLI (2019). Accessed 2020-7-11
5. Balkesen, C., Alonso, G., Teubner, J., Özsu, M .T.: Multi-core, main-memory joins: sort vs. Hash revisited. Proc. VLDB Endow. 7(1), 85–96 (2013)