{"id":"https://openalex.org/W3174520665","doi":"https://doi.org/10.1145/3409964.3461820","title":"PHPRX: An Efficient Hash Table for Persistent Memory","display_name":"PHPRX: An Efficient Hash Table for Persistent Memory","publication_year":2021,"publication_date":"2021-06-30","ids":{"openalex":"https://openalex.org/W3174520665","doi":"https://doi.org/10.1145/3409964.3461820","mag":"3174520665"},"language":"en","primary_location":{"id":"doi:10.1145/3409964.3461820","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3409964.3461820","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures","raw_type":"proceedings-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/A5070961757","display_name":"Diego Cepeda","orcid":"https://orcid.org/0000-0002-5194-3346"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Diego Cepeda","raw_affiliation_strings":["University of Waterloo, Waterloo, ON, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, ON, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075472271","display_name":"Wojciech Golab","orcid":"https://orcid.org/0000-0002-8891-256X"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Wojciech Golab","raw_affiliation_strings":["University of Waterloo, Waterloo, ON, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, ON, Canada","institution_ids":["https://openalex.org/I151746483"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.236,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.48330781,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"423","last_page":"425"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"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"}},"topics":[{"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9998000264167786,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.8485909104347229},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5516650080680847},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5271071195602417},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.5247378945350647},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.5187299847602844},{"id":"https://openalex.org/keywords/cas-latency","display_name":"CAS latency","score":0.47166168689727783},{"id":"https://openalex.org/keywords/interleaved-memory","display_name":"Interleaved memory","score":0.4585094749927521},{"id":"https://openalex.org/keywords/memory-map","display_name":"Memory map","score":0.44032377004623413},{"id":"https://openalex.org/keywords/hash-table","display_name":"Hash table","score":0.42626819014549255},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.375805139541626},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.34735244512557983},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3252735435962677},{"id":"https://openalex.org/keywords/memory-controller","display_name":"Memory controller","score":0.19281348586082458},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.09001490473747253}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8485909104347229},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5516650080680847},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5271071195602417},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.5247378945350647},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.5187299847602844},{"id":"https://openalex.org/C189930140","wikidata":"https://www.wikidata.org/wiki/Q1112878","display_name":"CAS latency","level":4,"score":0.47166168689727783},{"id":"https://openalex.org/C63511323","wikidata":"https://www.wikidata.org/wiki/Q908936","display_name":"Interleaved memory","level":4,"score":0.4585094749927521},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.44032377004623413},{"id":"https://openalex.org/C67388219","wikidata":"https://www.wikidata.org/wiki/Q207440","display_name":"Hash table","level":3,"score":0.42626819014549255},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.375805139541626},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.34735244512557983},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3252735435962677},{"id":"https://openalex.org/C100800780","wikidata":"https://www.wikidata.org/wiki/Q1175867","display_name":"Memory controller","level":3,"score":0.19281348586082458},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.09001490473747253}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3409964.3461820","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3409964.3461820","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5400000214576721,"display_name":"Affordable and clean energy","id":"https://metadata.un.org/sdg/7"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":3,"referenced_works":["https://openalex.org/W1778179093","https://openalex.org/W2979579843","https://openalex.org/W6785503606"],"related_works":["https://openalex.org/W4214748026","https://openalex.org/W3214959647","https://openalex.org/W4238754064","https://openalex.org/W1554378476","https://openalex.org/W2007476635","https://openalex.org/W3021597805","https://openalex.org/W4242495027","https://openalex.org/W2354036839","https://openalex.org/W2138825797","https://openalex.org/W4243618206"],"abstract_inverted_index":{"Volatile":[0],"media":[1],"have":[2],"dominated":[3],"the":[4,20,30,39,80,97,128,137,177,184],"realm":[5],"of":[6,34,45,82],"main":[7,61],"memory":[8,49,62,85,109,140],"on":[9,70,153],"servers":[10],"and":[11,32,42,65,120,149],"desktop":[12],"computers":[13],"for":[14,99],"decades.":[15],"In":[16],"2019,":[17],"Intel":[18,155,161],"released":[19],"Optane":[21,162],"Data":[22],"Center":[23],"Persistent":[24],"Memory":[25],"Module":[26],"(DCPMM),":[27],"which":[28],"offers":[29],"capacity":[31],"persistence":[33],"block":[35],"devices":[36],"while":[37],"providing":[38],"byte":[40],"addressability":[41],"low":[43],"latency":[44],"DRAM.":[46],"These":[47],"new":[48],"modules":[50],"allow":[51],"programmers":[52],"to":[53,94,125,175,183],"develop":[54],"data":[55,88],"structures":[56],"that":[57,90],"can":[58],"survive":[59],"in":[60,104],"across":[63],"crashes":[64],"power":[66,72],"failures,":[67],"without":[68],"relying":[69],"secondary":[71],"sources":[73],"such":[74],"as":[75,181],"batteries.":[76],"This":[77],"work":[78],"presents":[79],"design":[81],"a":[83,113,121,171],"persistent":[84,139],"hash":[86,141],"table":[87,115,142],"structure":[89],"incorporates":[91],"several":[92],"features":[93],"maximize":[95],"efficiency:":[96],"locks":[98],"concurrency":[100],"control":[101],"are":[102],"kept":[103],"volatile":[105],"DRAM,":[106],"an":[107,154],"embedded":[108],"allocator":[110],"is":[111,118,123],"used,":[112],"parallel":[114],"resize":[116],"operation":[117],"implemented,":[119],"mechanism":[122],"provided":[124],"incrementally":[126],"expand":[127],"underlying":[129,178],"memory-mapped":[130,179],"file.":[131],"We":[132],"compare":[133],"PHPRX":[134,169],"experimentally":[135],"against":[136],"Dash":[138],"published":[143],"recently":[144],"by":[145,191],"Lu":[146],"et":[147],"al.,":[148],"demonstrate":[150],"substantial":[151],"speed-ups":[152],"Xeon":[156],"server":[157],"equipped":[158],"with":[159],"genuine":[160],"DCPMM.":[163],"Our":[164],"performance":[165],"advantage":[166],"holds":[167],"despite":[168],"using":[170],"space-efficient":[172],"incremental":[173],"approach":[174,189],"expanding":[176],"file,":[180],"opposed":[182],"much":[185],"simpler":[186],"static":[187],"allocation":[188],"used":[190],"Dash.":[192]},"counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
