{"id":"https://openalex.org/W2118750966","doi":"https://doi.org/10.1109/cgo.2006.36","title":"Thread-Shared Software Code Caches","display_name":"Thread-Shared Software Code Caches","publication_year":2006,"publication_date":"2006-04-07","ids":{"openalex":"https://openalex.org/W2118750966","doi":"https://doi.org/10.1109/cgo.2006.36","mag":"2118750966"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2006.36","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2006.36","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Code Generation and Optimization (CGO'06)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5006209368","display_name":"Derek Bruening","orcid":null},"institutions":[{"id":"https://openalex.org/I205887594","display_name":"Rina Services (Italy)","ror":"https://ror.org/0562tzd79","country_code":"IT","type":"company","lineage":["https://openalex.org/I205887594"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"D. Bruening","raw_affiliation_strings":["Determina, Inc"],"affiliations":[{"raw_affiliation_string":"Determina, Inc","institution_ids":["https://openalex.org/I205887594"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086843430","display_name":"Vladimir Kiriansky","orcid":null},"institutions":[{"id":"https://openalex.org/I205887594","display_name":"Rina Services (Italy)","ror":"https://ror.org/0562tzd79","country_code":"IT","type":"company","lineage":["https://openalex.org/I205887594"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"V. Kiriansky","raw_affiliation_strings":["Determina, Inc"],"affiliations":[{"raw_affiliation_string":"Determina, Inc","institution_ids":["https://openalex.org/I205887594"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017901460","display_name":"Timothy Garnett","orcid":null},"institutions":[{"id":"https://openalex.org/I205887594","display_name":"Rina Services (Italy)","ror":"https://ror.org/0562tzd79","country_code":"IT","type":"company","lineage":["https://openalex.org/I205887594"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"T. Garnett","raw_affiliation_strings":["Determina, Inc"],"affiliations":[{"raw_affiliation_string":"Determina, Inc","institution_ids":["https://openalex.org/I205887594"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5089589448","display_name":"Srishti Banerji","orcid":"https://orcid.org/0000-0002-2330-3683"},"institutions":[{"id":"https://openalex.org/I205887594","display_name":"Rina Services (Italy)","ror":"https://ror.org/0562tzd79","country_code":"IT","type":"company","lineage":["https://openalex.org/I205887594"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"S. Banerji","raw_affiliation_strings":["Determina, Inc"],"affiliations":[{"raw_affiliation_string":"Determina, Inc","institution_ids":["https://openalex.org/I205887594"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5006209368"],"corresponding_institution_ids":["https://openalex.org/I205887594"],"apc_list":null,"apc_paid":null,"fwci":1.9512,"has_fulltext":false,"cited_by_count":36,"citation_normalized_percentile":{"value":0.85912509,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"28","last_page":"38"},"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9977999925613403,"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.9973999857902527,"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.8626587390899658},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.6875215768814087},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.5772100687026978},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5311350226402283},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5262571573257446},{"id":"https://openalex.org/keywords/bus-sniffing","display_name":"Bus sniffing","score":0.5177637338638306},{"id":"https://openalex.org/keywords/cache-invalidation","display_name":"Cache invalidation","score":0.4850156009197235},{"id":"https://openalex.org/keywords/cache-pollution","display_name":"Cache pollution","score":0.4471922218799591},{"id":"https://openalex.org/keywords/cache-algorithms","display_name":"Cache algorithms","score":0.4437279999256134},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3670870065689087},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.33708399534225464},{"id":"https://openalex.org/keywords/cpu-cache","display_name":"CPU cache","score":0.2977191209793091}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8626587390899658},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6875215768814087},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.5772100687026978},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5311350226402283},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5262571573257446},{"id":"https://openalex.org/C51185590","wikidata":"https://www.wikidata.org/wiki/Q1017228","display_name":"Bus sniffing","level":5,"score":0.5177637338638306},{"id":"https://openalex.org/C25536678","wikidata":"https://www.wikidata.org/wiki/Q5015977","display_name":"Cache invalidation","level":5,"score":0.4850156009197235},{"id":"https://openalex.org/C113166858","wikidata":"https://www.wikidata.org/wiki/Q5015981","display_name":"Cache pollution","level":5,"score":0.4471922218799591},{"id":"https://openalex.org/C38556500","wikidata":"https://www.wikidata.org/wiki/Q13404475","display_name":"Cache algorithms","level":4,"score":0.4437279999256134},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3670870065689087},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.33708399534225464},{"id":"https://openalex.org/C189783530","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"CPU cache","level":3,"score":0.2977191209793091}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo.2006.36","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2006.36","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Code Generation and Optimization (CGO'06)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","score":0.4399999976158142,"display_name":"Industry, innovation and infrastructure"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":52,"referenced_works":["https://openalex.org/W3118130","https://openalex.org/W197136832","https://openalex.org/W1514171102","https://openalex.org/W1532659787","https://openalex.org/W1733564367","https://openalex.org/W1772405505","https://openalex.org/W1838591770","https://openalex.org/W1926626086","https://openalex.org/W1972969106","https://openalex.org/W1986152061","https://openalex.org/W1993318777","https://openalex.org/W1999421692","https://openalex.org/W2006816934","https://openalex.org/W2007920703","https://openalex.org/W2062909992","https://openalex.org/W2072737419","https://openalex.org/W2089131124","https://openalex.org/W2099634929","https://openalex.org/W2102839400","https://openalex.org/W2120342118","https://openalex.org/W2123022206","https://openalex.org/W2126022651","https://openalex.org/W2127890955","https://openalex.org/W2133782309","https://openalex.org/W2134633067","https://openalex.org/W2143588523","https://openalex.org/W2148865465","https://openalex.org/W2154766204","https://openalex.org/W2155612203","https://openalex.org/W2155943969","https://openalex.org/W2157074753","https://openalex.org/W2161178924","https://openalex.org/W2161261909","https://openalex.org/W2163935347","https://openalex.org/W2167997514","https://openalex.org/W2216124930","https://openalex.org/W2285576712","https://openalex.org/W2410499723","https://openalex.org/W2535431417","https://openalex.org/W2752885492","https://openalex.org/W3123681665","https://openalex.org/W3145128584","https://openalex.org/W4230001087","https://openalex.org/W4232896609","https://openalex.org/W4233075742","https://openalex.org/W4238502383","https://openalex.org/W4239813889","https://openalex.org/W4243006798","https://openalex.org/W4285719527","https://openalex.org/W6631932879","https://openalex.org/W6637859861","https://openalex.org/W6684040092"],"related_works":["https://openalex.org/W4312759433","https://openalex.org/W2290179447","https://openalex.org/W2161101294","https://openalex.org/W2148571123","https://openalex.org/W1994369542","https://openalex.org/W2123859627","https://openalex.org/W2026179701","https://openalex.org/W273173017","https://openalex.org/W4380881125","https://openalex.org/W2108638805"],"abstract_inverted_index":{"Software":[0],"code":[1,30,57,84,109,121,131,175],"caches":[2,61,85,110,176,231],"are":[3,62,86],"increasingly":[4],"being":[5],"used":[6],"to":[7,55,65,80,88,116,160,197,244,248],"amortize":[8],"the":[9,25,117,144,169,179],"runtime":[10,129],"overhead":[11],"of":[12,29,95,119,134,181,235],"dynamic":[13,17,19,218],"optimizers,":[14],"simulators,":[15],"emulators,":[16],"translators,":[18],"compilers,":[20],"and":[21,68,132,149,177,190,204,239],"other":[22],"tools.":[23],"Despite":[24],"now-wide":[26],"spread":[27],"use":[28,232],"caches,":[31],"techniques":[32],"for":[33,137,146],"efficiently":[34],"sharing":[35],"them":[36],"across":[37],"multiple":[38],"threads":[39,97,136],"have":[40,112],"not":[41,49,76,206],"been":[42],"fully":[43],"explored.":[44],"Some":[45],"systems":[46,104],"simply":[47,74],"do":[48,75,106,205],"support":[50],"threads,":[51],"while":[52],"others":[53],"resort":[54],"thread-private":[56,60,249],"caches.":[58,250],"Although":[59],"much":[63],"simpler":[64],"manage,":[66],"synchronize,":[67],"provide":[69],"scratch":[70],"space":[71],"for,":[72],"they":[73],"scale":[77,202],"when":[78,172],"applied":[79],"many-threaded":[81],"programs.":[82],"Thread-shared":[83],"needed":[87],"target":[89],"server":[90,224],"applications,":[91],"which":[92],"employ":[93],"hundreds":[94],"worker":[96],"all":[98,135],"performing":[99],"similar":[100],"tasks.":[101],"Yet,":[102],"those":[103],"that":[105,155,200],"share":[107],"their":[108],"often":[111],"brute-force,":[113],"inefficient":[114],"solutions":[115,196],"challenges":[118],"concurrent":[120],"cache":[122,139,147,158,162,191],"access:":[123],"a":[124],"single":[125],"global":[126],"lock":[127],"on":[128,222],"system":[130],"suspension":[133],"any":[138],"management":[140],"action.":[141],"This":[142],"limits":[143],"possibilities":[145],"design":[148,170],"has":[150],"performance":[151],"problems":[152,199],"with":[153],"applications":[154,228],"require":[156,207],"frequent":[157],"invalidations":[159],"maintain":[161],"consistency.":[163],"In":[164],"this":[165],"paper,":[166],"we":[167],"discuss":[168],"choices":[171],"building":[173],"thread-shared":[174,230],"enumerate":[178],"difficulties":[180],"thread-local":[182],"storage,":[183],"synchronization,":[184],"trace":[185],"building,":[186],"in-cache":[187],"lookup":[188],"tables,":[189],"eviction.":[192],"We":[193,210],"present":[194],"efficient":[195],"these":[198,227],"both":[201],"well":[203],"thread":[208],"suspension.":[209],"evaluate":[211],"our":[212,229],"results":[213],"in":[214],"DynamoRIO,":[215],"an":[216,233],"industrial-strength":[217],"binary":[219],"translation":[220],"system,":[221],"real-world":[223],"applications.":[225],"On":[226],"order":[234],"magnitude":[236],"less":[237],"memory":[238],"improve":[240],"throughput":[241],"by":[242],"up":[243],"four":[245],"times":[246],"compared":[247]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":4},{"year":2012,"cited_by_count":10}],"updated_date":"2025-11-25T21:42:39.735039","created_date":"2025-10-10T00:00:00"}
