Matches in DBpedia 2016-04 for { <http://dbpedia.org/resource/Double_compare-and-swap> ?p ?o }
Showing triples 1 to 42 of
42
with 100 triples per page.
- Double_compare-and-swap abstract "Double compare-and-swap (DCAS or CAS2) is an atomic primitive proposed to support certain concurrent programming techniques. DCAS takes two not necessarily contiguous memory locations and writes new values into them only if they match pre-supplied \"expected\" values; as such, it is an extension of the much more popular compare-and-swap (CAS) operation.DCAS is sometimes confused with the double-width compare-and-swap (DWCAS) implemented by instructions such as x86 CMPXCHG16B. DCAS, as discussed here, handles two discontiguous memory locations, typically of pointer size, whereas DWCAS handles two adjacent pointer-sized memory locations.In his doctoral thesis, Michael Greenwald recommended adding DCAS to modern hardware, showing it could be used to create easy-to-apply yet efficient software transactional memory (STM). Greenwald points out that an advantage of DCAS vs CAS is that higher-order (multiple item) CASn can be implemented in O(n) with DCAS, but requires O(n log p) time with unary CAS, where p is the number of contending processes.One of the advantages of DCAS is the ability to implement atomic deques (i.e. doubly linked lists) with relative ease.More recently, however, it has been shown that an STM can be implemented with comparable properties using only CAS. In general however, DCAS is not a silver bullet: implementing lock-free and wait-free algorithms using it is typically just as complex and error-prone as for CAS.Motorola at one point included DCAS in the instruction set for its 68k series; however, the slowness of DCAS relative to other primitives (apparently due to cache handling issues) led to its avoidance in practical contexts. As of 2015, DCAS is not natively supported by any widespread CPUs in production.The obvious generalization of DCAS to more than two addresses is sometimes called MCAS (multi-word CAS); MCAS can be implemented by a nestable LL/SC, but such a primitive is not directly available in hardware. MCAS can be implemented in software in terms of DCAS, in various ways. In 2013, Trevor Brown, Faith Ellen, and Eric Ruppert have implemented in software a multi-address LL/SC extension (which they call LLX/SCX) that while being more restrictive than MCAS enabled them, via some automated code generation, to implement one of the best performing concurrent binary search tree (actually a chromatic tree), slightly beating the JDK CAS-based skip list implementation.In general, DCAS can be provided by a more expressive hardware transactional memory. IBM POWER8 provides a working implementation of transactional memory, while the Intel TSX is disabled in current processors due to an erratum. Sun's cancelled Rock processor would have supported it as well.".
- Double_compare-and-swap wikiPageExternalLink 4584640.html.
- Double_compare-and-swap wikiPageID "2057712".
- Double_compare-and-swap wikiPageLength "5691".
- Double_compare-and-swap wikiPageOutDegree "20".
- Double_compare-and-swap wikiPageRevisionID "693928811".
- Double_compare-and-swap wikiPageWikiLink Binary_search_tree.
- Double_compare-and-swap wikiPageWikiLink Category:Concurrency_control.
- Double_compare-and-swap wikiPageWikiLink Chromatic_tree.
- Double_compare-and-swap wikiPageWikiLink Compare-and-swap.
- Double_compare-and-swap wikiPageWikiLink Concurrent_computing.
- Double_compare-and-swap wikiPageWikiLink Double-ended_queue.
- Double_compare-and-swap wikiPageWikiLink Doubly_linked_list.
- Double_compare-and-swap wikiPageWikiLink Java_Development_Kit.
- Double_compare-and-swap wikiPageWikiLink Linearizability.
- Double_compare-and-swap wikiPageWikiLink store-conditional.
- Double_compare-and-swap wikiPageWikiLink Motorola_68000_series.
- Double_compare-and-swap wikiPageWikiLink Non-blocking_algorithm.
- Double_compare-and-swap wikiPageWikiLink POWER8.
- Double_compare-and-swap wikiPageWikiLink Rock_(processor).
- Double_compare-and-swap wikiPageWikiLink Silver_bullet.
- Double_compare-and-swap wikiPageWikiLink Skip_list.
- Double_compare-and-swap wikiPageWikiLink Software_transactional_memory.
- Double_compare-and-swap wikiPageWikiLink Sun_Microsystems.
- Double_compare-and-swap wikiPageWikiLink Transactional_Synchronization_Extensions.
- Double_compare-and-swap wikiPageWikiLink Transactional_memory.
- Double_compare-and-swap wikiPageWikiLinkText "CAS2".
- Double_compare-and-swap wikiPageWikiLinkText "Double compare-and-swap".
- Double_compare-and-swap wikiPageWikiLinkText "double compare-and-swap".
- Double_compare-and-swap wikiPageUsesTemplate Template:Asof.
- Double_compare-and-swap wikiPageUsesTemplate Template:Cite_paper.
- Double_compare-and-swap wikiPageUsesTemplate Template:Citeseerx.
- Double_compare-and-swap wikiPageUsesTemplate Template:Clarify.
- Double_compare-and-swap wikiPageUsesTemplate Template:Comp-sci-stub.
- Double_compare-and-swap subject Category:Concurrency_control.
- Double_compare-and-swap comment "Double compare-and-swap (DCAS or CAS2) is an atomic primitive proposed to support certain concurrent programming techniques. DCAS takes two not necessarily contiguous memory locations and writes new values into them only if they match pre-supplied \"expected\" values; as such, it is an extension of the much more popular compare-and-swap (CAS) operation.DCAS is sometimes confused with the double-width compare-and-swap (DWCAS) implemented by instructions such as x86 CMPXCHG16B.".
- Double_compare-and-swap label "Double compare-and-swap".
- Double_compare-and-swap sameAs Q5299986.
- Double_compare-and-swap sameAs m.06j3h3.
- Double_compare-and-swap sameAs Q5299986.
- Double_compare-and-swap wasDerivedFrom Double_compare-and-swap?oldid=693928811.
- Double_compare-and-swap isPrimaryTopicOf Double_compare-and-swap.