{"id":"https://openalex.org/W4244275790","doi":"https://doi.org/10.1109/cgo.2019.8661196","title":"Janus: Statically-Driven and Profile-Guided Automatic Dynamic Binary Parallelisation","display_name":"Janus: Statically-Driven and Profile-Guided Automatic Dynamic Binary Parallelisation","publication_year":2019,"publication_date":"2019-02-01","ids":{"openalex":"https://openalex.org/W4244275790","doi":"https://doi.org/10.1109/cgo.2019.8661196"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2019.8661196","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661196","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.17863/cam.36546","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5042675306","display_name":"Ruoyu Zhou","orcid":"https://orcid.org/0000-0002-3403-2022"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Ruoyu Zhou","raw_affiliation_strings":["University of Cambridge, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Cambridge, UK","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047443783","display_name":"Timothy M. Jones","orcid":"https://orcid.org/0000-0002-4114-7661"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Timothy M. Jones","raw_affiliation_strings":["University of Cambridge, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Cambridge, UK","institution_ids":["https://openalex.org/I241749"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I241749"],"apc_list":null,"apc_paid":null,"fwci":1.4353,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.82246714,"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":"15","last_page":"25"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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.9986000061035156,"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/T11424","display_name":"Security and Verification in Computing","score":0.9983999729156494,"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/executable","display_name":"Executable","score":0.8924136161804199},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8576340675354004},{"id":"https://openalex.org/keywords/janus","display_name":"Janus","score":0.6956951022148132},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.6837753057479858},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6564114093780518},{"id":"https://openalex.org/keywords/binary-number","display_name":"Binary number","score":0.6066707372665405},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5385708808898926},{"id":"https://openalex.org/keywords/profiling","display_name":"Profiling (computer programming)","score":0.4893052279949188},{"id":"https://openalex.org/keywords/speculative-execution","display_name":"Speculative execution","score":0.45787283778190613},{"id":"https://openalex.org/keywords/binary-code","display_name":"Binary code","score":0.43856891989707947},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.32750529050827026},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.08420321345329285}],"concepts":[{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.8924136161804199},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8576340675354004},{"id":"https://openalex.org/C2779290492","wikidata":"https://www.wikidata.org/wiki/Q6155940","display_name":"Janus","level":2,"score":0.6956951022148132},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.6837753057479858},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6564114093780518},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.6066707372665405},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5385708808898926},{"id":"https://openalex.org/C187191949","wikidata":"https://www.wikidata.org/wiki/Q1138496","display_name":"Profiling (computer programming)","level":2,"score":0.4893052279949188},{"id":"https://openalex.org/C141331961","wikidata":"https://www.wikidata.org/wiki/Q2164465","display_name":"Speculative execution","level":2,"score":0.45787283778190613},{"id":"https://openalex.org/C63435697","wikidata":"https://www.wikidata.org/wiki/Q864135","display_name":"Binary code","level":3,"score":0.43856891989707947},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.32750529050827026},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.08420321345329285},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/cgo.2019.8661196","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661196","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:www.repository.cam.ac.uk:1810/289284","is_oa":false,"landing_page_url":"https://www.repository.cam.ac.uk/handle/1810/289284","pdf_url":null,"source":{"id":"https://openalex.org/S4306401777","display_name":"Apollo (University of Cambridge)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I241749","host_organization_name":"University of Cambridge","host_organization_lineage":["https://openalex.org/I241749"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference Object"},{"id":"doi:10.17863/cam.36546","is_oa":true,"landing_page_url":"https://doi.org/10.17863/cam.36546","pdf_url":null,"source":{"id":"https://openalex.org/S7407050737","display_name":"Apollo","issn_l":null,"issn":[],"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":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Other"}],"best_oa_location":{"id":"doi:10.17863/cam.36546","is_oa":true,"landing_page_url":"https://doi.org/10.17863/cam.36546","pdf_url":null,"source":{"id":"https://openalex.org/S7407050737","display_name":"Apollo","issn_l":null,"issn":[],"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":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Other"},"sustainable_development_goals":[{"score":0.75,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G256726586","display_name":null,"funder_award_id":"EP/P020011/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3661743248","display_name":null,"funder_award_id":"EP/K026399/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4628939008","display_name":"M3: Managing Many-Cores for the Masses","funder_award_id":"EP/K026399/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6886552787","display_name":"Automatic Binary Parallelisation","funder_award_id":"EP/P020011/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":35,"referenced_works":["https://openalex.org/W17195072","https://openalex.org/W112818699","https://openalex.org/W612026853","https://openalex.org/W1489781149","https://openalex.org/W1522250664","https://openalex.org/W1524336136","https://openalex.org/W1744150050","https://openalex.org/W1967995061","https://openalex.org/W1978506930","https://openalex.org/W1992097886","https://openalex.org/W2038198320","https://openalex.org/W2040304802","https://openalex.org/W2101304735","https://openalex.org/W2107563064","https://openalex.org/W2119251836","https://openalex.org/W2121048547","https://openalex.org/W2149918819","https://openalex.org/W2152942147","https://openalex.org/W2155943969","https://openalex.org/W2156858199","https://openalex.org/W2167089275","https://openalex.org/W2167536864","https://openalex.org/W2171546589","https://openalex.org/W2333802460","https://openalex.org/W2606963276","https://openalex.org/W3144200734","https://openalex.org/W4231002400","https://openalex.org/W4239813889","https://openalex.org/W4250948891","https://openalex.org/W6619098869","https://openalex.org/W6629170583","https://openalex.org/W6631155369","https://openalex.org/W6637655436","https://openalex.org/W6674991483","https://openalex.org/W6736295056"],"related_works":["https://openalex.org/W3127131576","https://openalex.org/W4401226765","https://openalex.org/W993170344","https://openalex.org/W3045240077","https://openalex.org/W2944172132","https://openalex.org/W3101598353","https://openalex.org/W4200453963","https://openalex.org/W1638297612","https://openalex.org/W2912361785","https://openalex.org/W2027524295"],"abstract_inverted_index":{"We":[0,162],"present":[1],"Janus,":[2],"a":[3,49,69,79,104,137,167],"framework":[4],"that":[5,36,56],"addresses":[6],"the":[7,38,41,54,62,74,92,101,115,118,124,183],"challenge":[8],"of":[9,30,40,71,114,123,139,169,178],"automatic":[10],"binary":[11,17,45,50,88,129],"parallelisation.":[12],"Janus":[13,86,164],"uses":[14],"same-ISA":[15],"dynamic":[16,87,140],"modification":[18],"to":[19,52,59,77,153],"optimise":[20],"application":[21],"binaries,":[22],"controlled":[23],"by":[24,165],"static":[25,44,111,128],"analysis":[26,112,130],"with":[27],"judicious":[28],"use":[29],"software":[31],"speculation":[32,144],"and":[33,61,95,98,120,143,180],"runtime":[34,116,141],"checks":[35,142],"ensure":[37],"safety":[39],"optimisations.":[42],"A":[43],"analyser":[46],"first":[47],"examines":[48],"executable,":[51],"determine":[53],"loops":[55,157],"are":[57,66],"amenable":[58],"parallelisation":[60],"transformations":[63,102],"required.":[64],"These":[65],"encoded":[67],"as":[68],"series":[70],"rewrite":[72,96],"rules,":[73],"steps":[75],"needed":[76],"convert":[78],"serial":[80],"loop":[81],"into":[82],"parallel":[83],"form.":[84],"The":[85],"modifier":[89],"reads":[90],"both":[91],"original":[93],"executable":[94],"rules":[97],"carries":[99],"out":[100,113],"on":[103],"per-basic-block":[105],"level":[106],"just-in-time":[107],"before":[108],"execution.":[109],"Lifting":[110],"enables":[117],"global":[119],"profile-guided":[121],"views":[122],"application;":[125],"ambiguities":[126],"from":[127],"can":[131],"in":[132,182],"turn":[133],"be":[134],"addressed":[135],"through":[136],"combination":[138],"guard":[145],"against":[146],"data":[147],"dependence":[148],"violations.":[149],"It":[150],"allows":[151],"us":[152],"parallelise":[154],"even":[155],"those":[156],"containing":[158],"dynamically":[159],"discovered":[160],"code.":[161],"demonstrate":[163],"parallelising":[166],"range":[168],"optimised":[170],"SPEC":[171],"CPU":[172],"2006":[173],"benchmarks,":[174],"achieving":[175],"average":[176],"speedups":[177],"2.1$\\times$":[179],"6.0$\\times$":[181],"best":[184],"case.":[185]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1}],"updated_date":"2026-07-02T09:51:11.867554","created_date":"2025-10-10T00:00:00"}
