{"id":"https://openalex.org/W3162397251","doi":"https://doi.org/10.1145/1993498.1993508","title":"Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator","display_name":"Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator","publication_year":2011,"publication_date":"2011-06-04","ids":{"openalex":"https://openalex.org/W3162397251","doi":"https://doi.org/10.1145/1993498.1993508","mag":"3162397251"},"language":"en","primary_location":{"id":"doi:10.1145/1993498.1993508","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1993498.1993508","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/en/publications/334c46a1-69d4-4485-91a4-df027d90bd99","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5058493743","display_name":"Igor B\u00f6hm","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Igor B\u00f6hm","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004516065","display_name":"Tobias J.K. Edler von Koch","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tobias J.K. Edler von Koch","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031659093","display_name":"Stephen Kyle","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Stephen C. Kyle","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bj\u00f6rn Franke","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027477866","display_name":"Nigel Topham","orcid":"https://orcid.org/0000-0002-6310-0602"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Nigel Topham","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5058493743"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":5.2891,"has_fulltext":false,"cited_by_count":40,"citation_normalized_percentile":{"value":0.96258471,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"74","last_page":"85"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9973000288009644,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9961000084877014,"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/computer-science","display_name":"Computer science","score":0.8672275543212891},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.8616621494293213},{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"Dynamic compilation","score":0.7472221851348877},{"id":"https://openalex.org/keywords/binary-translation","display_name":"Binary translation","score":0.6952078938484192},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.6629311442375183},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6386563777923584},{"id":"https://openalex.org/keywords/xeon-phi","display_name":"Xeon Phi","score":0.5706622004508972},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5135145783424377},{"id":"https://openalex.org/keywords/trace","display_name":"TRACE (psycholinguistics)","score":0.4749881327152252},{"id":"https://openalex.org/keywords/tracing","display_name":"Tracing","score":0.45317158102989197},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.4400067627429962},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.4384703040122986},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.4200665354728699},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39547044038772583},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3622526526451111},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.33480775356292725}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8672275543212891},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.8616621494293213},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.7472221851348877},{"id":"https://openalex.org/C2778971978","wikidata":"https://www.wikidata.org/wiki/Q2287075","display_name":"Binary translation","level":3,"score":0.6952078938484192},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.6629311442375183},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6386563777923584},{"id":"https://openalex.org/C96972482","wikidata":"https://www.wikidata.org/wiki/Q1049168","display_name":"Xeon Phi","level":2,"score":0.5706622004508972},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5135145783424377},{"id":"https://openalex.org/C75291252","wikidata":"https://www.wikidata.org/wiki/Q1315756","display_name":"TRACE (psycholinguistics)","level":2,"score":0.4749881327152252},{"id":"https://openalex.org/C138673069","wikidata":"https://www.wikidata.org/wiki/Q322229","display_name":"Tracing","level":2,"score":0.45317158102989197},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.4400067627429962},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.4384703040122986},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.4200665354728699},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39547044038772583},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3622526526451111},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.33480775356292725},{"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/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"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},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1993498.1993508","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1993498.1993508","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/334c46a1-69d4-4485-91a4-df027d90bd99","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/334c46a1-69d4-4485-91a4-df027d90bd99","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bohm, I, Edler von Koch, T J K, Kyle, S C, Franke, B & Topham, N 2011, Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator. in Proceedings of the 32nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI '11). New York, NY, USA, pp. 74-85. https://doi.org/10.1145/1993498.1993508","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/334c46a1-69d4-4485-91a4-df027d90bd99","is_oa":true,"landing_page_url":"http://www.scopus.com/inward/record.url?scp=79959903226&partnerID=8YFLogxK","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bohm, I, Edler von Koch, T J K, Kyle, S C, Franke, B & Topham, N 2011, Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator. in Proceedings of the 32nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI '11). New York, NY, USA, pp. 74-85. https://doi.org/10.1145/1993498.1993508","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/334c46a1-69d4-4485-91a4-df027d90bd99","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/334c46a1-69d4-4485-91a4-df027d90bd99","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bohm, I, Edler von Koch, T J K, Kyle, S C, Franke, B & Topham, N 2011, Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator. in Proceedings of the 32nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI '11). New York, NY, USA, pp. 74-85. https://doi.org/10.1145/1993498.1993508","raw_type":"contributionToPeriodical"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.6399999856948853,"id":"https://metadata.un.org/sdg/9"}],"awards":[{"id":"https://openalex.org/G3632991813","display_name":null,"funder_award_id":"EP/I013539/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5296032639","display_name":null,"funder_award_id":"EP/D50399X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":31,"referenced_works":["https://openalex.org/W1527486550","https://openalex.org/W1967211187","https://openalex.org/W1986152061","https://openalex.org/W2000050212","https://openalex.org/W2029376415","https://openalex.org/W2030281933","https://openalex.org/W2036853599","https://openalex.org/W2037823608","https://openalex.org/W2061669626","https://openalex.org/W2062340141","https://openalex.org/W2073418263","https://openalex.org/W2086394627","https://openalex.org/W2089131124","https://openalex.org/W2110403837","https://openalex.org/W2116136092","https://openalex.org/W2125154868","https://openalex.org/W2126088804","https://openalex.org/W2127221256","https://openalex.org/W2130262734","https://openalex.org/W2131493012","https://openalex.org/W2135725757","https://openalex.org/W2141711229","https://openalex.org/W2149914527","https://openalex.org/W2153185479","https://openalex.org/W2157909358","https://openalex.org/W2161522487","https://openalex.org/W2163935347","https://openalex.org/W2223702412","https://openalex.org/W4231002400","https://openalex.org/W4239813889","https://openalex.org/W4252357740"],"related_works":["https://openalex.org/W3162397251","https://openalex.org/W2134559770","https://openalex.org/W4249170992","https://openalex.org/W1481491067","https://openalex.org/W2021499088","https://openalex.org/W2077103208","https://openalex.org/W2150023094","https://openalex.org/W3008738139","https://openalex.org/W2045566952","https://openalex.org/W2619569919"],"abstract_inverted_index":{"Dynamic":[0],"Binary":[1],"Translation":[2],"(DBT)":[3],"is":[4,35,53,82,115,141,231],"the":[5,32,75,79,93,99,198],"key":[6],"technology":[7],"behind":[8],"cross-platform":[9],"virtualization":[10],"and":[11,85,176,183,207,210,226,233],"allows":[12],"software":[13],"compiled":[14],"for":[15,70,130],"one":[16],"Instruction":[17],"Set":[18],"Architecture":[19],"(ISA)":[20],"to":[21,74,97,135,143,180,215],"be":[22,248],"executed":[23,44,56,125],"on":[24,217,251],"a":[25,28,88,116,128,160,218,237],"processor":[26],"supporting":[27],"different":[29],"ISA.":[30],"Under":[31],"hood,":[33],"DBT":[34,196],"typically":[36],"implemented":[37],"using":[38,241],"Just-In-Time":[39],"(JIT)":[40],"compilation":[41,72,119,140,152,175],"of":[42,101,186,213],"frequently":[43,55,124],"program":[45,57,129],"regions,":[46],"also":[47],"called":[48],"traces.":[49,188],"The":[50,112,147],"main":[51,94],"challenge":[52],"translating":[54],"regions":[58],"as":[59,61,133],"fast":[60],"possible":[62],"into":[63],"highly":[64],"efficient":[65,184],"native":[66],"code.":[67],"As":[68],"time":[69,246],"JIT":[71,80,102,131,151,174,260],"adds":[73],"overall":[76],"execution":[77,245],"time,":[78],"compiler":[81],"often":[83],"decoupled":[84],"operates":[86],"in":[87,127,159,236],"separate":[89],"thread":[90],"independent":[91],"from":[92],"simulation":[95],"loop":[96],"reduce":[98],"overhead":[100],"compilation.":[103,261],"In":[104,239],"this":[105],"paper":[106],"we":[107,165],"present":[108],"two":[109],"innovative":[110],"contributions.":[111],"first":[113],"contribution":[114,149],"generalized":[117,167],"trace":[118,139],"approach":[120],"that":[121],"considers":[122],"all":[123],"paths":[126,144],"compilation,":[132],"opposed":[134],"previous":[136],"approaches":[137],"where":[138],"restricted":[142],"through":[145],"loops.":[146],"second":[148],"reduces":[150],"cost":[153],"by":[154,250],"compiling":[155],"several":[156],"hot":[157,187],"traces":[158],"concurrent":[161],"task":[162],"farm.":[163],"Altogether":[164],"combine":[166],"light-weight":[168],"tracing,":[169],"large":[170],"translation":[171],"units,":[172],"parallel":[173,195,257],"dynamic":[177],"work":[178],"scheduling":[179],"ensure":[181],"timely":[182],"processing":[185],"We":[189],"have":[190],"evaluated":[191],"our":[192,229],"industry-strength,":[193],"LLVM-based":[194],"implementing":[197],"ARCompact":[199],"ISA":[200],"against":[201],"three":[202],"benchmark":[203],"suites":[204],"(EEMBC,":[205],"BioPerf":[206],"SPEC":[208],"CPU2006)":[209],"demonstrate":[211],"speedups":[212],"up":[214],"2.08":[216],"standard":[219],"quad-core":[220],"Intel":[221],"Xeon":[222],"machine.":[223],"Across":[224],"short-":[225],"long-running":[227],"benchmarks":[228],"scheme":[230],"robust":[232],"never":[234],"results":[235],"slowdown.":[238],"fact,":[240],"four":[242],"processors":[243],"total":[244],"can":[247],"reduced":[249],"average":[252],"11.5%":[253],"over":[254],"state-of-the-art":[255],"decoupled,":[256],"(or":[258],"asynchronous)":[259]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":6},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":7},{"year":2013,"cited_by_count":6},{"year":2012,"cited_by_count":5}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
