{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:21:00Z","timestamp":1750306860181,"version":"3.41.0"},"reference-count":60,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2014,8,29]],"date-time":"2014-08-29T00:00:00Z","timestamp":1409270400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100004682","name":"Oracle","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100004682","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000145","name":"Division of Information and Intelligent Systems","doi-asserted-by":"publisher","award":["CCF-1065338 and IIS-0915956"],"award-info":[{"award-number":["CCF-1065338 and IIS-0915956"]}],"id":[{"id":"10.13039\/100000145","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["CCF-1065338 and IIS-0915956"],"award-info":[{"award-number":["CCF-1065338 and IIS-0915956"]}],"id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2014,9,23]]},"abstract":"<jats:p>Data partitioning is a critical operation for manipulating large datasets because it subdivides tasks into pieces that are more amenable to efficient processing. It is often the limiting factor in database performance and represents a significant fraction of the overall runtime of large data queries. This article measures the performance and energy of state-of-the-art software partitioners, and describes and evaluates a hardware range partitioner that further improves efficiency.<\/jats:p>\n          <jats:p>The software implementation is broken into two phases, allowing separate analysis of the partition function computation and data shuffling costs. Although range partitioning is commonly thought to be more expensive than simpler strategies such as hash partitioning, our measurements indicate that careful data movement and optimization of the partition function can allow it to approach the throughput and energy consumption of hash or radix partitioning.<\/jats:p>\n          <jats:p>For further acceleration, we describe a hardware range partitioner, or HARP, a streaming framework that offers a seamless execution environment for this and other streaming accelerators, and a detailed analysis of a 32nm physical design that matches the throughput of four to eight software threads while consuming just 6.9% of the area and 4.3% of the power of a Xeon core in the same technology generation.<\/jats:p>","DOI":"10.1145\/2638550","type":"journal-article","created":{"date-parts":[[2014,9,2]],"date-time":"2014-09-02T12:48:26Z","timestamp":1409662106000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Energy Analysis of Hardware and Software Range Partitioning"],"prefix":"10.1145","volume":"32","author":[{"given":"Lisa","family":"Wu","sequence":"first","affiliation":[{"name":"Columbia University, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Orestis","family":"Polychroniou","sequence":"additional","affiliation":[{"name":"Columbia University, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Raymond J.","family":"Barker","sequence":"additional","affiliation":[{"name":"Columbia University, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Martha A.","family":"Kim","sequence":"additional","affiliation":[{"name":"Columbia University, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kenneth A.","family":"Ross","sequence":"additional","affiliation":[{"name":"Columbia University, New York, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,8,29]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Wood","author":"Ailamaki Anastassia","year":"1999","unstructured":"Anastassia Ailamaki , David J. DeWitt , Mark D. Hill , and David A . Wood . 1999 . DBMSs on a modern processor: Where does time go&quest; In Proceedings of the 25th International Conference on Very Large Data Bases (VLDB '99). 266--277. Anastassia Ailamaki, David J. DeWitt, Mark D. Hill, and David A. Wood. 1999. DBMSs on a modern processor: Where does time go&quest; In Proceedings of the 25th International Conference on Very Large Data Bases (VLDB'99). 266--277."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1989323.1989328"},{"key":"e_1_2_1_3_1","volume-title":"Retrieved","author":"Inc.","year":"2012","unstructured":"Bluespec, Inc. 2012 . Bluespec Core Technology . Retrieved July 29, 2014, from http:\/\/www.bluespec.com. Bluespec, Inc. 2012. Bluespec Core Technology. Retrieved July 29, 2014, from http:\/\/www.bluespec.com."},{"key":"e_1_2_1_4_1","volume-title":"DeWitt","author":"Boral Haran","year":"1983","unstructured":"Haran Boral and David J . DeWitt . 1983 . Database machines: An idea whose time has passed&quest; In Proceedings of the International Workshop on Database Machines . Haran Boral and David J. DeWitt. 1983. Database machines: An idea whose time has passed&quest; In Proceedings of the International Workshop on Database Machines."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508283"},{"key":"e_1_2_1_6_1","volume-title":"Retrieved","author":"Wiskunde Centrum","year":"2012","unstructured":"Centrum Wiskunde and Informatica. 2012 . An Open-Source Database System . Retrieved July 29, 2014, from http:\/\/www.monetdb.org. Centrum Wiskunde and Informatica. 2012. An Open-Source Database System. Retrieved July 29, 2014, from http:\/\/www.monetdb.org."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2005.26"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.is.2005.09.003"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1457150.1457156"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/956417.956540"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAC.2005.24"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950392"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-25821-3_14"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2155620.2155663"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSCC.2005.1493905"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/300979.300982"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168877"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1114252.1114256"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/2014698.2014884"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/645484.656370"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.77"},{"key":"e_1_2_1_22_1","unstructured":"HP Labs. 2013. Retrieved July 29 2014 from http:\/\/www.hpl.hp.com\/research\/cacti\/.  HP Labs. 2013. Retrieved July 29 2014 from http:\/\/www.hpl.hp.com\/research\/cacti\/."},{"key":"e_1_2_1_23_1","volume-title":"Retrieved","author":"IBM.","year":"2006","unstructured":"IBM. 2006 . DB2 Partitioning Features . Retrieved July 29, 2014, from http:\/\/www.ibm.com\/developerworks\/ data\/library\/techarticle\/dm-0608mcinerney. IBM. 2006. DB2 Partitioning Features. Retrieved July 29, 2014, from http:\/\/www.ibm.com\/developerworks\/ data\/library\/techarticle\/dm-0608mcinerney."},{"key":"e_1_2_1_24_1","volume-title":"Retrieved","author":"Intel Corporation","year":"2012","unstructured":"Intel Corporation . 2012 . Intel\u00aeXeon\u00aeProcessor E5620 (12M Cache, 2.40 GHz, 5.86 GT\/s Intel\u00aeQPI). (2012) . Retrieved July 29, 2014, from http:\/\/ark.intel.com\/products\/47925\/intel-xeon-processor-e5620-12m- cache-2_40-ghz-5_86-gts-intel-qpi. Intel Corporation. 2012. Intel\u00aeXeon\u00aeProcessor E5620 (12M Cache, 2.40 GHz, 5.86 GT\/s Intel\u00aeQPI). (2012). Retrieved July 29, 2014, from http:\/\/ark.intel.com\/products\/47925\/intel-xeon-processor-e5620-12m- cache-2_40-ghz-5_86-gts-intel-qpi."},{"key":"e_1_2_1_25_1","volume-title":"Retrieved","author":"Intel Corporation","year":"2013","unstructured":"Intel Corporation . 2013 . Intel 64\u00aeand IA-32 Architectures Software Developer's Manual. (2013) . Retrieved July 29, 2014, from http:\/\/download.intel.com\/products\/processor\/manual\/253669.pdf. Intel Corporation. 2013. Intel 64\u00aeand IA-32 Architectures Software Developer's Manual. (2013). Retrieved July 29, 2014, from http:\/\/download.intel.com\/products\/processor\/manual\/253669.pdf."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.21"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142522"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/325164.325162"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1220582"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.14778\/1687553.1687564"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540748"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.73"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.14778\/2047485.2047491"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6169041"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337159.2337164"},{"volume-title":"Proceedings of the 26th International Conference on Very Large Data Bases. 339--350","author":"Manegold Stefan","key":"e_1_2_1_36_1","unstructured":"Stefan Manegold , Peter A. Boncz , and Martin L. Kersten . 2000. What happens during a join&quest; Dissecting CPU and memory optimization effects . In Proceedings of the 26th International Conference on Very Large Data Bases. 339--350 . Stefan Manegold, Peter A. Boncz, and Martin L. Kersten. 2000. What happens during a join&quest; Dissecting CPU and memory optimization effects. In Proceedings of the 26th International Conference on Very Large Data Bases. 339--350."},{"volume-title":"Retrieved","year":"2012","key":"e_1_2_1_37_1","unstructured":"Microsoft. 2012 . Microsoft SQL Server 2012 . Retrieved July 30, 2014, from http:\/\/technet.microsoft.com\/ en-us\/sqlserver\/ff898410. Microsoft. 2012. Microsoft SQL Server 2012. Retrieved July 30, 2014, from http:\/\/technet.microsoft.com\/ en-us\/sqlserver\/ff898410."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/1946050.1946057"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1739041.1739137"},{"key":"e_1_2_1_40_1","volume-title":"Retrieved","author":"SQL.","year":"2014","unstructured":"My SQL. 2014 . Date and time datatype representation . Retrieved July 30, 2014, from http:\/\/dev.mysql.com\/ doc\/internals\/en\/date-and-time-data-type-representation.html. MySQL. 2014. Date and time datatype representation. Retrieved July 30, 2014, from http:\/\/dev.mysql.com\/ doc\/internals\/en\/date-and-time-data-type-representation.html."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1054943.1054954"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDMW.2010.172"},{"volume-title":"Retrieved","year":"2013","key":"e_1_2_1_43_1","unstructured":"Oracle. 2013 . Oracle Database 11g: Partitioning . Retrieved July 30, 2014, from http:\/\/www.oracle.com\/ technetwork\/database\/options\/partitioning\/index.html. Oracle. 2013. Oracle Database 11g: Partitioning. Retrieved July 30, 2014, from http:\/\/www.oracle.com\/ technetwork\/database\/options\/partitioning\/index.html."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2588555.2610522"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/1299042.1299052"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2004.22"},{"key":"e_1_2_1_47_1","volume-title":"Retrieved","author":"Saab Paul","year":"2008","unstructured":"Paul Saab . 2008 . Scaling Memcached at Facebook . Retrieved July 30, 2014, from https:\/\/www.facebook.com\/ note.php&quest;note_id=39391378919. Paul Saab. 2008. Scaling Memcached at Facebook. Retrieved July 30, 2014, from https:\/\/www.facebook.com\/ note.php&quest;note_id=39391378919."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6169044"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807207"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346206"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2010.4"},{"key":"e_1_2_1_52_1","unstructured":"Synopsys Inc. 2013. 32\/28nm Generic Library for IC Design Design Compiler IC Compiler. Available at http:\/\/www.synopsys.com.  Synopsys Inc. 2013. 32\/28nm Generic Library for IC Design Design Compiler IC Compiler. Available at http:\/\/www.synopsys.com."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000064.2000099"},{"key":"e_1_2_1_54_1","volume-title":"Retrieved","author":"Transaction Processing Performance Council","year":"2014","unstructured":"Transaction Processing Performance Council . 2014 . TPC-H . Retrieved July 30, 2014, from http:\/\/www.tpc. org\/tpch\/default.asp. Transaction Processing Performance Council. 2014. TPC-H. Retrieved July 30, 2014, from http:\/\/www.tpc. org\/tpch\/default.asp."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.5555\/2033408.2033427"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.15"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920926"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485944"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995441.1995442"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/564691.564709"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2638550","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2638550","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:10:33Z","timestamp":1750234233000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2638550"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,8,29]]},"references-count":60,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2014,9,23]]}},"alternative-id":["10.1145\/2638550"],"URL":"https:\/\/doi.org\/10.1145\/2638550","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"type":"print","value":"0734-2071"},{"type":"electronic","value":"1557-7333"}],"subject":[],"published":{"date-parts":[[2014,8,29]]},"assertion":[{"value":"2014-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-08-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}