{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T08:43:54Z","timestamp":1777106634662,"version":"3.51.4"},"reference-count":62,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2022,12,9]],"date-time":"2022-12-09T00:00:00Z","timestamp":1670544000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2022,12,31]]},"abstract":"<jats:p>\n            Field Programmable Gate Arrays (FPGAs) are increasingly being used in data centers and the cloud due to their potential to accelerate certain workloads as well as for their architectural flexibility, since they can be used as accelerators, smart-NICs, or stand-alone processors. To meet the challenges posed by these new use cases, FPGAs are quickly evolving in terms of their capabilities and organization. The utilization of High Bandwidth Memory (HBM) in FPGA devices is one recent example of such a trend. In this article, we study the potential of FPGAs equipped with HBM from a data analytics perspective. We consider three workloads common in analytics-oriented databases and implement them on an FPGA showing in which cases they benefit from HBM: range selection, hash join, and stochastic gradient descent for linear model training. We integrate our designs into a columnar database (MonetDB) and show the trade-offs arising from the integration related to data movement and partitioning. We consider two possible configurations of the HBM, using a single and a dual clock version design. With the right design, FPGA+HBM-based solutions are able to surpass the highest performance provided by either a two-socket POWER9\n            <jats:xref ref-type=\"fn\">\n              <jats:sup>1<\/jats:sup>\n            <\/jats:xref>\n            system or a 14-core Xeon\n            <jats:xref ref-type=\"fn\">\n              <jats:sup>2<\/jats:sup>\n            <\/jats:xref>\n            E5 by up to 5.9\u00d7 (range selection), 18.3\u00d7 (hash join), and 6.1\u00d7 (SGD).\n          <\/jats:p>","DOI":"10.1145\/3491238","type":"journal-article","created":{"date-parts":[[2022,2,9]],"date-time":"2022-02-09T19:55:30Z","timestamp":1644436530000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["Exploiting HBM on FPGAs for Data Processing"],"prefix":"10.1145","volume":"15","author":[{"given":"Runbin","family":"Shi","sequence":"first","affiliation":[{"name":"Systems Group, Department of Computer Science, ETH Zurich, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kaan","family":"Kara","sequence":"additional","affiliation":[{"name":"Oracle Labs, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christoph","family":"Hagleitner","sequence":"additional","affiliation":[{"name":"IBM Research Europe, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dionysios","family":"Diamantopoulos","sequence":"additional","affiliation":[{"name":"IBM Research Europe, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dimitris","family":"Syrivelis","sequence":"additional","affiliation":[{"name":"IBM Research Europe, Dublin, Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gustavo","family":"Alonso","sequence":"additional","affiliation":[{"name":"Systems Group, Department of Computer Science, ETH Zurich, Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,12,9]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"Intel. 2016. Intel Xeon Processor E5-2690 v4. Retrieved from https:\/\/ark.intel.com\/content\/www\/us\/en\/ark\/products\/91770\/intel-xeon-processor-e5-2690-v4-35m-cache-2-60-ghz.html."},{"key":"e_1_3_2_3_2","unstructured":"AWS. 2017. AWS F1 Instances. Retrieved from https:\/\/aws.amazon.com\/ec2\/instance-types\/f1\/."},{"key":"e_1_3_2_4_2","unstructured":"Oracle. 2017. Oracle Data Mining. Retrieved from https:\/\/www.oracle.com\/technetwork\/database\/enterprise-edition\/odm-techniques-algorithms-097163.html."},{"key":"e_1_3_2_5_2","unstructured":"Alpha Data. 2019. Alpha Data ADM-PCIE-9H7. Retrieved from https:\/\/www.alpha-data.com\/dcp\/products.php?product=adm-pcie-9h7."},{"key":"e_1_3_2_6_2","unstructured":"IBM. 2019. POWER9 LaGrange Single-Chip Module Datasheet v1.8 OpenPOWER. Retrieved from https:\/\/www-50.ibm.com\/systems\/power\/openpower\/posting.xhtml?postingId=0646B83F1D410C28852580110015080A."},{"key":"e_1_3_2_7_2","unstructured":"Xilinx. 2019. Xilinx VCU1525. Retrieved from https:\/\/www.xilinx.com\/support\/documentation\/boards_and_kits\/vcu1525\/ug1268-vcu1525-reconfig-accel-platform.pdf."},{"key":"e_1_3_2_8_2","unstructured":"Baidu. 2020. Baidu FPGA Instances. Retrieved from https:\/\/cloud.baidu.com\/product\/fpga.html."},{"key":"e_1_3_2_9_2","unstructured":"IBM. 2020. IBM DB2 Machine Learning. Retrieved from https:\/\/www.ibm.com\/cloud\/garage\/dte\/tutorial\/database-machine-learning-ibm-db2-warehouse-cloud\/."},{"key":"e_1_3_2_10_2","unstructured":"Xilinx. 2021. AXI HBM IP Documentation by Xilinx. Retrieved from https:\/\/www.xilinx.com\/support\/documentation\/ip_documentation\/hbm\/v1_0\/pg276-axi-hbm.pdf."},{"key":"e_1_3_2_11_2","unstructured":"Xilinx. 2021. New Intel XPU Innovations Target HPC and AI. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/newsroom\/news\/new-intel-xpu-innovations-target-hpc-ai.html."},{"key":"e_1_3_2_12_2","unstructured":"Xilinx. 2021. UltraScale Architecture-based FPGAs Memory IP. Retrieved from https:\/\/www.xilinx.com\/support\/documentation\/ip_documentation\/ultrascale_memory_ip\/v1_4\/pg150-ultrascale-memory-ip.pdf."},{"key":"e_1_3_2_13_2","unstructured":"Xilinx. 2021. Xilinx Ultrascale+ Devices. Retrieved from https:\/\/www.xilinx.com\/support\/documentation\/selection-guides\/ultrascale-plus-fpga-product-selection-guide.pdf."},{"key":"e_1_3_2_14_2","unstructured":"Gustavo Alonso Zsolt Istvan Kaan Kara Muhsen Owaida and David Sidler. 2019. doppioDB 1.0: Machine learning inside a relational engine. IEEE Data Eng. Bull. 42 2 (2019) 19\u201331."},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2013.6544839"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.5555\/2188385.2188395"},{"key":"e_1_3_2_17_2","first-page":"61","volume-title":"Proceedings of the Technology Conference on Performance Evaluation and Benchmarking","author":"Boncz Peter","year":"2013","unstructured":"Peter Boncz, Thomas Neumann, and Orri Erling. 2013. TPC-H analyzed: Hidden messages and lessons learned from an influential benchmark. In Proceedings of the Technology Conference on Performance Evaluation and Benchmarking. Springer, 61\u201376."},{"key":"e_1_3_2_18_2","first-page":"54","volume-title":"Proceedings of the Very Large Data Base Conference (VLDB\u201999)","volume":"99","author":"Boncz Peter A.","year":"1999","unstructured":"Peter A. Boncz, Stefan Manegold, Martin L. Kersten, et\u00a0al. 1999. Database architecture optimized for the new bottleneck: Memory access. In Proceedings of the Very Large Data Base Conference (VLDB\u201999), Vol. 99. 54\u201365."},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1561\/2200000050"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/2554688.2554787"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/3357384.3358015"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3431920.3439301"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2018.022071131"},{"key":"e_1_3_2_24_2","first-page":"93","volume-title":"Proceedings of the IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM\u201918)","author":"Cong Jason","year":"2018","unstructured":"Jason Cong, Zhenman Fang, Michael Lo, Hanrui Wang, Jingxian Xu, and Shaochong Zhang. 2018. Understanding performance differences of FPGAs and GPUs. In Proceedings of the IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM\u201918). IEEE, 93\u201396."},{"key":"e_1_3_2_25_2","first-page":"1","article-title":"In-memory database acceleration on FPGAs: A survey","author":"Fang Jian","year":"2019","unstructured":"Jian Fang, Yvo T. B. Mulder, Jan Hidders, Jinho Lee, and H. Peter Hofstee. 2019. In-memory database acceleration on FPGAs: A survey. VLDB J. (2019), 1\u201327.","journal-title":"VLDB J."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2015.46"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00012"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM48280.2020.00028"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2021.3075765"},{"issue":"1","key":"e_1_3_2_30_2","first-page":"40","article-title":"MonetDB: Two decades of research in column-oriented database architectures","volume":"35","author":"Idreos Stratos","year":"2012","unstructured":"Stratos Idreos, Fabian Groffen, Niels Nes, Stefan Manegold, K. Sjoerd Mullender, and Martin L. Kersten. 2012. MonetDB: Two decades of research in column-oriented database architectures. IEEE Data Eng. Bull. 35, 1 (2012), 40\u201345.","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_3_2_31_2","first-page":"3068","volume-title":"Advances in Neural Information Processing Systems","author":"Jaggi Martin","year":"2014","unstructured":"Martin Jaggi, Virginia Smith, Martin Tak\u00e1c, Jonathan Terhorst, Sanjay Krishnan, Thomas Hofmann, and Michael I. Jordan. 2014. Communication-efficient distributed dual coordinate ascent. In Advances in Neural Information Processing Systems. 3068\u20133076."},{"key":"e_1_3_2_32_2","article-title":"MicroRec: Efficient recommendation inference by hardware and data structure solutions","volume":"3","author":"Jiang Wenqi","year":"2021","unstructured":"Wenqi Jiang, Zhenhao He, Shuai Zhang, Thomas B. Preu\u00dfer, Kai Zeng, Liang Feng, Jiansong Zhang, Tongxuan Liu, Yong Li, Jingren Zhou, and others. 2021. MicroRec: Efficient recommendation inference by hardware and data structure solutions. Proc. Mach. Learn. Syst. 3, 1 (2021), 845\u2013859.","journal-title":"Proc. Mach. Learn. Syst."},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3447548.3467139"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080246"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/2236584.2236592"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2017.39"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2016.7577353"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.14778\/3297753.3297756"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3035946"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL50879.2020.00013"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.14778\/3352063.3352074"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3431920.3439284"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.5555\/2613534"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.14778\/3236187.3236188"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2017.19"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304031"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/ReConFig.2011.4"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.23919\/FPL.2017.8056784"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2018.00030"},{"key":"e_1_3_2_50_2","first-page":"1","article-title":"Joins on high-bandwidth memory: A new level in the memory hierarchy","author":"Pohl Constantin","year":"2019","unstructured":"Constantin Pohl, Kai-Uwe Sattler, and Goetz Graefe. 2019. Joins on high-bandwidth memory: A new level in the memory hierarchy. VLDB J. (2019), 1\u201321.","journal-title":"VLDB J."},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/2678373.2665678"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2019.00053"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM51124.2021.00017"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3035954"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL50879.2020.00014"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2016.25"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1147\/JRD.2018.2856978"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.308"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/3020078.3021744"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM48280.2020.00024"},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.14778\/3317315.3317322"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2011.5763068"},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.14778\/2732967.2732972"}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3491238","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3491238","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:09:19Z","timestamp":1750183759000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3491238"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,12,9]]},"references-count":62,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,12,31]]}},"alternative-id":["10.1145\/3491238"],"URL":"https:\/\/doi.org\/10.1145\/3491238","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"value":"1936-7406","type":"print"},{"value":"1936-7414","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,12,9]]},"assertion":[{"value":"2021-06-30","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-10-12","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-12-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}