{"id":"https://openalex.org/W2129266025","doi":"https://doi.org/10.1145/1693453.1693460","title":"Compiler aided selective lock assignment for improving the performance of software transactional memory","display_name":"Compiler aided selective lock assignment for improving the performance of software transactional memory","publication_year":2010,"publication_date":"2010-01-09","ids":{"openalex":"https://openalex.org/W2129266025","doi":"https://doi.org/10.1145/1693453.1693460","mag":"2129266025"},"language":"en","primary_location":{"id":"doi:10.1145/1693453.1693460","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1693453.1693460","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","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/A5005710090","display_name":"Sandya Mannarswamy","orcid":"https://orcid.org/0000-0002-2871-705X"},"institutions":[{"id":"https://openalex.org/I4210117576","display_name":"Hewlett-Packard (India)","ror":"https://ror.org/02ffkja82","country_code":"IN","type":"company","lineage":["https://openalex.org/I1324840837","https://openalex.org/I4210117576"]}],"countries":["IN"],"is_corresponding":true,"raw_author_name":"Sandya Mannarswamy","raw_affiliation_strings":["Hewlett Packard India, Bangalore, India"],"affiliations":[{"raw_affiliation_string":"Hewlett Packard India, Bangalore, India","institution_ids":["https://openalex.org/I4210117576"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038499695","display_name":"Dhruva R. Chakrabarti","orcid":"https://orcid.org/0009-0008-4660-7584"},"institutions":[{"id":"https://openalex.org/I1324840837","display_name":"Hewlett-Packard (United States)","ror":"https://ror.org/059rn9488","country_code":"US","type":"company","lineage":["https://openalex.org/I1324840837"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Dhruva R. Chakrabarti","raw_affiliation_strings":["Hewlett Packard Labs, Palo Alto, CA, USA"],"affiliations":[{"raw_affiliation_string":"Hewlett Packard Labs, Palo Alto, CA, USA","institution_ids":["https://openalex.org/I1324840837"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5104063234","display_name":"Kaushik Sunder Rajan","orcid":null},"institutions":[{"id":"https://openalex.org/I4210124949","display_name":"Microsoft Research (India)","ror":"https://ror.org/02w7f3w92","country_code":"IN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210124949"]},{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["IN","US"],"is_corresponding":false,"raw_author_name":"Kaushik Rajan","raw_affiliation_strings":["Microsoft Research India, Bangalore, India","Microsoft Research india, Bangalore, India#TAB#"],"affiliations":[{"raw_affiliation_string":"Microsoft Research India, Bangalore, India","institution_ids":["https://openalex.org/I4210124949"]},{"raw_affiliation_string":"Microsoft Research india, Bangalore, India#TAB#","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016877754","display_name":"Sujoy Saraswati","orcid":null},"institutions":[{"id":"https://openalex.org/I4210117576","display_name":"Hewlett-Packard (India)","ror":"https://ror.org/02ffkja82","country_code":"IN","type":"company","lineage":["https://openalex.org/I1324840837","https://openalex.org/I4210117576"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Sujoy Saraswati","raw_affiliation_strings":["Hewlett Packard India, Bangalore, India"],"affiliations":[{"raw_affiliation_string":"Hewlett Packard India, Bangalore, India","institution_ids":["https://openalex.org/I4210117576"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5005710090"],"corresponding_institution_ids":["https://openalex.org/I4210117576"],"apc_list":null,"apc_paid":null,"fwci":2.4929,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.90013099,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"37","last_page":"46"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998000264167786,"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/T13471","display_name":"Cognitive Functions and Memory","score":0.9821000099182129,"subfield":{"id":"https://openalex.org/subfields/3205","display_name":"Experimental and Cognitive Psychology"},"field":{"id":"https://openalex.org/fields/32","display_name":"Psychology"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.968500018119812,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8826895952224731},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7761620283126831},{"id":"https://openalex.org/keywords/software-transactional-memory","display_name":"Software transactional memory","score":0.7677085399627686},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.7133083343505859},{"id":"https://openalex.org/keywords/transactional-memory","display_name":"Transactional memory","score":0.6160399913787842},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5945085287094116},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4982597827911377},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.48940959572792053},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.46869826316833496},{"id":"https://openalex.org/keywords/compiler-correctness","display_name":"Compiler correctness","score":0.4344390332698822},{"id":"https://openalex.org/keywords/concurrency-control","display_name":"Concurrency control","score":0.41816315054893494},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3424534201622009}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8826895952224731},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7761620283126831},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.7677085399627686},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.7133083343505859},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.6160399913787842},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5945085287094116},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4982597827911377},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.48940959572792053},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.46869826316833496},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.4344390332698822},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.41816315054893494},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3424534201622009},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1693453.1693460","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1693453.1693460","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":36,"referenced_works":["https://openalex.org/W1542975293","https://openalex.org/W1566614300","https://openalex.org/W1590443763","https://openalex.org/W1964714157","https://openalex.org/W2015520072","https://openalex.org/W2018973657","https://openalex.org/W2030183445","https://openalex.org/W2045506295","https://openalex.org/W2079854797","https://openalex.org/W2092911542","https://openalex.org/W2095115578","https://openalex.org/W2105055683","https://openalex.org/W2106703803","https://openalex.org/W2108204150","https://openalex.org/W2111367353","https://openalex.org/W2113751407","https://openalex.org/W2115426749","https://openalex.org/W2131135493","https://openalex.org/W2132229133","https://openalex.org/W2138567239","https://openalex.org/W2145593725","https://openalex.org/W2149089882","https://openalex.org/W2151551151","https://openalex.org/W2163654949","https://openalex.org/W2166266685","https://openalex.org/W2166331994","https://openalex.org/W2293756656","https://openalex.org/W3001659479","https://openalex.org/W3083604022","https://openalex.org/W3148529197","https://openalex.org/W3151087846","https://openalex.org/W4205784557","https://openalex.org/W4230702135","https://openalex.org/W4242949098","https://openalex.org/W4285719527","https://openalex.org/W6676991558"],"related_works":["https://openalex.org/W2088444093","https://openalex.org/W133473147","https://openalex.org/W4252722439","https://openalex.org/W924353067","https://openalex.org/W2152491655","https://openalex.org/W2992926879","https://openalex.org/W1144911151","https://openalex.org/W2120193195","https://openalex.org/W2045742725","https://openalex.org/W2094214855"],"abstract_inverted_index":{"Atomic":[0],"sections":[1,33],"have":[2],"been":[3],"recently":[4],"introduced":[5],"as":[6,102,154,225],"a":[7,60,136,145,162,179],"language":[8],"construct":[9],"to":[10,124,153,194,242],"improve":[11],"the":[12,23,40,51,71,90,93,126,158,171,185,189,201,206,218],"programmability":[13],"of":[14,26,42,53,70,76,191],"concurrent":[15],"software.":[16],"They":[17],"simplify":[18],"programming":[19],"by":[20,45,113,119,168,184],"not":[21,67],"requiring":[22],"explicit":[24],"specification":[25],"locks":[27,101],"for":[28,174,205,236],"shared":[29,175,202],"data.":[30],"Typically":[31],"atomic":[32],"are":[34],"supported":[35],"in":[36,188,217],"software":[37,61],"either":[38],"through":[39,50],"use":[41,52],"optimistic":[43],"concurrency":[44,55],"using":[46,56,170,223],"transactional":[47,62],"memory":[48,63,73],"or":[49],"pessimistic":[54],"compiler-assigned":[57],"locks.":[58],"As":[59],"(STM)":[64],"system":[65],"does":[66],"take":[68],"advantage":[69],"specific":[72],"access":[74],"patterns":[75],"an":[77],"application":[78,234],"it":[79,103],"often":[80],"suffers":[81],"from":[82,240],"false":[83],"conflicts":[84],"and":[85,196],"high":[86],"validation":[87],"overheads.":[88],"On":[89],"other":[91],"hand,":[92],"compiler":[94,146,186],"usually":[95],"ends":[96],"up":[97],"assigning":[98],"coarse":[99],"grain":[100],"relies":[104],"on":[105],"whole":[106],"program":[107],"points-to":[108],"analysis":[109,181],"which":[110,139],"is":[111,182],"conservative":[112,180],"nature.":[114],"This":[115],"adversely":[116],"affects":[117],"performance":[118,235],"limiting":[120],"concurrency.":[121],"In":[122],"order":[123],"mitigate":[125],"disadvantages":[127],"associated":[128,160],"with":[129,144,161],"STM's":[130,141],"lock":[131,142,149,165,208],"assignment":[132,143,150,166],"scheme,":[133],"we":[134],"propose":[135],"hybrid":[137],"approach":[138,167],"combines":[140],"aided":[147],"selective":[148,199],"scheme":[151,215],"(referred":[152],"SCLA-STM).":[155],"SCLA-STM":[156,214,232],"overcomes":[157],"inefficiencies":[159],"purely":[163],"compile-time":[164],"(i)":[169],"underlying":[172],"STM":[173,227],"variables":[176],"where":[177],"only":[178],"possible":[183],"(e.g.,":[187],"presence":[190],"may-alias":[192],"points":[193],"information)":[195],"(ii)":[197],"being":[198],"about":[200],"data":[203],"chosen":[204],"compiler-aided":[207],"assignment.":[209],"We":[210,229],"describe":[211],"our":[212,226],"prototype":[213],"implemented":[216],"hp-ux":[219],"IA-64":[220],"C/C++":[221],"compiler,":[222],"TL2":[224],"implementation.":[228],"show":[230],"that":[231],"improves":[233],"certain":[237],"STAMP":[238],"benchmarks":[239],"1.68%":[241],"37.13%.":[243]},"counts_by_year":[{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
