{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,30]],"date-time":"2025-12-30T08:59:00Z","timestamp":1767085140978},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2009,8]]},"abstract":"<jats:p>Computer architectures are quickly changing toward heterogeneous many-core systems. Such a trend opens up interesting opportunities but also raises immense challenges since the efficient use of heterogeneous many-core systems is not a trivial problem. In this paper, we explore how to program data processing operators on top of field-programmable gate arrays (FPGAs). FPGAs are very versatile in terms of how they can be used and can also be added as additional processing units in standard CPU sockets.<\/jats:p>\n          <jats:p>In the paper, we study how data processing can be accelerated using an FPGA. Our results indicate that efficient usage of FPGAs involves non-trivial aspects such as having the right computation model (an asynchronous sorting network in this case); a careful implementation that balances all the design constraints in an FPGA; and the proper integration strategy to link the FPGA to the rest of the system. Once these issues are properly addressed, our experiments show that FPGAs exhibit performance figures competitive with those of modern general-purpose CPUs while offering significant advantages in terms of power consumption and parallel stream evaluation.<\/jats:p>","DOI":"10.14778\/1687627.1687730","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T12:17:57Z","timestamp":1403612277000},"page":"910-921","source":"Crossref","is-referenced-by-count":119,"title":["Data processing on FPGAs"],"prefix":"10.14778","volume":"2","author":[{"given":"Rene","family":"Mueller","sequence":"first","affiliation":[{"name":"ETH Zurich, Switzerland"}]},{"given":"Jens","family":"Teubner","sequence":"additional","affiliation":[{"name":"ETH Zurich, Switzerland"}]},{"given":"Gustavo","family":"Alonso","sequence":"additional","affiliation":[{"name":"ETH Zurich, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2009,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"The Design of the Borealis Stream Processing Engine. In Conference on Innovative Data Systems Research (CIDR)","author":"Abadi D. J.","year":"2005","unstructured":"D. J. Abadi , Y. Ahmad , M. Balazinska , U. Cetintemel , M. Cherniack , J.-H. Hwang , W. Lindner , A. S. Maskey , A. Rasin , E. Ryvkina , N. Tatbul , Y. Xing , and S. Zdonik . The Design of the Borealis Stream Processing Engine. In Conference on Innovative Data Systems Research (CIDR) , Asilomar, CA, USA , January 2005 . D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, J.-H. Hwang, W. Lindner, A. S. Maskey, A. Rasin, E. Ryvkina, N. Tatbul, Y. Xing, and S. Zdonik. The Design of the Borealis Stream Processing Engine. In Conference on Innovative Data Systems Research (CIDR), Asilomar, CA, USA, January 2005."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-003-0095-z"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-004-0147-z"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1468075.1468121"},{"key":"e_1_2_1_5_1","volume-title":"Corey: An Operating System for Many Cores. In USENIX Symposium on Operating Systems Design and Implementation (OSDI)","author":"Boyd-Wickizer S.","year":"2008","unstructured":"S. Boyd-Wickizer , H. Chen , R. Chen , Y. Mao , Frans Kaashoek , R. Morris , A. Pesterev , L. Stein , M. Wu , Y. Dai , Y. Zhang , and Z. Zhang . Corey: An Operating System for Many Cores. In USENIX Symposium on Operating Systems Design and Implementation (OSDI) , San Diego, CA, USA , December 2008 . S. Boyd-Wickizer, H. Chen, R. Chen, Y. Mao, Frans Kaashoek, R. Morris, A. Pesterev, L. Stein, M. Wu, Y. Dai, Y. Zhang, and Z. Zhang. Corey: An Operating System for Many Cores. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), San Diego, CA, USA, December 2008."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454171"},{"key":"e_1_2_1_7_1","unstructured":"Netezza Corp. http:\/\/www.netezza.com\/.  Netezza Corp. http:\/\/www.netezza.com\/."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1979.1675379"},{"key":"e_1_2_1_9_1","volume-title":"Proc. of the 33rd Int'l Conference on Very Large Data Bases (VLDB)","author":"Gedik B.","year":"2007","unstructured":"B. Gedik , R. R. Bordawekar , and P. S. Yu . CellSort: High Performance Sorting on the Cell Processor . In Proc. of the 33rd Int'l Conference on Very Large Data Bases (VLDB) , Vienna, Austria , September 2007 . B. Gedik, R. R. Bordawekar, and P. S. Yu. CellSort: High Performance Sorting on the Cell Processor. In Proc. of the 33rd Int'l Conference on Very Large Data Bases (VLDB), Vienna, Austria, September 2007."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1114252.1114260"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142511"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1007568.1007594"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2008.46"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066157.1066201"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_5"},{"key":"e_1_2_1_16_1","unstructured":"Xtreme Data Inc. http:\/\/www.xtremedatainc.com\/.  Xtreme Data Inc. http:\/\/www.xtremedatainc.com\/."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/1299042.1299047"},{"key":"e_1_2_1_18_1","volume-title":"August","author":"Intel Corp.","year":"2007","unstructured":"Intel Corp. Intel Core 2 Extreme Quad-Core Processor XQ6000 Sequence and Intel Core 2 Quad Processor Q600 Sequence Datasheet , August 2007 . Intel Corp. Intel Core 2 Extreme Quad-Core Processor XQ6000 Sequence and Intel Core 2 Quad Processor Q600 Sequence Datasheet, August 2007."},{"key":"e_1_2_1_19_1","unstructured":"Kickfire. http:\/\/www.kickfire.com\/.  Kickfire. http:\/\/www.kickfire.com\/."},{"key":"e_1_2_1_20_1","volume-title":"The Art of Computer Programming, Volume 3: Sorting and Searching","author":"Knuth D. E.","year":"1998","unstructured":"D. E. Knuth . The Art of Computer Programming, Volume 3: Sorting and Searching . Addison-Wesley , 2 nd edition, 1998 . D. E. Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley, 2nd edition, 1998.","edition":"2"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/s007780000031"},{"key":"e_1_2_1_22_1","volume-title":"Conference on Innovative Data Systems Research (CIDR)","author":"Mitra A.","year":"2009","unstructured":"A. Mitra , M. R. Vieira , P. Bakalov , V. J. Tsotras , and W. A. Najjar . Boosting XML Filtering Through a Scalable FPGA-based Architecture . In Conference on Innovative Data Systems Research (CIDR) , Asilomar, CA, USA , 2009 . A. Mitra, M. R. Vieira, P. Bakalov, V. J. Tsotras, and W. A. Najjar. Boosting XML Filtering Through a Scalable FPGA-based Architecture. In Conference on Innovative Data Systems Research (CIDR), Asilomar, CA, USA, 2009."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687627.1687654"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASSP.1983.1164203"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASSP.1975.1162749"},{"key":"e_1_2_1_26_1","volume-title":"Exploratory Data Analysis","author":"Tukey J. W.","year":"1977","unstructured":"J. W. Tukey . Exploratory Data Analysis . Addison-Wesley , 1977 . J. W. Tukey. Exploratory Data Analysis. Addison-Wesley, 1977."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASSP.1986.1164871"},{"key":"e_1_2_1_28_1","volume-title":"Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, v4.2 edition","author":"Xilinx Inc.","year":"2007","unstructured":"Xilinx Inc. Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, v4.2 edition , 2007 . Xilinx Inc. Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet, v4.2 edition, 2007."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/564691.564709"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/1687627.1687730","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:33:10Z","timestamp":1672227190000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/1687627.1687730"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8]]},"references-count":29,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2009,8]]}},"alternative-id":["10.14778\/1687627.1687730"],"URL":"https:\/\/doi.org\/10.14778\/1687627.1687730","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2009,8]]}}}