{"id":"https://openalex.org/W2977633660","doi":"https://doi.org/10.1145/3314221.3314582","title":"Mesh: compacting memory management for C/C++ applications","display_name":"Mesh: compacting memory management for C/C++ applications","publication_year":2019,"publication_date":"2019-06-07","ids":{"openalex":"https://openalex.org/W2977633660","doi":"https://doi.org/10.1145/3314221.3314582","mag":"2977633660"},"language":"en","primary_location":{"id":"doi:10.1145/3314221.3314582","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314582","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314582","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314582","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Bobby Powers","orcid":null},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Bobby Powers","raw_affiliation_strings":["University of Massachusetts at Amherst, USA"],"affiliations":[{"raw_affiliation_string":"University of Massachusetts at Amherst, USA","institution_ids":["https://openalex.org/I24603500"]}]},{"author_position":"middle","author":{"id":null,"display_name":"David Tench","orcid":null},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Tench","raw_affiliation_strings":["University of Massachusetts at Amherst, USA"],"affiliations":[{"raw_affiliation_string":"University of Massachusetts at Amherst, USA","institution_ids":["https://openalex.org/I24603500"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Emery D. Berger","orcid":null},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Emery D. Berger","raw_affiliation_strings":["University of Massachusetts at Amherst, USA"],"affiliations":[{"raw_affiliation_string":"University of Massachusetts at Amherst, USA","institution_ids":["https://openalex.org/I24603500"]}]},{"author_position":"last","author":{"id":null,"display_name":"Andrew McGregor","orcid":null},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew McGregor","raw_affiliation_strings":["University of Massachusetts at Amherst, USA"],"affiliations":[{"raw_affiliation_string":"University of Massachusetts at Amherst, USA","institution_ids":["https://openalex.org/I24603500"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I24603500"],"apc_list":null,"apc_paid":null,"fwci":1.4812,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.81736489,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"333","last_page":"346"},"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.9998999834060669,"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.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9936000108718872,"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/memory-management","display_name":"Memory management","score":0.7214999794960022},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.7087000012397766},{"id":"https://openalex.org/keywords/virtual-memory","display_name":"Virtual memory","score":0.5982999801635742},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.49459999799728394},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.45170000195503235},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.42309999465942383},{"id":"https://openalex.org/keywords/interleaved-memory","display_name":"Interleaved memory","score":0.41929998993873596},{"id":"https://openalex.org/keywords/extended-memory","display_name":"Extended memory","score":0.40369999408721924},{"id":"https://openalex.org/keywords/memory-map","display_name":"Memory map","score":0.4009999930858612}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7663000226020813},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.7214999794960022},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.7087000012397766},{"id":"https://openalex.org/C76399640","wikidata":"https://www.wikidata.org/wiki/Q189401","display_name":"Virtual memory","level":4,"score":0.5982999801635742},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.49459999799728394},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.45170000195503235},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.42309999465942383},{"id":"https://openalex.org/C63511323","wikidata":"https://www.wikidata.org/wiki/Q908936","display_name":"Interleaved memory","level":4,"score":0.41929998993873596},{"id":"https://openalex.org/C171675096","wikidata":"https://www.wikidata.org/wiki/Q1143380","display_name":"Extended memory","level":4,"score":0.40369999408721924},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4025999903678894},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.4009999930858612},{"id":"https://openalex.org/C18131444","wikidata":"https://www.wikidata.org/wiki/Q163585","display_name":"Memory protection","level":5,"score":0.3917999863624573},{"id":"https://openalex.org/C92855701","wikidata":"https://www.wikidata.org/wiki/Q5830907","display_name":"Computer memory","level":3,"score":0.37290000915527344},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.36640000343322754},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3546000123023987},{"id":"https://openalex.org/C57863822","wikidata":"https://www.wikidata.org/wiki/Q905488","display_name":"Flat memory model","level":4,"score":0.3452000021934509},{"id":"https://openalex.org/C41036726","wikidata":"https://www.wikidata.org/wiki/Q844824","display_name":"Physical address","level":3,"score":0.33239999413490295},{"id":"https://openalex.org/C2780165032","wikidata":"https://www.wikidata.org/wiki/Q16869822","display_name":"Energy consumption","level":2,"score":0.2865999937057495},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.28349998593330383},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2827000021934509},{"id":"https://openalex.org/C79470037","wikidata":"https://www.wikidata.org/wiki/Q279748","display_name":"Out-of-core algorithm","level":2,"score":0.26649999618530273},{"id":"https://openalex.org/C191015642","wikidata":"https://www.wikidata.org/wiki/Q1132459","display_name":"Fragmentation (computing)","level":2,"score":0.26429998874664307},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2621999979019165},{"id":"https://openalex.org/C183560197","wikidata":"https://www.wikidata.org/wiki/Q7247302","display_name":"Process state","level":3,"score":0.26100000739097595},{"id":"https://openalex.org/C53838383","wikidata":"https://www.wikidata.org/wiki/Q541148","display_name":"Conventional memory","level":5,"score":0.26089999079704285},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.2605000138282776},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.25940001010894775},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.2540999948978424},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.2538999915122986},{"id":"https://openalex.org/C82687282","wikidata":"https://www.wikidata.org/wiki/Q66221","display_name":"Auxiliary memory","level":2,"score":0.25369998812675476},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.25290000438690186},{"id":"https://openalex.org/C177950962","wikidata":"https://www.wikidata.org/wiki/Q10997658","display_name":"Non-volatile memory","level":2,"score":0.25049999356269836}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3314221.3314582","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314582","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314582","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1902.04738","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1902.04738","pdf_url":"https://arxiv.org/pdf/1902.04738","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:escholarship.org:ark:/13030/qt1f6373fr","is_oa":true,"landing_page_url":"https://escholarship.org/uc/item/1f6373fr","pdf_url":null,"source":{"id":"https://openalex.org/S4306400115","display_name":"eScholarship (California Digital Library)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2801248553","host_organization_name":"California Digital Library","host_organization_lineage":["https://openalex.org/I2801248553"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"doi:10.1145/3314221.3314582","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3314221.3314582","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3314221.3314582","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8050074586","display_name":null,"funder_award_id":"1637536","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2977633660.pdf","grobid_xml":"https://content.openalex.org/works/W2977633660.grobid-xml"},"referenced_works_count":14,"referenced_works":["https://openalex.org/W1975294145","https://openalex.org/W1983156473","https://openalex.org/W2035384491","https://openalex.org/W2064091303","https://openalex.org/W2093092438","https://openalex.org/W2118373998","https://openalex.org/W2120457453","https://openalex.org/W2131734025","https://openalex.org/W2154795299","https://openalex.org/W2161678437","https://openalex.org/W2591862005","https://openalex.org/W2610183793","https://openalex.org/W4249713879","https://openalex.org/W4250981365"],"related_works":[],"abstract_inverted_index":{"Programs":[0],"written":[1],"in":[2,41,81],"C/C++":[3,43],"can":[4],"suffer":[5],"from":[6],"serious":[7],"memory":[8,23,53,75,79,86],"fragmentation,":[9,58],"leading":[10],"to":[11,22,55],"low":[12],"utilization":[13],"of":[14,73,87,89],"memory,":[15],"degraded":[16],"performance,":[17],"and":[18,93],"application":[19],"failure":[20],"due":[21],"exhaustion.":[24],"This":[25],"paper":[26],"introduces":[27],"Mesh,":[28],"a":[29],"plug-in":[30],"replacement":[31],"for":[32,35],"malloc":[33],"that,":[34],"the":[36,60,70,85],"first":[37],"time,":[38],"eliminates":[39],"fragmentation":[40],"unmodified":[42],"applications.":[44],"Mesh":[45,67],"combines":[46],"novel":[47],"randomized":[48],"algorithms":[49],"with":[50,64],"widely-supported":[51],"virtual":[52],"operations":[54],"provably":[56],"reduce":[57],"breaking":[59],"classical":[61],"Robson":[62],"bounds":[63],"high":[65],"probability.":[66],"generally":[68],"matches":[69],"runtime":[71],"performance":[72],"state-of-the-art":[74],"allocators":[76],"while":[77],"reducing":[78],"consumption;":[80],"particular,":[82],"it":[83],"reduces":[84],"consumption":[88],"Firefox":[90],"by":[91,95],"16%":[92],"Redis":[94],"39%.":[96]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2019-10-10T00:00:00"}
