{"id":"https://openalex.org/W2269172429","doi":"https://doi.org/10.1145/2851141.2851193","title":"NUMA-aware scheduling and memory allocation for data-flow task-parallel applications","display_name":"NUMA-aware scheduling and memory allocation for data-flow task-parallel applications","publication_year":2016,"publication_date":"2016-02-22","ids":{"openalex":"https://openalex.org/W2269172429","doi":"https://doi.org/10.1145/2851141.2851193","mag":"2269172429"},"language":"en","primary_location":{"id":"doi:10.1145/2851141.2851193","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2851141.2851193","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://research.manchester.ac.uk/files/31439972/FULL_TEXT.PDF","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084849650","display_name":"Andi Drebes","orcid":null},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Andi Drebes","raw_affiliation_strings":["The University of Manchester","School of Computer Science [Manchester]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]},{"raw_affiliation_string":"School of Computer Science [Manchester]","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027341627","display_name":"Antoniu Pop","orcid":"https://orcid.org/0000-0002-7715-4281"},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Antoniu Pop","raw_affiliation_strings":["The University of Manchester","School of Computer Science [Manchester]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]},{"raw_affiliation_string":"School of Computer Science [Manchester]","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034064440","display_name":"Karine Heydemann","orcid":"https://orcid.org/0000-0003-2092-924X"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I39804081","display_name":"Sorbonne Universit\u00e9","ror":"https://ror.org/02en5vm52","country_code":"FR","type":"education","lineage":["https://openalex.org/I39804081"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Karine Heydemann","raw_affiliation_strings":["Sorbonne Universit\u00e9s, CNRS, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sorbonne Universit\u00e9s, CNRS, France","institution_ids":["https://openalex.org/I39804081","https://openalex.org/I1294671590"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5110757581","display_name":"Nathalie Drach","orcid":null},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I39804081","display_name":"Sorbonne Universit\u00e9","ror":"https://ror.org/02en5vm52","country_code":"FR","type":"education","lineage":["https://openalex.org/I39804081"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Nathalie Drach","raw_affiliation_strings":["Sorbonne Universit\u00e9s, CNRS, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sorbonne Universit\u00e9s, CNRS, France","institution_ids":["https://openalex.org/I39804081","https://openalex.org/I1294671590"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5063162788","display_name":"Albert Cohen","orcid":"https://orcid.org/0000-0002-8866-5343"},"institutions":[{"id":"https://openalex.org/I4210103330","display_name":"\u00c9cole Normale Sup\u00e9rieure","ror":"https://ror.org/01dp7jr64","country_code":"BI","type":"education","lineage":["https://openalex.org/I4210103330"]}],"countries":["BI"],"is_corresponding":false,"raw_author_name":"Albert Cohen","raw_affiliation_strings":["Inria, \u00c9cole Normale Sup\u00e9rieure"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria, \u00c9cole Normale Sup\u00e9rieure","institution_ids":["https://openalex.org/I4210103330"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.2818,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.77406733,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"2"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9991999864578247,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9990000128746033,"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.9166852235794067},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6081128120422363},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5793534517288208},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.534375011920929},{"id":"https://openalex.org/keywords/task-parallelism","display_name":"Task parallelism","score":0.4512762129306793},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.41428107023239136},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.4141952395439148},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.413411945104599},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.412502646446228},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.20900121331214905},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20233160257339478}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9166852235794067},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6081128120422363},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5793534517288208},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.534375011920929},{"id":"https://openalex.org/C42992933","wikidata":"https://www.wikidata.org/wiki/Q691169","display_name":"Task parallelism","level":3,"score":0.4512762129306793},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.41428107023239136},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.4141952395439148},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.413411945104599},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.412502646446228},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.20900121331214905},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20233160257339478},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0},{"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},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2851141.2851193","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2851141.2851193","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/5e2ade48-99bf-4b0e-9b58-12ed9c3acada","is_oa":true,"landing_page_url":"https://research.manchester.ac.uk/en/publications/5e2ade48-99bf-4b0e-9b58-12ed9c3acada","pdf_url":"https://research.manchester.ac.uk/files/31439972/FULL_TEXT.PDF","source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Drebes, A, Pop, A, Heydemann, K, Drach, N & Cohen, A 2016, NUMA-aware scheduling and memory allocation for data-flow task-parallel applications. in Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016, Barcelona, Spain, March 12-16, 2016. https://doi.org/10.1145/2851141.2851193","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:HAL:hal-01365746v1","is_oa":false,"landing_page_url":"https://hal.sorbonne-universite.fr/hal-01365746","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.atira.dk:publications/5e2ade48-99bf-4b0e-9b58-12ed9c3acada","is_oa":false,"landing_page_url":"http://doi.acm.org/10.1145/2851141.2851193","pdf_url":null,"source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/5e2ade48-99bf-4b0e-9b58-12ed9c3acada","is_oa":true,"landing_page_url":"https://research.manchester.ac.uk/en/publications/5e2ade48-99bf-4b0e-9b58-12ed9c3acada","pdf_url":"https://research.manchester.ac.uk/files/31439972/FULL_TEXT.PDF","source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Drebes, A, Pop, A, Heydemann, K, Drach, N & Cohen, A 2016, NUMA-aware scheduling and memory allocation for data-flow task-parallel applications. in Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2016, Barcelona, Spain, March 12-16, 2016. https://doi.org/10.1145/2851141.2851193","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G14823364","display_name":"Hybrid Static / Dynamic Optimisations for Many-Cores: Breaking the Memory Wall","funder_award_id":"EP/M004880/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G2119974683","display_name":null,"funder_award_id":"EP/M004880/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320320005","display_name":"Royal Academy of Engineering","ror":"https://ror.org/0526snb40"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2269172429.pdf","grobid_xml":"https://content.openalex.org/works/W2269172429.grobid-xml"},"referenced_works_count":6,"referenced_works":["https://openalex.org/W2009964586","https://openalex.org/W2087085699","https://openalex.org/W2104861744","https://openalex.org/W2109065830","https://openalex.org/W2145442181","https://openalex.org/W2159184943"],"related_works":["https://openalex.org/W2058965144","https://openalex.org/W2164382479","https://openalex.org/W2146343568","https://openalex.org/W98480971","https://openalex.org/W2150291671","https://openalex.org/W2013643406","https://openalex.org/W3138386522","https://openalex.org/W2499279132","https://openalex.org/W2571250724","https://openalex.org/W2154394052"],"abstract_inverted_index":{"Dynamic":[0],"task":[1,69,129,135],"parallelism":[2],"is":[3,40,98],"a":[4,188,195,219,227],"popular":[5],"programming":[6,51,108],"model":[7],"on":[8,187,194],"shared-memory":[9],"systems.":[10,35],"Compared":[11],"to":[12,42,83,213,223,226],"data":[13,62,71,92,136,164,179],"parallel":[14],"loop-based":[15],"concurrency,":[16],"it":[17,39],"promises":[18],"enhanced":[19],"scalability,":[20],"load":[21],"balancing":[22],"and":[23,56,70,81,94,110,145,183],"locality.":[24,63],"These":[25],"promises,":[26],"however,":[27],"are":[28,73],"undermined":[29],"by":[30],"non-uniform":[31],"memory":[32,57,208],"access":[33],"(NUMA)":[34],"We":[36,156],"show":[37,202],"that":[38,158,203],"possible":[41],"preserve":[43],"the":[44,102,112,116,132,140,151,159,167,184,204],"uniform":[45],"hardware":[46],"abstraction":[47],"of":[48,105,118,126,134,142,153,161,190,206,221],"contemporary":[49],"task-parallel":[50,107],"models,":[52],"for":[53,67],"both":[54],"computing":[55],"resources,":[58],"while":[59],"achieving":[60],"near-optimal":[61],"Our":[64,122,181],"run-time":[65,103],"algorithms":[66,123],"NUMA-aware":[68,178,228],"placement":[72,117,152,165],"fully":[74],"automatic,":[75],"application-independent,":[76],"performance-portable":[77],"across":[78],"NUMA":[79,200],"machines,":[80],"adapt":[82],"dynamic":[84,148],"changes.":[85],"Placement":[86],"decisions":[87],"use":[88],"information":[89,97],"about":[90],"inter-task":[91],"dependences":[93,144],"reuse.":[95],"This":[96],"readily":[99],"available":[100],"in":[101,218],"systems":[104],"modern":[106],"frameworks,":[109],"from":[111],"operating":[113],"system":[114,197],"regarding":[115],"previously":[119],"allocated":[120],"memory.":[121],"take":[124],"advantage":[125],"data-flow":[127],"style":[128],"parallelism,":[130],"where":[131],"privatization":[133,168],"enhances":[137],"scalability":[138],"through":[139,176],"elimination":[141],"false":[143],"enables":[146],"fine-grained":[147],"control":[149],"over":[150],"application":[154],"data.":[155],"demonstrate":[157],"benefits":[160],"dynamically":[162],"managing":[163],"outweigh":[166],"cost,":[169],"even":[170],"when":[171],"comparing":[172],"with":[173,198],"target-specific":[174],"optimizations":[175],"static,":[177],"interleaving.":[180],"implementation":[182],"experimental":[185],"evaluation":[186],"set":[189],"high-performance":[191],"benchmarks":[192],"executing":[193],"192-core":[196],"24":[199],"nodes":[201],"fraction":[205],"local":[207],"accesses":[209],"can":[210],"be":[211],"increased":[212],"more":[214],"than":[215],"99%,":[216],"resulting":[217],"speedup":[220],"up":[222],"5\u00d7":[224],"compared":[225],"hierarchical":[229],"work-stealing":[230],"baseline.":[231]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
