{"id":"https://openalex.org/W1996931099","doi":"https://doi.org/10.1145/161468.161469","title":"A methodology for implementing highly concurrent data objects","display_name":"A methodology for implementing highly concurrent data objects","publication_year":1993,"publication_date":"1993-11-01","ids":{"openalex":"https://openalex.org/W1996931099","doi":"https://doi.org/10.1145/161468.161469","mag":"1996931099"},"language":"en","primary_location":{"id":"doi:10.1145/161468.161469","doi":"https://doi.org/10.1145/161468.161469","is_oa":true,"landing_page_url":"https://doi.org/10.1145/161468.161469","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/161468.161469","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/161468.161469","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5086347882","display_name":"Maurice P. Herlihy","orcid":"https://orcid.org/0000-0002-3059-8926","observed_orcids":["https://orcid.org/0000-0002-3059-8926"]},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Maurice Herlihy","raw_affiliation_strings":["Digital Equipment Corp., Cambridge, MA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Digital Equipment Corp., Cambridge, MA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":["https://openalex.org/A5086347882"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":16.7538,"has_fulltext":true,"cited_by_count":473,"citation_normalized_percentile":{"value":0.99291324,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":100},"biblio":{"volume":"15","issue":"5","first_page":"745","last_page":"770"},"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.9945999979972839,"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.9945999979972839,"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.003000000026077032,"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.0010000000474974513,"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/concurrent-objects","display_name":"concurrent objects","score":0.8550000190734863},{"id":"https://openalex.org/keywords/lock-free-data-structures","display_name":"lock-free data structures","score":0.906000018119812},{"id":"https://openalex.org/keywords/wait-free-data-structures","display_name":"wait-free data structures","score":0.9869999885559082},{"id":"https://openalex.org/keywords/critical-sections","display_name":"critical sections","score":0.5989999771118164},{"id":"https://openalex.org/keywords/automatic-transformation","display_name":"automatic transformation","score":0.3720000088214874},{"id":"https://openalex.org/keywords/synchronization-algorithms","display_name":"synchronization algorithms","score":0.7630000114440918},{"id":"https://openalex.org/keywords/memory-management","display_name":"memory management","score":0.8730000257492065},{"id":"https://openalex.org/keywords/mimd-architecture","display_name":"MIMD architecture","score":0.8069999814033508},{"id":"https://openalex.org/keywords/load-linked-store-conditional","display_name":"load-linked/store-conditional","score":0.7649999856948853},{"id":"https://openalex.org/keywords/shared-memory","display_name":"shared memory","score":0.8489999771118164},{"id":"https://openalex.org/keywords/asynchronous-systems","display_name":"asynchronous systems","score":0.6380000114440918}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9201506972312927},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.6598877906799316},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.6354784965515137},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.6335141062736511},{"id":"https://openalex.org/C21032095","wikidata":"https://www.wikidata.org/wiki/Q1149237","display_name":"MIMD","level":2,"score":0.6052901148796082},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.559149444103241},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.5249899625778198},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.5090410113334656},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.49486368894577026},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4673718810081482},{"id":"https://openalex.org/C20528329","wikidata":"https://www.wikidata.org/wiki/Q513932","display_name":"Linearizability","level":3,"score":0.4562190771102905},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.43911072611808777},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4273052513599396},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.35354283452033997},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34749454259872437},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3291773200035095},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.11560758948326111},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.08378764986991882},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.0},{"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/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/161468.161469","doi":"https://doi.org/10.1145/161468.161469","is_oa":true,"landing_page_url":"https://doi.org/10.1145/161468.161469","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/161468.161469","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.113.4978","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.4978","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.utexas.edu/~lorenzo/corsi/cs380d/papers/p745-herlihy.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.38.1642","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.1642","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ftp://gatekeeper.dec.com/pub/DEC/CRL/tech-reports/91.10.ps.Z","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.90.6836","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.6836","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.hpl.hp.com/techreports/Compaq-DEC/CRL-91-10.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/161468.161469","doi":"https://doi.org/10.1145/161468.161469","is_oa":true,"landing_page_url":"https://doi.org/10.1145/161468.161469","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/161468.161469","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1996931099.pdf","grobid_xml":"https://content.openalex.org/works/W1996931099.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W112831861","https://openalex.org/W284232795","https://openalex.org/W1555673550","https://openalex.org/W1964729314","https://openalex.org/W1968435785","https://openalex.org/W1971191556","https://openalex.org/W1972585359","https://openalex.org/W1980806195","https://openalex.org/W1994593991","https://openalex.org/W2003214215","https://openalex.org/W2012180059","https://openalex.org/W2015121269","https://openalex.org/W2018423296","https://openalex.org/W2021615496","https://openalex.org/W2029390211","https://openalex.org/W2035362408","https://openalex.org/W2043295270","https://openalex.org/W2047434043","https://openalex.org/W2054739713","https://openalex.org/W2058618358","https://openalex.org/W2058879704","https://openalex.org/W2062297396","https://openalex.org/W2063790013","https://openalex.org/W2069278684","https://openalex.org/W2084363500","https://openalex.org/W2085407655","https://openalex.org/W2086070079","https://openalex.org/W2087719952","https://openalex.org/W2092495200","https://openalex.org/W2105435765","https://openalex.org/W2108179552","https://openalex.org/W2113751407","https://openalex.org/W2133386065","https://openalex.org/W2137296754","https://openalex.org/W2611598995","https://openalex.org/W2752885492","https://openalex.org/W3144575512","https://openalex.org/W4235077482","https://openalex.org/W4240971432","https://openalex.org/W4252364404","https://openalex.org/W4285719527","https://openalex.org/W7029321148"],"related_works":["https://openalex.org/W3144575512","https://openalex.org/W2027014911","https://openalex.org/W2131945449","https://openalex.org/W7101109947","https://openalex.org/W7095181633","https://openalex.org/W269717112","https://openalex.org/W2085407655","https://openalex.org/W3214856865","https://openalex.org/W2269124978","https://openalex.org/W1964252984"],"abstract_inverted_index":{"A":[0],"concurrent":[1,9,15,67,124],"object":[2,68],"is":[3,48,70,92,144],"a":[4,29,53,66,85,106,114,148,165,186],"data":[5,168],"structure":[6],"shared":[7,187],"by":[8,176],"processes.":[10],"Conventional":[11],"techniques":[12],"for":[13,42,117,164],"implementing":[14],"objects":[16],"typically":[17],"rely":[18],"on":[19,33],"critical":[20,37,54],"sections":[21,38],";":[22],"ensuring":[23],"that":[24,77,98],"only":[25],"one":[26,46],"process":[27,47,79,100],"at":[28],"time":[30],"can":[31],"operate":[32],"the":[34],"object.":[35],"Nevertheless,":[36],"are":[39,131,162],"poorly":[40],"suited":[41],"asynchronous":[43],"systems:":[44],"if":[45,73,95],"halted":[49],"or":[50,150],"delayed":[51],"in":[52,84,105,171],"section,":[55],"other,":[56],"nonfaulty":[57],"processes":[58,174],"will":[59,80,101],"be":[60],"unable":[61],"to":[62,185],"progress.":[63],"By":[64],"contrast,":[65],"implementation":[69],"lock":[71],"free":[72,94],"it":[74,91,96],"always":[75],"guarantees":[76,97],"some":[78],"complete":[81,102],"an":[82,103],"operation":[83,104,143,152],"finite":[86,107],"number":[87,108],"of":[88,109,123],"steps,":[89],"and":[90,120,129,156,182],"wait":[93],"each":[99],"steps.":[110],"This":[111],"paper":[112],"proposes":[113],"new":[115],"methodology":[116],"constructing":[118],"lock-free":[119,149],"wait-free":[121,151],"implementations":[122],"objects.":[125],"The":[126],"object's":[127],"representation":[128],"operations":[130,184],"written":[132],"as":[133],"stylized":[134],"sequential":[135,142],"programs,":[136],"with":[137],"no":[138],"explicit":[139],"synchronization.":[140],"Each":[141],"atutomatically":[145],"transformed":[146],"into":[147],"using":[153],"novel":[154],"synchronization":[155],"memory":[157],"management":[158],"algorithms.":[159],"These":[160],"algorithms":[161],"presented":[163],"multiple":[166],"instruction/multiple":[167],"(MIMD)":[169],"architecture":[170],"which":[172],"n":[173],"communicate":[175],"applying":[177],"atomic":[178],"read,":[179],"write,":[180],"load_linked,":[181],"store_conditional":[183],"memory.":[188]},"counts_by_year":[{"year":2026,"cited_by_count":10},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":11},{"year":2023,"cited_by_count":7},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":12},{"year":2020,"cited_by_count":18},{"year":2019,"cited_by_count":16},{"year":2018,"cited_by_count":16},{"year":2017,"cited_by_count":7},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":22},{"year":2014,"cited_by_count":21},{"year":2013,"cited_by_count":18},{"year":2012,"cited_by_count":19}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
