{"id":"https://openalex.org/W3097828058","doi":"https://doi.org/10.22152/programming-journal.org/2021/5/8","title":"Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs","display_name":"Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs","publication_year":2020,"publication_date":"2020-10-30","ids":{"openalex":"https://openalex.org/W3097828058","doi":"https://doi.org/10.22152/programming-journal.org/2021/5/8","mag":"3097828058"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2021/5/8","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2021/5/8","pdf_url":"https://arxiv.org/pdf/2010.16304v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/2010.16304v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Michail Papadimitriou","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":"Michail Papadimitriou","raw_affiliation_strings":["The University of Manchester"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Juan Fumero","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":"Juan Fumero","raw_affiliation_strings":["The University of Manchester"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Athanasios Stratikopoulos","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":"Athanasios Stratikopoulos","raw_affiliation_strings":["The University of Manchester"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Foivos S. Zakkak","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Foivos S. Zakkak","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":null,"display_name":"Christos Kotselidis","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":"Christos Kotselidis","raw_affiliation_strings":["The University of Manchester"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Manchester","institution_ids":["https://openalex.org/I28407311"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9008,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.74720596,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":"5","issue":"2","first_page":null,"last_page":null},"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.4259999990463257,"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.4259999990463257,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.2806999981403351,"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/T11424","display_name":"Security and Verification in Computing","score":0.053199999034404755,"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/compiler","display_name":"Compiler","score":0.6779999732971191},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.64410001039505},{"id":"https://openalex.org/keywords/reconfigurable-computing","display_name":"Reconfigurable computing","score":0.4828999936580658},{"id":"https://openalex.org/keywords/cloud-computing","display_name":"Cloud computing","score":0.4587000012397766},{"id":"https://openalex.org/keywords/ranging","display_name":"Ranging","score":0.4578999876976013},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.40070000290870667},{"id":"https://openalex.org/keywords/field","display_name":"Field (mathematics)","score":0.39320001006126404}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8140000104904175},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6779999732971191},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.64410001039505},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.48590001463890076},{"id":"https://openalex.org/C142962650","wikidata":"https://www.wikidata.org/wiki/Q240838","display_name":"Reconfigurable computing","level":3,"score":0.4828999936580658},{"id":"https://openalex.org/C79974875","wikidata":"https://www.wikidata.org/wiki/Q483639","display_name":"Cloud computing","level":2,"score":0.4587000012397766},{"id":"https://openalex.org/C115051666","wikidata":"https://www.wikidata.org/wiki/Q6522493","display_name":"Ranging","level":2,"score":0.4578999876976013},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.40070000290870667},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.39320001006126404},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3776000142097473},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3537999987602234},{"id":"https://openalex.org/C2742236","wikidata":"https://www.wikidata.org/wiki/Q924713","display_name":"Efficient energy use","level":2,"score":0.3325999975204468},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.3176000118255615},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.2994000017642975},{"id":"https://openalex.org/C47487241","wikidata":"https://www.wikidata.org/wiki/Q5227230","display_name":"Data access","level":2,"score":0.2856999933719635},{"id":"https://openalex.org/C2780165032","wikidata":"https://www.wikidata.org/wiki/Q16869822","display_name":"Energy consumption","level":2,"score":0.2775999903678894},{"id":"https://openalex.org/C86111242","wikidata":"https://www.wikidata.org/wiki/Q859595","display_name":"Coprocessor","level":2,"score":0.2637999951839447},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2615000009536743},{"id":"https://openalex.org/C172430144","wikidata":"https://www.wikidata.org/wiki/Q17111997","display_name":"Symmetric multiprocessor system","level":2,"score":0.25949999690055847},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.2551000118255615},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.2508000135421753}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2021/5/8","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2021/5/8","pdf_url":"https://arxiv.org/pdf/2010.16304v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2010.16304","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2010.16304","pdf_url":"https://arxiv.org/pdf/2010.16304","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2021/5/8","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2021/5/8","pdf_url":"https://arxiv.org/pdf/2010.16304v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3097828058.pdf","grobid_xml":"https://content.openalex.org/works/W3097828058.grobid-xml"},"referenced_works_count":31,"referenced_works":["https://openalex.org/W110609005","https://openalex.org/W1583453248","https://openalex.org/W1846235929","https://openalex.org/W2013570889","https://openalex.org/W2054625910","https://openalex.org/W2055312318","https://openalex.org/W2094269821","https://openalex.org/W2126723467","https://openalex.org/W2146757372","https://openalex.org/W2158583421","https://openalex.org/W2160756430","https://openalex.org/W2192204489","https://openalex.org/W2346315115","https://openalex.org/W2474982059","https://openalex.org/W2585164556","https://openalex.org/W2595314725","https://openalex.org/W2761973445","https://openalex.org/W2766276575","https://openalex.org/W2798482398","https://openalex.org/W2804032941","https://openalex.org/W2809409253","https://openalex.org/W2889048510","https://openalex.org/W2889424113","https://openalex.org/W2890823284","https://openalex.org/W2905372857","https://openalex.org/W2911831466","https://openalex.org/W2912291740","https://openalex.org/W2917585913","https://openalex.org/W2929786106","https://openalex.org/W2949967139","https://openalex.org/W4245440340"],"related_works":[],"abstract_inverted_index":{"In":[0],"recent":[1],"years,":[2],"heterogeneous":[3,146,168,187,269],"computing":[4,97],"has":[5],"emerged":[6],"as":[7,24,62,179,321],"the":[8,50,68,116,156,161,166,173,183,190,206,252,255,273,314,329],"vital":[9],"way":[10],"to":[11,53,80,104,134,154,189,288,297,300,324],"increase":[12],"computers'":[13],"performance":[14,162,292],"and":[15,29,84,108,159,181,216,239,259,282,290,295],"energy":[16],"efficiency":[17],"by":[18],"combining":[19],"diverse":[20,54],"hardware":[21,83,112,138],"devices,":[22,55],"such":[23,178],"Graphics":[25],"Processing":[26],"Units":[27],"(GPUs)":[28],"Field":[30],"Programmable":[31],"Gate":[32],"Arrays":[33],"(FPGAs).The":[34],"rationale":[35],"behind":[36],"this":[37,202],"trend":[38],"is":[39,199,249],"that":[40,209,231],"different":[41],"parts":[42,61],"of":[43,67,96,118,163,186,193,214,242,254,313],"an":[44,261,304],"application":[45],"can":[46,57],"be":[47],"offloaded":[48],"from":[49,100,175],"main":[51],"CPU":[52],"which":[56],"efficiently":[58],"execute":[59],"these":[60,111],"co-processors.FPGAs":[63],"are":[64,132],"a":[65,93,137,228,310,322],"subset":[66],"most":[69],"widely":[70],"used":[71,74],"co-processors,":[72],"typically":[73],"for":[75,237,265,276,318],"accelerating":[76],"specific":[77],"workloads":[78],"due":[79],"their":[81,122,164,326],"flexible":[82],"energy-efficient":[85],"characteristics.These":[86],"characteristics":[87,113],"have":[88],"made":[89],"them":[90],"prevalent":[91],"in":[92,152,212,251],"broad":[94],"spectrum":[95],"systems":[98,103],"ranging":[99],"low-power":[101],"embedded":[102],"high-end":[105],"data":[106],"centers":[107],"cloud":[109],"infrastructures.However,":[110],"come":[114],"at":[115],"cost":[117],"programmability.Developers":[119],"who":[120],"create":[121],"applications":[123],"using":[124],"high-level":[125,223],"programming":[126,147,169,195,225,257,263],"languages":[127,196],"(e.g.,":[128,141,149],"Java,":[129],"Python,":[130],"etc.)":[131],"required":[133],"familiarize":[135],"with":[136],"description":[139],"language":[140,258],"VHDL,":[142],"Verilog)":[143],"or":[144],"recently":[145],"models":[148,170],"OpenCL,":[150],"HLS)":[151],"order":[153],"exploit":[155],"co-processors'":[157],"capacity":[158],"tune":[160],"applications.Currently,":[165],"above-mentioned":[167],"support":[171],"exclusively":[172],"compilation":[174,217],"compiled":[176],"languages,":[177],"C":[180],"C++.Thus,":[182],"transparent":[184],"integration":[185],"co-processors":[188],"software":[191],"ecosystem":[192],"managed":[194,224],"(e.g.Java,":[197],"Python)":[198],"not":[200],"seamless.In":[201],"paper":[203],"we":[204,210,271],"rethink":[205],"engineering":[207],"trade-offs":[208],"encountered,":[211],"terms":[213],"transparency":[215],"overheads,":[218],"while":[219],"integrating":[220],"FPGAs":[221],"into":[222],"languages.We":[226],"present":[227],"novel":[229],"approach":[230],"enables":[232],"runtime":[233],"code":[234],"specialization":[235],"techniques":[236],"seamless":[238],"high-performance":[240],"execution":[241,267,278],"Java":[243,256,266,284],"programs":[244],"on":[245,268,303,328],"FPGAs.The":[246],"proposed":[247,274,315],"solution":[248,275],"prototyped":[250],"context":[253],"TornadoVM;":[260],"open-source":[262],"framework":[264],"hardware.Finally,":[270],"evaluate":[272],"FPGA":[277,319],"against":[279],"both":[280],"sequential":[281],"multithreaded":[283],"implementations":[285],"showcasing":[286],"up":[287,296],"224\u00d7":[289],"19.8\u00d7":[291],"speedups,":[293],"respectively,":[294],"13.82\u00d7":[298],"compared":[299],"TornadoVM":[301],"running":[302],"Intel":[305],"integrated":[306],"GPU.We":[307],"also":[308],"provide":[309],"break-down":[311],"analysis":[312],"compiler":[316],"optimizations":[317],"execution,":[320],"means":[323],"project":[325],"impact":[327],"applications'":[330],"characteristics.":[331]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2}],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2020-11-09T00:00:00"}
