{"id":"https://openalex.org/W4296558719","doi":"https://doi.org/10.1109/lca.2022.3208255","title":"Pulley: An Algorithm/Hardware Co-Optimization for In-Memory Sorting","display_name":"Pulley: An Algorithm/Hardware Co-Optimization for In-Memory Sorting","publication_year":2022,"publication_date":"2022-07-01","ids":{"openalex":"https://openalex.org/W4296558719","doi":"https://doi.org/10.1109/lca.2022.3208255"},"language":"en","primary_location":{"id":"doi:10.1109/lca.2022.3208255","is_oa":false,"landing_page_url":"https://doi.org/10.1109/lca.2022.3208255","pdf_url":null,"source":{"id":"https://openalex.org/S17643076","display_name":"IEEE Computer Architecture Letters","issn_l":"1556-6056","issn":["1556-6056","1556-6064","2473-2575"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Computer Architecture Letters","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5015383514","display_name":"Marzieh Lenjani","orcid":"https://orcid.org/0000-0003-4661-4297"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Marzieh Lenjani","raw_affiliation_strings":["Department of Computer Science, University of Virginia, Charlottesville, VA, USA"],"raw_orcid":"https://orcid.org/0000-0003-4661-4297","affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017433336","display_name":"Alif Ahmed","orcid":"https://orcid.org/0000-0002-4203-5012"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alif Ahmed","raw_affiliation_strings":["Department of Computer Science, University of Virginia, Charlottesville, VA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074818897","display_name":"Kevin Skadron","orcid":"https://orcid.org/0000-0002-8091-9302"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kevin Skadron","raw_affiliation_strings":["Department of Computer Science, University of Virginia, Charlottesville, VA, USA"],"raw_orcid":"https://orcid.org/0000-0002-8091-9302","affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I51556381"],"apc_list":{"value":2645,"currency":"USD","value_usd":2645},"apc_paid":null,"fwci":0.1167,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.4716255,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"21","issue":"2","first_page":"109","last_page":"112"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8457217216491699},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7347512245178223},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.6643185019493103},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6455212831497192},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.6099398732185364},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.5690674781799316},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.45130738615989685},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.4382261037826538},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.40703967213630676},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.3421032428741455},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.22773471474647522},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.13362514972686768}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8457217216491699},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7347512245178223},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.6643185019493103},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6455212831497192},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.6099398732185364},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.5690674781799316},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.45130738615989685},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.4382261037826538},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.40703967213630676},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.3421032428741455},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.22773471474647522},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.13362514972686768},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/lca.2022.3208255","is_oa":false,"landing_page_url":"https://doi.org/10.1109/lca.2022.3208255","pdf_url":null,"source":{"id":"https://openalex.org/S17643076","display_name":"IEEE Computer Architecture Letters","issn_l":"1556-6056","issn":["1556-6056","1556-6064","2473-2575"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Computer Architecture Letters","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":8,"referenced_works":["https://openalex.org/W1975237352","https://openalex.org/W3016903199","https://openalex.org/W3043363332","https://openalex.org/W3083342782","https://openalex.org/W3146763006","https://openalex.org/W3158275024","https://openalex.org/W3191916678","https://openalex.org/W4281621462"],"related_works":["https://openalex.org/W2540591044","https://openalex.org/W2129808254","https://openalex.org/W1945697752","https://openalex.org/W4285183126","https://openalex.org/W2000143140","https://openalex.org/W2019529419","https://openalex.org/W3084070939","https://openalex.org/W2078862906","https://openalex.org/W2160541517","https://openalex.org/W2044067418"],"abstract_inverted_index":{"Sorting":[0],"is":[1,37,47],"an":[2,97,116,180,190],"important":[3],"kernel":[4],"that":[5,104],"requires":[6],"many":[7],"passes":[8],"on":[9],"data,":[10],"where":[11],"each":[12],"pass":[13],"imposes":[14],"significant":[15,84],"data":[16,26],"movement":[17,27],"overhead.":[18],"Processing":[19],"in":[20,90],"memory":[21],"(PIM)":[22],"can":[23,40],"reduce":[24],"this":[25,45,93,166],"overhead":[28,122,128],"while":[29],"providing":[30,161],"high":[31],"parallelism.":[32,43],"The":[33],"radix":[34,158],"sorting":[35,103,154,159,182,192],"algorithm":[36,46,98],"scalable":[38],"and":[39,81,99,114,126,160,184],"exploit":[41],"PIM's":[42],"However,":[44],"inefficient":[48],"for":[49,53,102,165],"current":[50],"PIM-based":[51],"accelerators":[52],"three":[54],"reasons:":[55],"(i)":[56],"requiring":[57,68,83],"a":[58,69,140,152],"large":[59,75],"intermediate":[60,76,117,124],"array":[61,137],"per":[62],"processing":[63,109],"unit,":[64],"wasting":[65],"capacity,":[66],"(ii)":[67],"prefix-sum":[70,131],"operation":[71],"across":[72],"all":[73],"the":[74,120,130,135,157],"arrays,":[77],"imposing":[78],"performance":[79,127],"overhead,":[80],"(iii)":[82],"random":[85,144,148],"accesses,":[86,145],"which":[87],"are":[88],"costly":[89],"PIM.":[91],"In":[92],"paper,":[94],"we":[95,146],"propose":[96],"hardware":[100,163],"co-optimization":[101],"enable":[105],"every":[106],"group":[107],"of":[108,123,129],"elements":[110],"to":[111,143,156,178,188],"cooperatively":[112],"share":[113],"generate":[115],"array,":[118],"reducing":[119],"capacity":[121],"arrays":[125],"operation.":[132],"To":[133],"prevent":[134],"shared":[136],"from":[138],"becoming":[139],"bottleneck":[141],"due":[142],"eliminate":[147],"accesses":[149],"by":[150],"adding":[151],"local":[153],"step":[155],"efficient":[162],"support":[164],"step.":[167],"On":[168],"average,":[169],"our":[170],"hardware/algorithm":[171],"optimizations,":[172],"Pulley,":[173],"deliver":[174],"20\u00d7":[175],"speedup":[176,186],"compared":[177,187],"Bonsai,":[179],"FPGA-based":[181],"accelerator,":[183],"13\u00d7":[185],"IMC,":[189],"in-logic-layer-based":[191],"accelerator.":[193]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-08-21T09:56:20.448147","created_date":"2025-10-10T00:00:00"}
