{"id":"https://openalex.org/W1991227647","doi":"https://doi.org/10.1145/1127577.1127584","title":"Dynamic memory optimization using pool allocation and prefetching","display_name":"Dynamic memory optimization using pool allocation and prefetching","publication_year":2005,"publication_date":"2005-12-01","ids":{"openalex":"https://openalex.org/W1991227647","doi":"https://doi.org/10.1145/1127577.1127584","mag":"1991227647"},"language":"en","primary_location":{"id":"doi:10.1145/1127577.1127584","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1127577.1127584","pdf_url":null,"source":{"id":"https://openalex.org/S4210193905","display_name":"ACM SIGARCH Computer Architecture News","issn_l":"0163-5964","issn":["0163-5964","1943-5851"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320740","host_organization_name":"ACM SIGARCH","host_organization_lineage":["https://openalex.org/P4310320740"],"host_organization_lineage_names":["ACM SIGARCH"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGARCH Computer Architecture News","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/1721.1/30228","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101140546","display_name":"Qin Zhao","orcid":null},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]},{"id":"https://openalex.org/I4210167254","display_name":"Singapore-MIT Alliance for Research and Technology","ror":"https://ror.org/05yb3w112","country_code":"SG","type":"education","lineage":["https://openalex.org/I4210167254"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Qin Zhao","raw_affiliation_strings":["National University of Singapore, Singapore-MIT Alliance"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore-MIT Alliance","institution_ids":["https://openalex.org/I4210167254","https://openalex.org/I165932596"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001159571","display_name":"Rodric Rabbah","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Rodric Rabbah","raw_affiliation_strings":["MIT Computer Science and Artificial Intelligence Laboratory","MIT, Computer Science and Artificial Intelligence Laboratory"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"MIT Computer Science and Artificial Intelligence Laboratory","institution_ids":[]},{"raw_affiliation_string":"MIT, Computer Science and Artificial Intelligence Laboratory","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5023989495","display_name":"Weng\u2010Fai Wong","orcid":"https://orcid.org/0000-0002-4281-2053"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]},{"id":"https://openalex.org/I4210167254","display_name":"Singapore-MIT Alliance for Research and Technology","ror":"https://ror.org/05yb3w112","country_code":"SG","type":"education","lineage":["https://openalex.org/I4210167254"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Weng-Fai Wong","raw_affiliation_strings":["National University of Singapore, Singapore-MIT Alliance"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore-MIT Alliance","institution_ids":["https://openalex.org/I4210167254","https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.7816,"has_fulltext":false,"cited_by_count":24,"citation_normalized_percentile":{"value":0.735134,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"33","issue":"5","first_page":"27","last_page":"32"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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.9983000159263611,"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/T12326","display_name":"Network Packet Processing and Optimization","score":0.995199978351593,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8605201244354248},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.7956067323684692},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6715610027313232},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.6571283340454102},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5992696285247803},{"id":"https://openalex.org/keywords/memory-hierarchy","display_name":"Memory hierarchy","score":0.5566269159317017},{"id":"https://openalex.org/keywords/instruction-prefetch","display_name":"Instruction prefetch","score":0.5132730007171631},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.48464757204055786},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.47868114709854126},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.45786407589912415},{"id":"https://openalex.org/keywords/tree-traversal","display_name":"Tree traversal","score":0.41194045543670654},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.39139118790626526},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3076614439487457},{"id":"https://openalex.org/keywords/overlay","display_name":"Overlay","score":0.2496565282344818},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.2382661998271942},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.10778254270553589}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8605201244354248},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.7956067323684692},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6715610027313232},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.6571283340454102},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5992696285247803},{"id":"https://openalex.org/C2778100165","wikidata":"https://www.wikidata.org/wiki/Q1589327","display_name":"Memory hierarchy","level":3,"score":0.5566269159317017},{"id":"https://openalex.org/C133588205","wikidata":"https://www.wikidata.org/wiki/Q28455645","display_name":"Instruction prefetch","level":3,"score":0.5132730007171631},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.48464757204055786},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.47868114709854126},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.45786407589912415},{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.41194045543670654},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.39139118790626526},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3076614439487457},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.2496565282344818},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.2382661998271942},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.10778254270553589},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/1127577.1127584","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1127577.1127584","pdf_url":null,"source":{"id":"https://openalex.org/S4210193905","display_name":"ACM SIGARCH Computer Architecture News","issn_l":"0163-5964","issn":["0163-5964","1943-5851"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320740","host_organization_name":"ACM SIGARCH","host_organization_lineage":["https://openalex.org/P4310320740"],"host_organization_lineage_names":["ACM SIGARCH"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGARCH Computer Architecture News","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.135.4322","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.4322","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://web.mit.edu/rabbah/www/docs/zhao-wbia-2005.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.66.4327","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.4327","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.comp.nus.edu.sg/~wongwf/papers/wbia05.pdf","raw_type":"text"},{"id":"pmh:oai:dspace.mit.edu:1721.1/30228","is_oa":true,"landing_page_url":"http://hdl.handle.net/1721.1/30228","pdf_url":null,"source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Article"}],"best_oa_location":{"id":"pmh:oai:dspace.mit.edu:1721.1/30228","is_oa":true,"landing_page_url":"http://hdl.handle.net/1721.1/30228","pdf_url":null,"source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Article"},"sustainable_development_goals":[{"display_name":"No poverty","id":"https://metadata.un.org/sdg/1","score":0.41999998688697815}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W1971514468","https://openalex.org/W2009711341","https://openalex.org/W2033303189","https://openalex.org/W2095063920","https://openalex.org/W2099958604","https://openalex.org/W2103330947","https://openalex.org/W2111069040","https://openalex.org/W2116730320","https://openalex.org/W2128104279","https://openalex.org/W2131574356","https://openalex.org/W2136348740","https://openalex.org/W2138677746","https://openalex.org/W2147278401","https://openalex.org/W2148589677","https://openalex.org/W2153691881","https://openalex.org/W2155943969","https://openalex.org/W2160395504","https://openalex.org/W2160976782","https://openalex.org/W2295099251","https://openalex.org/W4236944756"],"related_works":["https://openalex.org/W2766468145","https://openalex.org/W2944895246","https://openalex.org/W92825922","https://openalex.org/W4379518516","https://openalex.org/W4379141974","https://openalex.org/W2486766535","https://openalex.org/W3104774169","https://openalex.org/W2361476655","https://openalex.org/W2953153984","https://openalex.org/W1978563054"],"abstract_inverted_index":{"Heap":[0],"memory":[1,18,39,75,80,140,164],"allocation":[2,61,76,126],"plays":[3],"an":[4,202],"important":[5],"role":[6],"in":[7,180],"modern":[8],"applications.":[9],"Conventional":[10],"heap":[11,60,83,145],"allocators,":[12],"however,":[13],"generally":[14],"ignore":[15],"the":[16,21,38,41,88,115,125,132,135,167,188],"underlying":[17],"hierarchy":[19],"of":[20],"system,":[22],"favoring":[23],"instead":[24],"a":[25,58,102,182,195,206,210],"low":[26],"runtime":[27],"overhead":[28],"and":[29,49,78,193,205],"fast":[30],"response":[31],"times.":[32],"Unfortunately,":[33],"with":[34,101],"little":[35],"concern":[36],"for":[37,159],"hierarchy,":[40],"data":[42,100,112,160],"layout":[43],"may":[44],"exhibit":[45,152],"poor":[46],"spatial":[47,109],"locality,":[48,110],"degrade":[50],"cache":[51,71],"performance.":[52,141],"In":[53],"this":[54],"paper,":[55],"we":[56,105,147],"describe":[57],"dynamic":[59,163,183],"scheme":[62],"called":[63],"pool":[64],"allocation.":[65],"The":[66,91,176],"strategy":[67],"aims":[68],"to":[69,107,114,131,151,170],"improve":[70,108],"performance":[72],"by":[73,87,97,143],"inspecting":[74],"requests,":[77],"allocating":[79],"from":[81,121],"appropriate":[82],"pools":[84],"as":[85,111],"dictated":[86],"requesting":[89],"context.":[90],"advantages":[92],"are":[93,128,178],"two":[94],"fold.":[95],"First,":[96],"pooling":[98,144],"together":[99],"common":[103],"context,":[104],"expect":[106,148],"fetched":[113],"caches":[116],"will":[117],"contain":[118],"fewer":[119],"items":[120],"different":[122],"contexts.":[123],"If":[124],"patterns":[127,150],"closely":[129],"matched":[130],"traversal":[133],"patterns,":[134],"end":[136],"result":[137],"is":[138],"faster":[139],"Second,":[142],"objects,":[146],"access":[149],"more":[153,157],"regularity,":[154],"thus":[155],"creating":[156],"opportunities":[158],"prefetching.":[161],"Our":[162],"optimizer":[165],"exploits":[166],"increased":[168],"regularity":[169],"insert":[171],"prefetch":[172],"instructions":[173],"at":[174],"runtime.":[175],"optimizations":[177],"implemented":[179],"DynamoRIO,":[181],"optimization":[184],"framework.":[185],"We":[186],"evaluate":[187],"work":[189],"using":[190],"various":[191],"bench-marks,":[192],"measure":[194],"17%":[196],"speedup":[197,208],"over":[198],"gcc":[199],"\u221203":[200],"on":[201,209],"Athlon":[203],"MP,":[204],"13%":[207],"Pentium":[211],"4.":[212]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
