{"id":"https://openalex.org/W2895932027","doi":"https://doi.org/10.1145/3276494","title":"ShareJIT: JIT code cache sharing across processes and its practical implementation","display_name":"ShareJIT: JIT code cache sharing across processes and its practical implementation","publication_year":2018,"publication_date":"2018-10-24","ids":{"openalex":"https://openalex.org/W2895932027","doi":"https://doi.org/10.1145/3276494","mag":"2895932027"},"language":"en","primary_location":{"id":"doi:10.1145/3276494","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276494","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276494","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3276494","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103139160","display_name":"Xiaoran Xu","orcid":"https://orcid.org/0000-0003-4450-8757"},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Xiaoran Xu","raw_affiliation_strings":["Rice University, USA"],"affiliations":[{"raw_affiliation_string":"Rice University, USA","institution_ids":["https://openalex.org/I74775410"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073381111","display_name":"Keith D. Cooper","orcid":"https://orcid.org/0000-0003-4288-4847"},"institutions":[{"id":"https://openalex.org/I74775410","display_name":"Rice University","ror":"https://ror.org/008zs3103","country_code":"US","type":"education","lineage":["https://openalex.org/I74775410"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Keith Cooper","raw_affiliation_strings":["Rice University, USA"],"affiliations":[{"raw_affiliation_string":"Rice University, USA","institution_ids":["https://openalex.org/I74775410"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026888039","display_name":"Jacob Brock","orcid":null},"institutions":[{"id":"https://openalex.org/I5388228","display_name":"University of Rochester","ror":"https://ror.org/022kthw22","country_code":"US","type":"education","lineage":["https://openalex.org/I5388228"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jacob Brock","raw_affiliation_strings":["University of Rochester, USA"],"affiliations":[{"raw_affiliation_string":"University of Rochester, USA","institution_ids":["https://openalex.org/I5388228"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100456186","display_name":"Yan Zhang","orcid":"https://orcid.org/0000-0002-0303-7998"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Yan Zhang","raw_affiliation_strings":["Futurewei Technologies, USA"],"affiliations":[{"raw_affiliation_string":"Futurewei Technologies, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043185885","display_name":"Handong Ye","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Handong Ye","raw_affiliation_strings":["Futurewei Technologies, USA"],"affiliations":[{"raw_affiliation_string":"Futurewei Technologies, USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5103139160"],"corresponding_institution_ids":["https://openalex.org/I74775410"],"apc_list":null,"apc_paid":null,"fwci":0.5049,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.62588609,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"2","issue":"OOPSLA","first_page":"1","last_page":"23"},"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.9998000264167786,"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.9998000264167786,"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.9977999925613403,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9969000220298767,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8643244504928589},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.7087103128433228},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6140812635421753},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.6094313263893127},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.6062753796577454},{"id":"https://openalex.org/keywords/android","display_name":"Android (operating system)","score":0.5704362392425537},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5331646203994751},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5084937810897827},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.4698934555053711},{"id":"https://openalex.org/keywords/dead-code","display_name":"Dead code","score":0.4550125002861023},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44275957345962524},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.41864562034606934},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.35848379135131836},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.34166938066482544},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.08003896474838257}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8643244504928589},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.7087103128433228},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6140812635421753},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.6094313263893127},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.6062753796577454},{"id":"https://openalex.org/C557433098","wikidata":"https://www.wikidata.org/wiki/Q94","display_name":"Android (operating system)","level":2,"score":0.5704362392425537},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5331646203994751},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5084937810897827},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.4698934555053711},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.4550125002861023},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44275957345962524},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.41864562034606934},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.35848379135131836},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.34166938066482544},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.08003896474838257},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3276494","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276494","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276494","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3276494","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276494","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276494","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2895932027.pdf","grobid_xml":"https://content.openalex.org/works/W2895932027.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W125181918","https://openalex.org/W1488731158","https://openalex.org/W1501130552","https://openalex.org/W1512463322","https://openalex.org/W1520315224","https://openalex.org/W1835100472","https://openalex.org/W1993318777","https://openalex.org/W2013724146","https://openalex.org/W2020136418","https://openalex.org/W2035979763","https://openalex.org/W2057651724","https://openalex.org/W2061088273","https://openalex.org/W2086410626","https://openalex.org/W2098965135","https://openalex.org/W2111947818","https://openalex.org/W2141293928","https://openalex.org/W2143444589","https://openalex.org/W2200202435","https://openalex.org/W2258039735","https://openalex.org/W2264622184","https://openalex.org/W2428143441","https://openalex.org/W2771835118","https://openalex.org/W2787890995","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2036000779","https://openalex.org/W2161969548","https://openalex.org/W116913286","https://openalex.org/W4244016640","https://openalex.org/W3008325674","https://openalex.org/W2011669306","https://openalex.org/W2999906275","https://openalex.org/W4237382625","https://openalex.org/W1526961609","https://openalex.org/W2158718504"],"abstract_inverted_index":{"Just-in-time":[0],"(JIT)":[1],"compilation":[2,42,263],"coupled":[3],"with":[4,22],"code":[5,19,56,70,96,147,154,216],"caching":[6],"are":[7,58],"widely":[8,173],"used":[9],"to":[10,88,105,193,204,212,226],"improve":[11,135],"performance":[12,248],"in":[13,92,108,164,239],"dynamic":[14],"programming":[15],"language":[16],"implementations.":[17],"These":[18],"caches,":[20],"along":[21],"the":[23,28,49,64,84,121,165,168,183,188,195,210,214,231],"associated":[24,74],"profiling":[25],"data":[26],"for":[27,44,76,149],"hot":[29],"code,":[30],"however,":[31],"consume":[32],"significant":[33],"amounts":[34],"of":[35,124,131,167,185,242],"memory.":[36],"Furthermore,":[37],"they":[38],"incur":[39],"extra":[40],"JIT":[41,52,189,262],"time":[43,125,264],"their":[45],"creation.":[46],"On":[47],"Android,":[48],"current":[50],"standard":[51],"compiler":[53,190],"and":[54,72,100,158,261],"its":[55,73],"caches":[57],"not":[59],"shared":[60],"among":[61],"processes\u2014that":[62],"is,":[63],"runtime":[65,78,137],"system":[66],"maintains":[67],"a":[68,106,145,172,199,205,240],"private":[69],"cache,":[71],"data,":[75],"each":[77],"process.":[79],"However,":[80],"applications":[81,99,157],"running":[82],"on":[83,251,259,267],"same":[85],"platform":[86],"tend":[87],"share":[89,153],"multiple":[90,98,101,156,159],"libraries":[91],"common.":[93],"Sharing":[94],"cached":[95],"across":[97,155],"processes":[102],"can":[103,112,118,134,152,191,217],"lead":[104],"reduction":[107],"memory":[109,255],"use.":[110],"It":[111,117],"directly":[113],"reduce":[114,120],"compile":[115],"time.":[116],"also":[119],"cumulative":[122],"amount":[123,184],"spent":[126],"interpreting":[127],"code.":[128,196],"All":[129],"three":[130],"these":[132],"effects":[133],"actual":[136],"performance.":[138],"In":[139,220],"this":[140],"paper,":[141],"we":[142,222,233],"describe":[143],"ShareJIT,":[144,221,232],"global":[146],"cache":[148],"JITs":[150],"that":[151,187],"processes.":[160],"We":[161],"implemented":[162],"ShareJIT":[163,245],"context":[166,186,208],"Android":[169,237],"Runtime":[170],"(ART),":[171],"used,":[174],"state-of-the-art":[175],"system.":[176],"To":[177,229],"increase":[178,227],"sharing,":[179],"our":[180],"implementation":[181],"constrains":[182],"use":[192],"optimize":[194],"This":[197],"exposes":[198],"fundamental":[200],"tradeoff:":[201],"increased":[202],"specialization":[203],"single":[206],"process\u2019":[207],"decreases":[209],"extent":[211],"which":[213],"compiled":[215],"be":[218],"shared.":[219],"limit":[223],"some":[224],"optimization":[225],"shareability.":[228],"evaluate":[230],"tested":[234],"8":[235],"popular":[236],"apps":[238],"total":[241],"30":[243],"experiments.":[244],"improved":[246],"overall":[247],"by":[249,257,265],"9%":[250],"average,":[252],"while":[253],"decreasing":[254],"consumption":[256],"16%":[258],"average":[260],"37%":[266],"average.":[268]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
