{"id":"https://openalex.org/W4417403270","doi":"https://doi.org/10.1109/pact65351.2025.00030","title":"Automatic Generation of Actor-based Parallelism from Shared-Memory Parallel Programs","display_name":"Automatic Generation of Actor-based Parallelism from Shared-Memory Parallel Programs","publication_year":2025,"publication_date":"2025-11-03","ids":{"openalex":"https://openalex.org/W4417403270","doi":"https://doi.org/10.1109/pact65351.2025.00030"},"language":null,"primary_location":{"id":"doi:10.1109/pact65351.2025.00030","is_oa":false,"landing_page_url":"https://doi.org/10.1109/pact65351.2025.00030","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 34th International Conference on Parallel Architectures and Compilation Techniques (PACT)","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/A5067511475","display_name":"Jun Shirako","orcid":"https://orcid.org/0000-0002-7900-7680"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jun Shirako","raw_affiliation_strings":["Georgia Institute of Technology,College of Computing,Atlanta,Georgia,USA"],"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology,College of Computing,Atlanta,Georgia,USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043513001","display_name":"Vivek Sarkar","orcid":"https://orcid.org/0000-0002-3433-8830"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vivek Sarkar","raw_affiliation_strings":["Georgia Institute of Technology,College of Computing,Atlanta,Georgia,USA"],"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology,College of Computing,Atlanta,Georgia,USA","institution_ids":["https://openalex.org/I130701444"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5067511475"],"corresponding_institution_ids":["https://openalex.org/I130701444"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.43387063,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"229","last_page":"242"},"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.8712000250816345,"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.8712000250816345,"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/T12292","display_name":"Graph Theory and Algorithms","score":0.04320000112056732,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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.019300000742077827,"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/programmer","display_name":"Programmer","score":0.7239000201225281},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.666700005531311},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.6402999758720398},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6089000105857849},{"id":"https://openalex.org/keywords/partitioned-global-address-space","display_name":"Partitioned global address space","score":0.5964999794960022},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5493999719619751},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4848000109195709},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.436599999666214},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4203999936580658},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.41519999504089355}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9057999849319458},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7239000201225281},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.666700005531311},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6402999758720398},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6089000105857849},{"id":"https://openalex.org/C60832428","wikidata":"https://www.wikidata.org/wiki/Q945818","display_name":"Partitioned global address space","level":3,"score":0.5964999794960022},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5493999719619751},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5203999876976013},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5171999931335449},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4848000109195709},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.436599999666214},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4203999936580658},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.41519999504089355},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.39430001378059387},{"id":"https://openalex.org/C42992933","wikidata":"https://www.wikidata.org/wiki/Q691169","display_name":"Task parallelism","level":3,"score":0.3847000002861023},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3799999952316284},{"id":"https://openalex.org/C2776834041","wikidata":"https://www.wikidata.org/wiki/Q25346349","display_name":"Execution model","level":2,"score":0.3691999912261963},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.3598000109195709},{"id":"https://openalex.org/C137364921","wikidata":"https://www.wikidata.org/wiki/Q27929394","display_name":"Parallel programming model","level":3,"score":0.353300005197525},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.33730000257492065},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.33559998869895935},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.3287999927997589},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.32089999318122864},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.3000999987125397},{"id":"https://openalex.org/C140763907","wikidata":"https://www.wikidata.org/wiki/Q2714055","display_name":"Instruction-level parallelism","level":3,"score":0.26969999074935913},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.2694999873638153},{"id":"https://openalex.org/C854659","wikidata":"https://www.wikidata.org/wiki/Q1859284","display_name":"Message passing","level":2,"score":0.2687000036239624},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.26809999346733093},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.2662000060081482},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.26179999113082886},{"id":"https://openalex.org/C144240696","wikidata":"https://www.wikidata.org/wiki/Q367204","display_name":"Address space","level":2,"score":0.25929999351501465},{"id":"https://openalex.org/C85687889","wikidata":"https://www.wikidata.org/wiki/Q445962","display_name":"Legacy code","level":3,"score":0.2563999891281128},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.2563000023365021},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2531999945640564},{"id":"https://openalex.org/C38677869","wikidata":"https://www.wikidata.org/wiki/Q724168","display_name":"Petri net","level":2,"score":0.25290000438690186}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/pact65351.2025.00030","is_oa":false,"landing_page_url":"https://doi.org/10.1109/pact65351.2025.00030","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 34th International Conference on Parallel Architectures and Compilation Techniques (PACT)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320312530","display_name":"Office of the Director of National Intelligence","ror":"https://ror.org/01v3fsc55"},{"id":"https://openalex.org/F4320316514","display_name":"Arm","ror":"https://ror.org/04mmhzs81"},{"id":"https://openalex.org/F4320333051","display_name":"Intelligence Advanced Research Projects Activity","ror":"https://ror.org/01v3fsc55"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":42,"referenced_works":["https://openalex.org/W1536513995","https://openalex.org/W1598202309","https://openalex.org/W1607770173","https://openalex.org/W1970141743","https://openalex.org/W1986239736","https://openalex.org/W1990138733","https://openalex.org/W1994994277","https://openalex.org/W1998120323","https://openalex.org/W2012313745","https://openalex.org/W2019565705","https://openalex.org/W2032391783","https://openalex.org/W2034761517","https://openalex.org/W2046736907","https://openalex.org/W2053250078","https://openalex.org/W2071858567","https://openalex.org/W2076880951","https://openalex.org/W2090409324","https://openalex.org/W2102132638","https://openalex.org/W2109065830","https://openalex.org/W2119148081","https://openalex.org/W2130639013","https://openalex.org/W2133695315","https://openalex.org/W2138466513","https://openalex.org/W2140300123","https://openalex.org/W2143922332","https://openalex.org/W2169816952","https://openalex.org/W2241027171","https://openalex.org/W2413958662","https://openalex.org/W2788233622","https://openalex.org/W2913135575","https://openalex.org/W2965366195","https://openalex.org/W2983923412","https://openalex.org/W2985791937","https://openalex.org/W2991478102","https://openalex.org/W2997804335","https://openalex.org/W4231830608","https://openalex.org/W4241139449","https://openalex.org/W4246500121","https://openalex.org/W4285171003","https://openalex.org/W4285429071","https://openalex.org/W4396814948","https://openalex.org/W4405756128"],"related_works":[],"abstract_inverted_index":{"Modern":[0],"high-performance":[1,106],"computing":[2],"(HPC)":[3],"platforms":[4],"rely":[5],"on":[6,76,191],"hybrid":[7,23],"combinations":[8],"of":[9,176],"shared-memory":[10,33,50,193,256],"and":[11,67,228,249,264],"distributed-memory":[12,107,126,196,247,260],"programming":[13],"models":[14,34],"to":[15,44,52,114,117,133,160,195,203],"achieve":[16],"scalable":[17],"parallelism.":[18,212],"Despite":[19],"their":[20],"success,":[21],"these":[22],"approaches":[24],"remain":[25],"challenging":[26],"for":[27,87,138,208,245,262],"many":[28],"programmers":[29],"trained":[30],"primarily":[31],"in":[32,84,94,149,237],"such":[35,71,90],"as":[36,91,118],"OpenMP.":[37],"For":[38],"decades,":[39],"researchers":[40],"have":[41],"sought":[42],"ways":[43],"automatically":[45,104,204],"generate":[46],"distributedmemory":[47],"parallelism":[48],"from":[49,109,153],"programs":[51,194,209],"bridge":[53],"this":[54,198],"productivity":[55,241],"gap.":[56],"The":[57,120,213],"Partitioned":[58],"Global":[59],"Address":[60],"Space":[61],"(PGAS)":[62],"approach,":[63],"exemplified":[64],"by":[65],"UPC":[66],"OpenSHMEM,":[68],"represents":[69],"one":[70],"effort,":[72],"but":[73],"its":[74],"reliance":[75],"Bulk":[77],"Synchronous":[78],"Parallel":[79],"(BSP)":[80],"execution":[81,127,207,261],"often":[82],"results":[83,165],"poor":[85],"performance":[86,186,244],"irregular":[88,139,211,246],"algorithms,":[89],"those":[92],"found":[93],"graph":[95,178],"applications.":[96],"This":[97,231],"paper":[98],"presents":[99],"a":[100,110,150,173,234,251],"compiler-driven":[101],"approach":[102,202],"that":[103,167],"generates":[105],"code":[108,122,144,215],"simple":[111],"PGAS-style":[112],"extension":[113],"OpenMP,":[115],"referred":[116],"PGAS-OpenMP.":[119],"generated":[121,148,214],"employs":[123],"an":[124],"actor-based":[125,155,182,206,259],"model,":[128],"which":[129],"has":[130],"been":[131],"shown":[132],"significantly":[134],"outperform":[135],"BSP":[136],"implementations":[137],"workloads.":[140],"While":[141],"BSP-style":[142],"PGAS":[143],"can":[145],"always":[146],"be":[147],"straightforward":[151],"manner":[152],"PGAS-OpenMP,":[154],"translation":[156],"requires":[157],"careful":[158],"analysis":[159],"ensure":[161],"correctness.":[162],"Our":[163],"experimental":[164],"demonstrate":[166],"the":[168,200],"proposed":[169],"compiler":[170],"safely":[171],"converts":[172],"wide":[174],"range":[175],"PGAS-OpenMP":[177],"applications":[179,248],"into":[180],"asynchronous":[181,218],"code,":[183],"yielding":[184],"substantial":[185],"improvements.":[187],"Unlike":[188],"prior":[189],"work":[190],"translating":[192],"systems,":[197],"is":[199],"first":[201],"target":[205],"with":[210,221,242,258],"supports":[216],"fine-grained":[217],"one-sided":[219],"messaging":[220],"automatic":[222],"message":[223],"aggregation,":[224],"enabling":[225],"efficient":[226],"communication":[227],"computation":[229],"overlap.":[230],"research":[232],"addresses":[233],"long-standing":[235],"challenge":[236],"HPC":[238,266],"combining":[239],"programmer":[240],"high":[243],"provides":[250],"promising":[252],"pathway":[253],"toward":[254],"unifying":[255],"programmability":[257],"current":[263],"future":[265],"systems.":[267]},"counts_by_year":[],"updated_date":"2026-04-09T08:11:56.329763","created_date":"2025-12-16T00:00:00"}
