Matches in SemOpenAlex for { <https://semopenalex.org/work/W2034963261> ?p ?o ?g. }
- W2034963261 endingPage "5" @default.
- W2034963261 startingPage "5" @default.
- W2034963261 abstract "Mutual exclusion locks remain the de facto mechanism for concurrency control on shared-memory data structures. However, their apparent simplicity is deceptive: It is hard to design scalable locking strategies because locks can harbor problems such as priority inversion, deadlock, and convoying. Furthermore, scalable lock-based systems are not readily composable when building compound operations. In looking for solutions to these problems, interest has developed in nonblocking systems which have promised scalability and robustness by eschewing mutual exclusion while still ensuring safety. However, existing techniques for building nonblocking systems are rarely suitable for practical use, imposing substantial storage overheads, serializing nonconflicting operations, or requiring instructions not readily available on today's CPUs. In this article we present three APIs which make it easier to develop nonblocking implementations of arbitrary data structures. The first API is a multiword compare-and-swap operation (MCAS) which atomically updates a set of memory locations. This can be used to advance a data structure from one consistent state to another. The second API is a word-based software transactional memory (WSTM) which can allow sequential code to be reused more directly than with MCAS and which provides better scalability when locations are being read rather than being updated. The third API is an object-based software transactional memory (OSTM). OSTM allows a simpler implementation than WSTM, but at the cost of reengineering the code to use OSTM objects. We present practical implementations of all three of these APIs, built from operations available across all of today's major CPU families. We illustrate the use of these APIs by using them to build highly concurrent skip lists and red-black trees. We compare the performance of the resulting implementations against one another and against high-performance lock-based systems. These results demonstrate that it is possible to build useful nonblocking data structures with performance comparable to, or better than, sophisticated lock-based designs." @default.
- W2034963261 created "2016-06-24" @default.
- W2034963261 creator A5017124490 @default.
- W2034963261 creator A5018504427 @default.
- W2034963261 date "2007-05-01" @default.
- W2034963261 modified "2023-09-26" @default.
- W2034963261 title "Concurrent programming without locks" @default.
- W2034963261 cites W1495128589 @default.
- W2034963261 cites W1523021320 @default.
- W2034963261 cites W1542975293 @default.
- W2034963261 cites W1554388936 @default.
- W2034963261 cites W1964252984 @default.
- W2034963261 cites W1971544679 @default.
- W2034963261 cites W1974122097 @default.
- W2034963261 cites W1977692753 @default.
- W2034963261 cites W1978280181 @default.
- W2034963261 cites W1988800505 @default.
- W2034963261 cites W1996931099 @default.
- W2034963261 cites W2001738739 @default.
- W2034963261 cites W2029881550 @default.
- W2034963261 cites W2031348459 @default.
- W2034963261 cites W2034485694 @default.
- W2034963261 cites W2056472034 @default.
- W2034963261 cites W2065453668 @default.
- W2034963261 cites W2073256416 @default.
- W2034963261 cites W2092911542 @default.
- W2034963261 cites W2094175977 @default.
- W2034963261 cites W2099537990 @default.
- W2034963261 cites W2101939036 @default.
- W2034963261 cites W2105055683 @default.
- W2034963261 cites W2107079306 @default.
- W2034963261 cites W2113751407 @default.
- W2034963261 cites W2119964141 @default.
- W2034963261 cites W2127976210 @default.
- W2034963261 cites W2129990308 @default.
- W2034963261 cites W2133386065 @default.
- W2034963261 cites W2154830615 @default.
- W2034963261 cites W2169000705 @default.
- W2034963261 cites W2170888911 @default.
- W2034963261 cites W2431458507 @default.
- W2034963261 cites W4234703016 @default.
- W2034963261 cites W4242949098 @default.
- W2034963261 cites W4251385044 @default.
- W2034963261 doi "https://doi.org/10.1145/1233307.1233309" @default.
- W2034963261 hasPublicationYear "2007" @default.
- W2034963261 type Work @default.
- W2034963261 sameAs 2034963261 @default.
- W2034963261 citedByCount "241" @default.
- W2034963261 countsByYear W20349632612012 @default.
- W2034963261 countsByYear W20349632612013 @default.
- W2034963261 countsByYear W20349632612014 @default.
- W2034963261 countsByYear W20349632612015 @default.
- W2034963261 countsByYear W20349632612016 @default.
- W2034963261 countsByYear W20349632612017 @default.
- W2034963261 countsByYear W20349632612018 @default.
- W2034963261 countsByYear W20349632612019 @default.
- W2034963261 countsByYear W20349632612020 @default.
- W2034963261 countsByYear W20349632612021 @default.
- W2034963261 countsByYear W20349632612022 @default.
- W2034963261 countsByYear W20349632612023 @default.
- W2034963261 crossrefType "journal-article" @default.
- W2034963261 hasAuthorship W2034963261A5017124490 @default.
- W2034963261 hasAuthorship W2034963261A5018504427 @default.
- W2034963261 hasConcept C111919701 @default.
- W2034963261 hasConcept C120314980 @default.
- W2034963261 hasConcept C127413603 @default.
- W2034963261 hasConcept C134277064 @default.
- W2034963261 hasConcept C162319229 @default.
- W2034963261 hasConcept C167149655 @default.
- W2034963261 hasConcept C174839445 @default.
- W2034963261 hasConcept C193702766 @default.
- W2034963261 hasConcept C199360897 @default.
- W2034963261 hasConcept C203222032 @default.
- W2034963261 hasConcept C26713055 @default.
- W2034963261 hasConcept C41008148 @default.
- W2034963261 hasConcept C48044578 @default.
- W2034963261 hasConcept C52723943 @default.
- W2034963261 hasConcept C56348326 @default.
- W2034963261 hasConcept C75949130 @default.
- W2034963261 hasConcept C78519656 @default.
- W2034963261 hasConcept C84511453 @default.
- W2034963261 hasConceptScore W2034963261C111919701 @default.
- W2034963261 hasConceptScore W2034963261C120314980 @default.
- W2034963261 hasConceptScore W2034963261C127413603 @default.
- W2034963261 hasConceptScore W2034963261C134277064 @default.
- W2034963261 hasConceptScore W2034963261C162319229 @default.
- W2034963261 hasConceptScore W2034963261C167149655 @default.
- W2034963261 hasConceptScore W2034963261C174839445 @default.
- W2034963261 hasConceptScore W2034963261C193702766 @default.
- W2034963261 hasConceptScore W2034963261C199360897 @default.
- W2034963261 hasConceptScore W2034963261C203222032 @default.
- W2034963261 hasConceptScore W2034963261C26713055 @default.
- W2034963261 hasConceptScore W2034963261C41008148 @default.
- W2034963261 hasConceptScore W2034963261C48044578 @default.
- W2034963261 hasConceptScore W2034963261C52723943 @default.
- W2034963261 hasConceptScore W2034963261C56348326 @default.
- W2034963261 hasConceptScore W2034963261C75949130 @default.
- W2034963261 hasConceptScore W2034963261C78519656 @default.