{"id":"https://openalex.org/W3034444771","doi":"https://doi.org/10.1007/s10766-020-00665-z","title":"Programming Heterogeneous Parallel Machines Using Refactoring and Monte\u2013Carlo Tree Search","display_name":"Programming Heterogeneous Parallel Machines Using Refactoring and Monte\u2013Carlo Tree Search","publication_year":2020,"publication_date":"2020-06-10","ids":{"openalex":"https://openalex.org/W3034444771","doi":"https://doi.org/10.1007/s10766-020-00665-z","mag":"3034444771"},"language":"en","primary_location":{"id":"doi:10.1007/s10766-020-00665-z","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-020-00665-z","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-020-00665-z.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10766-020-00665-z.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063492775","display_name":"Christopher Brown","orcid":"https://orcid.org/0000-0001-6030-2885"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Christopher Brown","raw_affiliation_strings":["School of Computer Science, University of St Andrews, St Andrews, UK"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, University of St Andrews, St Andrews, UK","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102807884","display_name":"Vladimir Janjic","orcid":"https://orcid.org/0000-0001-5134-9032"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Vladimir Janjic","raw_affiliation_strings":["School of Computer Science, University of St Andrews, St Andrews, UK"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, University of St Andrews, St Andrews, UK","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5028660206","display_name":"Mehdi Goli","orcid":"https://orcid.org/0000-0002-3520-9598"},"institutions":[{"id":"https://openalex.org/I522815984","display_name":"Robert Gordon University","ror":"https://ror.org/04f0qj703","country_code":"GB","type":"education","lineage":["https://openalex.org/I522815984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"M. Goli","raw_affiliation_strings":["Robert Gordon University, Aberdeen, UK"],"affiliations":[{"raw_affiliation_string":"Robert Gordon University, Aberdeen, UK","institution_ids":["https://openalex.org/I522815984"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027645309","display_name":"John McCall","orcid":"https://orcid.org/0000-0003-1738-7056"},"institutions":[{"id":"https://openalex.org/I522815984","display_name":"Robert Gordon University","ror":"https://ror.org/04f0qj703","country_code":"GB","type":"education","lineage":["https://openalex.org/I522815984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"J. McCall","raw_affiliation_strings":["Robert Gordon University, Aberdeen, UK"],"affiliations":[{"raw_affiliation_string":"Robert Gordon University, Aberdeen, UK","institution_ids":["https://openalex.org/I522815984"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5063492775"],"corresponding_institution_ids":["https://openalex.org/I16835326"],"apc_list":{"value":2290,"currency":"EUR","value_usd":2890},"apc_paid":{"value":2290,"currency":"EUR","value_usd":2890},"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.07242261,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"48","issue":"4","first_page":"583","last_page":"602"},"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.9997000098228455,"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.9997000098228455,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9988999962806702,"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/T11574","display_name":"Artificial Intelligence in Games","score":0.9976999759674072,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.9355615377426147},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9016249775886536},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7368215322494507},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.6407651305198669},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.5642511248588562},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.5360097885131836},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.48653069138526917},{"id":"https://openalex.org/keywords/monte-carlo-method","display_name":"Monte Carlo method","score":0.4335539937019348},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.4294896721839905},{"id":"https://openalex.org/keywords/pipeline-transport","display_name":"Pipeline transport","score":0.41639912128448486},{"id":"https://openalex.org/keywords/theory-of-computation","display_name":"Theory of computation","score":0.41165751218795776},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.36456501483917236},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3405327796936035},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.20014497637748718}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9355615377426147},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9016249775886536},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7368215322494507},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6407651305198669},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.5642511248588562},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.5360097885131836},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.48653069138526917},{"id":"https://openalex.org/C19499675","wikidata":"https://www.wikidata.org/wiki/Q232207","display_name":"Monte Carlo method","level":2,"score":0.4335539937019348},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.4294896721839905},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.41639912128448486},{"id":"https://openalex.org/C24858836","wikidata":"https://www.wikidata.org/wiki/Q844718","display_name":"Theory of computation","level":2,"score":0.41165751218795776},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36456501483917236},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3405327796936035},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.20014497637748718},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C87717796","wikidata":"https://www.wikidata.org/wiki/Q146326","display_name":"Environmental engineering","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1007/s10766-020-00665-z","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-020-00665-z","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-020-00665-z.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},{"id":"pmh:oai:discovery.dundee.ac.uk:openaire/b81647d3-0a37-4072-908f-86895b49c263","is_oa":true,"landing_page_url":"https://discovery.dundee.ac.uk/en/publications/b81647d3-0a37-4072-908f-86895b49c263","pdf_url":null,"source":{"id":"https://openalex.org/S4306400523","display_name":"Discovery Research Portal (University of Dundee)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I177639307","host_organization_name":"University of Dundee","host_organization_lineage":["https://openalex.org/I177639307"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Brown, C J, Janjic, V, Goli, M & McCall, J 2020, 'Programming Heterogeneous Parallel Machines Using Refactoring and Monte-Carlo Tree Search', International Journal of Parallel Programming, vol. 48, pp. 583-602. https://doi.org/10.1007/s10766-020-00665-z","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:discovery.dundee.ac.uk:publications/b81647d3-0a37-4072-908f-86895b49c263","is_oa":true,"landing_page_url":"https://link.springer.com/article/10.1007/s10766-020-00665-z","pdf_url":null,"source":{"id":"https://openalex.org/S4306400523","display_name":"Discovery Research Portal (University of Dundee)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I177639307","host_organization_name":"University of Dundee","host_organization_lineage":["https://openalex.org/I177639307"],"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":"","raw_type":""},{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/20104","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/20104","pdf_url":null,"source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"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":"Journal article"},{"id":"pmh:oai:rgu-repository.worktribe.com:937862","is_oa":true,"landing_page_url":"https://rgu-repository.worktribe.com/output/937862","pdf_url":null,"source":{"id":"https://openalex.org/S4306400814","display_name":"Open Access Institutional Repository at Robert Gordon University (Robert Gordon University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I522815984","host_organization_name":"Robert Gordon University","host_organization_lineage":["https://openalex.org/I522815984"],"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":"","raw_type":"Journal Article"}],"best_oa_location":{"id":"doi:10.1007/s10766-020-00665-z","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-020-00665-z","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-020-00665-z.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5169153448","display_name":null,"funder_award_id":"EP/P020631/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6280419463","display_name":"Discovery: Pattern Discovery and Program Shaping for Manycore Systems","funder_award_id":"EP/P020631/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6387785971","display_name":null,"funder_award_id":"779882","funder_id":"https://openalex.org/F4320332999","funder_display_name":"Horizon 2020 Framework Programme"},{"id":"https://openalex.org/G8719353587","display_name":null,"funder_award_id":"EP/P0","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320332999","display_name":"Horizon 2020 Framework Programme","ror":"https://ror.org/00k4n6c32"},{"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/W3034444771.pdf","grobid_xml":"https://content.openalex.org/works/W3034444771.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W151801080","https://openalex.org/W1487664366","https://openalex.org/W1489689515","https://openalex.org/W1714211023","https://openalex.org/W1975535524","https://openalex.org/W2015125841","https://openalex.org/W2023299380","https://openalex.org/W2033139628","https://openalex.org/W2040466547","https://openalex.org/W2077953992","https://openalex.org/W2087240301","https://openalex.org/W2088899347","https://openalex.org/W2088921570","https://openalex.org/W2093281430","https://openalex.org/W2099459818","https://openalex.org/W2115322778","https://openalex.org/W2115852795","https://openalex.org/W2126316555","https://openalex.org/W2130928156","https://openalex.org/W2145406052","https://openalex.org/W2147139699","https://openalex.org/W2152104548","https://openalex.org/W2159768764","https://openalex.org/W2165100134","https://openalex.org/W2171281059","https://openalex.org/W2178923807","https://openalex.org/W2270526533","https://openalex.org/W4235344346","https://openalex.org/W4240606930"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W4231266416","https://openalex.org/W2395465245","https://openalex.org/W2072205733","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W3194667890","https://openalex.org/W4312761314","https://openalex.org/W2476494490","https://openalex.org/W2081392927"],"abstract_inverted_index":{"Abstract":[0],"This":[1],"paper":[2],"presents":[3],"a":[4,17,24,74,90],"new":[5],"technique":[6],"for":[7,12,37,50],"introducing":[8],"and":[9,21,32,46,54,59,70],"tuning":[10],"parallelism":[11],"heterogeneous":[13],"shared-memory":[14],"systems":[15],"(comprising":[16],"mixture":[18],"of":[19,26,40,76,81,113],"CPUs":[20],"GPUs),":[22],"using":[23],"combination":[25],"algorithmic":[27],"skeletons":[28],"(such":[29],"as":[30],"farms":[31],"pipelines),":[33],"Monte\u2013Carlo":[34],"tree":[35],"search":[36],"deriving":[38],"mappings":[39,55,104],"tasks":[41],"to":[42,83],"available":[43],"hardware":[44],"resources,":[45],"refactoring":[47],"tool":[48],"support":[49],"applying":[51],"the":[52,86,100,107,114],"patterns":[53],"in":[56],"an":[57],"easy":[58],"effective":[60],"way.":[61],"Using":[62],"our":[63],"approach,":[64],"we":[65],"demonstrate":[66,98],"easily":[67],"obtainable,":[68],"significant":[69],"scalable":[71],"speedups":[72,80,101],"on":[73,89],"number":[75],"case":[77],"studies":[78],"showing":[79],"up":[82],"41":[84],"over":[85],"sequential":[87],"code":[88],"24-core":[91],"machine":[92],"with":[93],"one":[94],"GPU.":[95],"We":[96],"also":[97],"that":[99],"obtained":[102],"by":[103,106],"derived":[105],"MCTS":[108],"algorithm":[109],"are":[110],"within":[111],"5\u201315%":[112],"best-obtained":[115],"manual":[116],"parallelisation.":[117]},"counts_by_year":[],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
