{"id":"https://openalex.org/W2012522306","doi":"https://doi.org/10.1145/1978907.1978911","title":"Adding concurrency in python using a commercial processor's hardware transactional memory support","display_name":"Adding concurrency in python using a commercial processor's hardware transactional memory support","publication_year":2010,"publication_date":"2010-04-29","ids":{"openalex":"https://openalex.org/W2012522306","doi":"https://doi.org/10.1145/1978907.1978911","mag":"2012522306"},"language":"en","primary_location":{"id":"doi:10.1145/1978907.1978911","doi":"https://doi.org/10.1145/1978907.1978911","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1978907.1978911","pdf_url":null,"source":{"id":"https://openalex.org/S4210193905","display_name":"ACM SIGARCH Computer Architecture News","issn_l":"0163-5964","issn":["0163-5964","1943-5851"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","norway-1"],"host_organization":"https://openalex.org/P4310320740","host_organization_name":"ACM SIGARCH","host_organization_lineage":["https://openalex.org/P4310320740"],"host_organization_lineage_names":["ACM SIGARCH"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGARCH Computer Architecture News","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"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/A5090616197","display_name":"Fuad Tabba","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":true,"raw_author_name":"Fuad Tabba","raw_affiliation_strings":["University of Auckland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Auckland","institution_ids":["https://openalex.org/I154130895"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5090616197"],"corresponding_institution_ids":["https://openalex.org/I154130895"],"apc_list":null,"apc_paid":null,"fwci":1.4583,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.83651622,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":97},"biblio":{"volume":"38","issue":"5","first_page":"12","last_page":"19"},"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.9897000193595886,"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.9897000193595886,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.008899999782443047,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.00039999998989515007,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/hardware-transactional-memory","display_name":"hardware transactional memory","score":0.9879999756813049},{"id":"https://openalex.org/keywords/python","display_name":"Python","score":0.4490000009536743},{"id":"https://openalex.org/keywords/concurrency","display_name":"concurrency","score":0.8410000205039978},{"id":"https://openalex.org/keywords/global-interpreter-lock","display_name":"Global Interpreter Lock","score":0.6119999885559082},{"id":"https://openalex.org/keywords/shared-data-structures","display_name":"shared data structures","score":0.7379999756813049},{"id":"https://openalex.org/keywords/parallelism","display_name":"parallelism","score":0.47099998593330383}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8428501486778259},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.8305710554122925},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6672016382217407},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5670841336250305},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.5648149847984314},{"id":"https://openalex.org/C108744092","wikidata":"https://www.wikidata.org/wiki/Q93695","display_name":"Multiversion concurrency control","level":5,"score":0.5409669876098633},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5379524827003479},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.4999415874481201},{"id":"https://openalex.org/C153180980","wikidata":"https://www.wikidata.org/wiki/Q19776675","display_name":"Commit","level":2,"score":0.4802427589893341},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4383634626865387},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.4184759557247162},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3893830478191376},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.3556253910064697},{"id":"https://openalex.org/C208087996","wikidata":"https://www.wikidata.org/wiki/Q5283142","display_name":"Distributed concurrency control","level":4,"score":0.16015979647636414},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.1446893811225891},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.11920779943466187},{"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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1978907.1978911","doi":"https://doi.org/10.1145/1978907.1978911","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1978907.1978911","pdf_url":null,"source":{"id":"https://openalex.org/S4210193905","display_name":"ACM SIGARCH Computer Architecture News","issn_l":"0163-5964","issn":["0163-5964","1943-5851"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","norway-1"],"host_organization":"https://openalex.org/P4310320740","host_organization_name":"ACM SIGARCH","host_organization_lineage":["https://openalex.org/P4310320740"],"host_organization_lineage_names":["ACM SIGARCH"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGARCH Computer Architecture News","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W199538813","https://openalex.org/W649605789","https://openalex.org/W1990262300","https://openalex.org/W2004340162","https://openalex.org/W2058213389","https://openalex.org/W2060060248","https://openalex.org/W2098359329","https://openalex.org/W2099661831","https://openalex.org/W2100091242","https://openalex.org/W2106782772","https://openalex.org/W2113751407","https://openalex.org/W2118329536","https://openalex.org/W2120142006","https://openalex.org/W2135430119","https://openalex.org/W2340530615","https://openalex.org/W2955325419","https://openalex.org/W2961185246","https://openalex.org/W3147996988","https://openalex.org/W6703760063"],"related_works":["https://openalex.org/W2060060248","https://openalex.org/W6961057797","https://openalex.org/W7096956284","https://openalex.org/W2004974706","https://openalex.org/W2792782933","https://openalex.org/W2901379038","https://openalex.org/W2281111187","https://openalex.org/W4411987935","https://openalex.org/W3092166922","https://openalex.org/W7100303260"],"abstract_inverted_index":{"This":[0],"paper":[1],"reports":[2],"on":[3,59],"our":[4],"experiences":[5],"of":[6,80,93,118],"using":[7,29],"a":[8,30],"commercial":[9],"processor's":[10],"best-effort":[11],"hardware":[12,49],"transactional":[13],"memory":[14],"to":[15,46,66,77,85],"improve":[16],"concurrency":[17,117],"in":[18,52,68],"CPython,":[19],"the":[20,43,60,94,101,116],"reference":[21],"Python":[22],"implementation.":[23],"CPython":[24,44,103],"protects":[25],"its":[26],"data":[27,83],"structures":[28,84],"single":[31,61],"global":[32,62],"lock,":[33],"which":[34],"inhibits":[35],"parallelism":[36],"when":[37,64],"running":[38],"multiple":[39],"threads.":[40],"We":[41],"modified":[42,102],"interpreter":[45,104],"use":[47],"besteffort":[48],"transactions":[50],"available":[51],"Sun's":[53],"Rock":[54],"processor,":[55],"and":[56,110],"fall":[57],"back":[58],"lock":[63],"unable":[65],"commit":[67],"hardware.":[69],"The":[70],"modifications":[71],"were":[72],"minimal;":[73],"however,":[74],"we":[75],"had":[76],"restructure":[78],"some":[79],"CPython's":[81,91],"shared":[82,95],"handle":[86],"false":[87],"conflicts":[88],"arising":[89],"from":[90],"management":[92],"data.":[96],"Our":[97],"results":[98],"show":[99],"that":[100],"can":[105],"run":[106],"small,":[107],"simple,":[108],"workloads":[109],"scale":[111],"almost":[112],"linearly,":[113],"while":[114],"improving":[115],"more":[119],"complex":[120],"workloads.":[121]},"counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-10-30T12:39:25.321706","created_date":"2016-06-24T00:00:00"}
