{"id":"https://openalex.org/W4399850966","doi":"https://doi.org/10.1145/3652024.3665506","title":"BatchIt: Optimizing Message-Passing Allocators for Producer-Consumer Workloads: An Intellectual Abstract","display_name":"BatchIt: Optimizing Message-Passing Allocators for Producer-Consumer Workloads: An Intellectual Abstract","publication_year":2024,"publication_date":"2024-06-20","ids":{"openalex":"https://openalex.org/W4399850966","doi":"https://doi.org/10.1145/3652024.3665506"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652024.3665506","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652024.3665506","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"proceedings-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3652024.3665506","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026202020","display_name":"Nathaniel Wesley Filardo","orcid":"https://orcid.org/0009-0002-9698-1503"},"institutions":[{"id":"https://openalex.org/I4210153468","display_name":"Microsoft (Canada)","ror":"https://ror.org/04xhxg104","country_code":"CA","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210153468"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Nathaniel Wesley Filardo","raw_affiliation_strings":["Microsoft, Toronto, Canada"],"affiliations":[{"raw_affiliation_string":"Microsoft, Toronto, Canada","institution_ids":["https://openalex.org/I4210153468"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001725251","display_name":"Matthew Parkinson","orcid":"https://orcid.org/0009-0004-3937-1260"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Matthew J. Parkinson","raw_affiliation_strings":["Microsoft, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Microsoft, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":0,"max":86},"biblio":{"volume":null,"issue":null,"first_page":"121","last_page":"130"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Performance Optimization","score":0.9995,"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 Performance Optimization","score":0.9995,"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/T10502","display_name":"Memristive Devices for Neuromorphic Computing","score":0.9987,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11181","display_name":"Distributed Storage Systems and Network Coding","score":0.9983,"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/allocator","display_name":"Allocator","score":0.93828547},{"id":"https://openalex.org/keywords/message-queue","display_name":"Message queue","score":0.53873724},{"id":"https://openalex.org/keywords/performance-optimization","display_name":"Performance Optimization","score":0.522132},{"id":"https://openalex.org/keywords/benchmarking","display_name":"Benchmarking","score":0.521809},{"id":"https://openalex.org/keywords/multicore-architectures","display_name":"Multicore Architectures","score":0.517208},{"id":"https://openalex.org/keywords/atomicity","display_name":"Atomicity","score":0.51597744},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel Computing","score":0.514965},{"id":"https://openalex.org/keywords/distributed-storage","display_name":"Distributed Storage","score":0.510731},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4257969}],"concepts":[{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.93828547},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.84100205},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.55806196},{"id":"https://openalex.org/C26324664","wikidata":"https://www.wikidata.org/wiki/Q1065525","display_name":"Message queue","level":2,"score":0.53873724},{"id":"https://openalex.org/C188045909","wikidata":"https://www.wikidata.org/wiki/Q3306359","display_name":"Atomicity","level":3,"score":0.51597744},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.48093694},{"id":"https://openalex.org/C160403385","wikidata":"https://www.wikidata.org/wiki/Q220543","display_name":"Queue","level":2,"score":0.4729528},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.46187118},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.442937},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.434268},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4257969},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.32934412},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.30594754},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.16315302},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.10930467},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.10347846},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652024.3665506","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652024.3665506","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652024.3665506","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652024.3665506","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":2,"referenced_works":["https://openalex.org/W2955849675","https://openalex.org/W4249713879"],"related_works":["https://openalex.org/W4303183859","https://openalex.org/W3138411814","https://openalex.org/W2357517130","https://openalex.org/W2115269980","https://openalex.org/W2001866549","https://openalex.org/W1990697576","https://openalex.org/W1600422503","https://openalex.org/W1591836442","https://openalex.org/W1582361381","https://openalex.org/W1520405624"],"abstract_inverted_index":{"Modern,":[0],"high-performance":[1],"memory":[2],"allocators":[3,170],"must":[4],"scale":[5],"to":[6,37,54,104],"a":[7,78,85,150],"wide":[8],"array":[9],"of":[10,88,94,108,133],"uses,":[11],"including":[12],"producer-consumer":[13,65,125,157],"workloads.":[14],"In":[15],"such":[16,46,83],"workloads,":[17,66],"objects":[18,95],"are":[19],"allocated":[20],"by":[21,26],"one":[22],"thread":[23],"and":[24,49,75,110,122,136,149],"deallocated":[25],"another,":[27],"which":[28],"we":[29,116],"call":[30],"remote":[31,34,56,89],"deallocations.":[32],"These":[33,60],"deallocations":[35,57,90],"lead":[36],"contention":[38],"on":[39],"the":[40,98,140,146,166],"allocator's":[41],"synchronization":[42],"mechanisms.":[43],"Message-passing":[44],"allocators,":[45],"as":[47],"mimalloc":[48,121],"snmalloc,":[50],"use":[51],"message":[52],"queues":[53,61],"communicate":[55],"between":[58],"threads.":[59],"work":[62],"well":[63],"for":[64,71,82,97,119],"but":[67],"there":[68],"is":[69],"room":[70],"optimization.":[72],"We":[73],"propose":[74],"characterize":[76],"BatchIt,":[77],"conceptually":[79],"simple":[80],"optimization":[81,102],"allocators:":[84],"per-slab":[86],"cache":[87,137],"that":[91,155],"enables":[92],"batching":[93],"destined":[96],"same":[99],"slab.":[100],"This":[101],"aims":[103],"exploit":[105],"naturally-arising":[106],"locality":[107],"allocations,":[109],"it":[111],"generalizes":[112],"across":[113],"particular":[114],"implementations;":[115],"have":[117],"implementations":[118],"both":[120],"snmalloc.":[123],"Multi-threaded,":[124],"benchmarks":[126],"show":[127,154],"improved":[128],"performance":[129,162,168],"from":[130],"reduced":[131],"rates":[132],"atomic":[134],"operations":[135],"misses":[138],"in":[139],"underlying":[141],"allocator.":[142],"Experimental":[143],"results":[144],"using":[145],"mimalloc-bench":[147],"suite":[148],"custom":[151],"message-passing":[152],"workload":[153],"some":[156],"workloads":[158],"see":[159],"over":[160],"20%":[161],"improvement":[163],"even":[164],"atop":[165],"high":[167],"these":[169],"already":[171],"provide.":[172]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4399850966","counts_by_year":[],"updated_date":"2024-10-22T03:49:47.940941","created_date":"2024-06-21"}