{"id":"https://openalex.org/W4254473902","doi":"https://doi.org/10.1145/3156695.3122972","title":"Improving STM performance with transactional structs","display_name":"Improving STM performance with transactional structs","publication_year":2017,"publication_date":"2017-09-07","ids":{"openalex":"https://openalex.org/W4254473902","doi":"https://doi.org/10.1145/3156695.3122972"},"language":"en","primary_location":{"id":"doi:10.1145/3156695.3122972","doi":"https://doi.org/10.1145/3156695.3122972","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3156695.3122972","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":"ACM SIGPLAN Notices","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/A5019589127","display_name":"Ryan Yates","orcid":"https://orcid.org/0009-0000-2870-9044","observed_orcids":["https://orcid.org/0009-0000-2870-9044"]},"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":"Ryan Yates","raw_affiliation_strings":["University of Rochester, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Rochester, USA","institution_ids":["https://openalex.org/I5388228"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5079254515","display_name":"Michael Lee Scott","orcid":"https://orcid.org/0000-0001-8652-7644","observed_orcids":["https://orcid.org/0000-0001-8652-7644"]},"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":"Michael L. Scott","raw_affiliation_strings":["University of Rochester, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Rochester, USA","institution_ids":["https://openalex.org/I5388228"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I5388228"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"52","issue":"10","first_page":"186","last_page":"196"},"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.9810000061988831,"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.9810000061988831,"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/T10126","display_name":"Logic, programming, and type systems","score":0.01549999974668026,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.0013000000035390258,"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/software-transactional-memory","display_name":"software transactional memory","score":0.9990000128746033},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.5580000281333923},{"id":"https://openalex.org/keywords/concurrent-data-structures","display_name":"concurrent data structures","score":0.8510000109672546},{"id":"https://openalex.org/keywords/mutable-references","display_name":"mutable references","score":0.9430000185966492},{"id":"https://openalex.org/keywords/multi-core-performance","display_name":"multi-core performance","score":0.574999988079071}],"concepts":[{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.9168829917907715},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9091721773147583},{"id":"https://openalex.org/C89377073","wikidata":"https://www.wikidata.org/wiki/Q1171224","display_name":"Indirection","level":2,"score":0.8753256797790527},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8009141087532043},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.7988220453262329},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.7728344798088074},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.589928150177002},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5792700052261353},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5653479695320129},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.45362937450408936},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3224886953830719},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.07905399799346924},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3156695.3122972","doi":"https://doi.org/10.1145/3156695.3122972","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3156695.3122972","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":"ACM SIGPLAN Notices","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G115589748","display_name":"CCF: Medium:  Routine Parallelism Enabled by Speculation","funder_award_id":"0963759","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":11,"referenced_works":["https://openalex.org/W2034963261","https://openalex.org/W2048517152","https://openalex.org/W2060771324","https://openalex.org/W2070991879","https://openalex.org/W2129458440","https://openalex.org/W2129990308","https://openalex.org/W2151958460","https://openalex.org/W2155500238","https://openalex.org/W2515034066","https://openalex.org/W2912601938","https://openalex.org/W4293763691"],"related_works":["https://openalex.org/W7006087137","https://openalex.org/W2132734890","https://openalex.org/W2089755106","https://openalex.org/W4235540840","https://openalex.org/W2084787668","https://openalex.org/W1495461312","https://openalex.org/W2148841843","https://openalex.org/W2946293218","https://openalex.org/W7097695718","https://openalex.org/W2341778529"],"abstract_inverted_index":{"Software":[0],"transactional":[1,63,80],"memory":[2],"(STM)":[3],"has":[4],"made":[5],"it":[6],"significantly":[7],"easier":[8],"to":[9,30,45,59,72],"write":[10],"correct":[11],"concurrent":[12,26,35,114],"programs":[13],"in":[14,32,41],"Haskell.":[15],"Its":[16],"performance,":[17],"however,":[18],"is":[19],"limited":[20],"by":[21,69],"several":[22,95],"inefficiencies.":[23],"While":[24],"safe":[25],"computations":[27],"are":[28],"easy":[29],"express":[31,60],"Haskell's":[33],"STM,":[34],"data":[36,96,115],"structures":[37,116],"suffer":[38],"unfortunate":[39],"bloat":[40],"the":[42,57,73],"implementation":[43],"due":[44],"an":[46,88],"extra":[47,89],"level":[48],"of":[49],"indirection":[50],"for":[51],"mutable":[52,62,85],"references":[53,86],"as":[54,56,82,84],"well":[55,83],"inability":[58],"unboxed":[61,79],"values.":[64],"We":[65],"address":[66],"these":[67],"deficiencies":[68],"introducing":[70],"TStruct":[71,92,119],"GHC":[74],"run-time":[75],"system,":[76],"allowing":[77],"strict":[78],"values":[81],"without":[87],"indirection.":[90],"Using":[91],"we":[93],"implement":[94],"structures,":[97],"discuss":[98],"their":[99,123],"design,":[100],"and":[101,121],"provide":[102],"benchmark":[103],"results":[104],"on":[105],"a":[106],"large":[107],"multicore":[108],"machine.":[109],"Our":[110],"benchmarks":[111],"show":[112],"that":[113],"built":[117],"with":[118],"out-scale":[120],"out-perform":[122],"TVar-based":[124],"equivalents.":[125]},"counts_by_year":[],"updated_date":"2026-09-22T06:50:58.402377","created_date":"2022-05-12T00:00:00"}
