{"id":"https://openalex.org/W2751166390","doi":"https://doi.org/10.1145/3122955.3122972","title":"Improving STM performance with transactional structs","display_name":"Improving STM performance with transactional structs","publication_year":2017,"publication_date":"2017-09-01","ids":{"openalex":"https://openalex.org/W2751166390","doi":"https://doi.org/10.1145/3122955.3122972","mag":"2751166390"},"language":"en","primary_location":{"id":"doi:10.1145/3122955.3122972","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3122955.3122972","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell","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/A5019589127","display_name":"Ryan Yates","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":"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 L. Scott","orcid":"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":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.2197,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.58835548,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"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.9998999834060669,"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.9998999834060669,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9919999837875366,"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.9718000292778015,"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.9222124218940735},{"id":"https://openalex.org/keywords/indirection","display_name":"Indirection","score":0.8921897411346436},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.861725926399231},{"id":"https://openalex.org/keywords/transactional-memory","display_name":"Transactional memory","score":0.8409576416015625},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.795732855796814},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7948285341262817},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5848128795623779},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5641709566116333},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5547743439674377},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.46808725595474243},{"id":"https://openalex.org/keywords/transactional-leadership","display_name":"Transactional leadership","score":0.4145187735557556},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.26987695693969727}],"concepts":[{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.9222124218940735},{"id":"https://openalex.org/C89377073","wikidata":"https://www.wikidata.org/wiki/Q1171224","display_name":"Indirection","level":2,"score":0.8921897411346436},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.861725926399231},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.8409576416015625},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.795732855796814},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7948285341262817},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5848128795623779},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5641709566116333},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5547743439674377},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.46808725595474243},{"id":"https://openalex.org/C68489960","wikidata":"https://www.wikidata.org/wiki/Q2370659","display_name":"Transactional leadership","level":2,"score":0.4145187735557556},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.26987695693969727},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.0},{"id":"https://openalex.org/C77805123","wikidata":"https://www.wikidata.org/wiki/Q161272","display_name":"Social psychology","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"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/3122955.3122972","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3122955.3122972","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3262814337","display_name":null,"funder_award_id":"CCR-0963759, CCF-1116055, CCF-1337224, CCF-1422649","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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W154850286","https://openalex.org/W1937310219","https://openalex.org/W1947321792","https://openalex.org/W1983572666","https://openalex.org/W2034963261","https://openalex.org/W2048517152","https://openalex.org/W2060771324","https://openalex.org/W2070991879","https://openalex.org/W2076149580","https://openalex.org/W2129458440","https://openalex.org/W2129990308","https://openalex.org/W2151958460","https://openalex.org/W2155500238","https://openalex.org/W2163654949","https://openalex.org/W2187800381","https://openalex.org/W2515034066","https://openalex.org/W2912601938","https://openalex.org/W2955325419","https://openalex.org/W4293763691"],"related_works":["https://openalex.org/W2084628231","https://openalex.org/W2751166390","https://openalex.org/W2912336518","https://openalex.org/W4254473902","https://openalex.org/W247987398","https://openalex.org/W3003186017","https://openalex.org/W2188165706","https://openalex.org/W3008217702","https://openalex.org/W3174664046","https://openalex.org/W3019991704"],"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":[{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
