AU2001259089A1 - Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value - Google Patents

Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value

Info

Publication number
AU2001259089A1
AU2001259089A1 AU2001259089A AU5908901A AU2001259089A1 AU 2001259089 A1 AU2001259089 A1 AU 2001259089A1 AU 2001259089 A AU2001259089 A AU 2001259089A AU 5908901 A AU5908901 A AU 5908901A AU 2001259089 A1 AU2001259089 A1 AU 2001259089A1
Authority
AU
Australia
Prior art keywords
lock
pointer value
shared object
dynamic node
node allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2001259089A
Inventor
David L. Detlefs
Alexander T. Garthwaite
Paul A. Martin
Mark S. Moir
Nir N. Shavit
Guy L. Steele Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26948732&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=AU2001259089(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of AU2001259089A1 publication Critical patent/AU2001259089A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
AU2001259089A 2000-04-18 2001-04-18 Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value Abandoned AU2001259089A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US55131100A 2000-04-18 2000-04-18
US09551311 2000-04-18
US26163301P 2001-01-12 2001-01-12
US60261633 2001-01-12
PCT/US2001/012609 WO2001082057A2 (en) 2000-04-18 2001-04-18 Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value

Publications (1)

Publication Number Publication Date
AU2001259089A1 true AU2001259089A1 (en) 2001-11-07

Family

ID=26948732

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2001259089A Abandoned AU2001259089A1 (en) 2000-04-18 2001-04-18 Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value

Country Status (3)

Country Link
US (1) US6826757B2 (en)
AU (1) AU2001259089A1 (en)
WO (1) WO2001082057A2 (en)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779020B2 (en) * 2002-03-01 2010-08-17 International Business Machines Corporation Small-footprint applicative query interpreter method, system and program product
US6993770B1 (en) 2001-01-12 2006-01-31 Sun Microsystems, Inc. Lock free reference counting
US7769791B2 (en) * 2001-01-12 2010-08-03 Oracle America, Inc. Lightweight reference counting using single-target synchronization
US7299242B2 (en) 2001-01-12 2007-11-20 Sun Microsystems, Inc. Single-word lock-free reference counting
US7076629B2 (en) * 2001-12-26 2006-07-11 Bonola Thomas J Method for providing concurrent non-blocking heap memory management for fixed sized blocks
US6785078B2 (en) * 2002-01-04 2004-08-31 International Business Machines Corporation Concurrent read and write access to simulated sequential data of a removable random access data storage medium
AU2003207526A1 (en) * 2002-01-11 2003-07-30 Sun Microsystems, Inc. Lock-free implementation of dynamic-sized shared data structure
US7836228B1 (en) 2004-06-18 2010-11-16 Oracle America, Inc. Scalable and lock-free first-in-first-out queue implementation
US7779165B2 (en) * 2002-01-11 2010-08-17 Oracle America, Inc. Scalable method for producer and consumer elimination
US9052944B2 (en) 2002-07-16 2015-06-09 Oracle America, Inc. Obstruction-free data structures and mechanisms with separable and/or substitutable contention management mechanisms
US7685583B2 (en) 2002-07-16 2010-03-23 Sun Microsystems, Inc. Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory
US7814488B1 (en) 2002-09-24 2010-10-12 Oracle America, Inc. Quickly reacquirable locks
US7293143B1 (en) 2002-09-24 2007-11-06 Sun Microsystems, Inc. Efficient non-blocking k-compare-single-swap operation
US7039664B2 (en) * 2002-12-04 2006-05-02 Sun Microsystems, Inc. Combining entries in a card object table
US7136887B2 (en) * 2002-12-04 2006-11-14 Sun Microsystems, Inc. Method and mechanism for finding references in a card in time linear in the size of the card in a garbage-collected heap
US6965905B2 (en) * 2002-12-20 2005-11-15 Sun Microsystems, Inc. Lock-free, parallel remembered sets
US7058670B2 (en) * 2002-12-20 2006-06-06 Sun Microsystems, Inc. Scalable, space-efficient, parallel remembered-sets
US20040181562A1 (en) * 2003-03-13 2004-09-16 Piotr Findeisen System and method for determining deallocatable memory in a heap
US7213244B2 (en) * 2003-03-13 2007-05-01 International Business Machines Corporation Apparatus and method for distribution of work on a doubly linked list among processing threads
US7308448B1 (en) * 2003-03-21 2007-12-11 Sun Microsystems, Inc Method and apparatus for implementing a lock-free skip list that supports concurrent accesses
US7225439B2 (en) * 2003-03-21 2007-05-29 Sun Microsystems, Inc. Combining write-barriers within an inner loop with fixed step
US7328438B2 (en) * 2003-03-27 2008-02-05 International Business Machines Corporation Deallocation of computer data in a multithreaded computer
US7424477B1 (en) 2003-09-03 2008-09-09 Sun Microsystems, Inc. Shared synchronized skip-list data structure and technique employing linearizable operations
US7412580B1 (en) 2003-10-06 2008-08-12 Sun Microsystems, Inc. Concurrent incremental garbage collector with a card table summarizing modified reference locations
US8549043B2 (en) 2003-10-13 2013-10-01 Intel Corporation Concurrent insertion of elements into data structures
US10049127B1 (en) 2003-12-19 2018-08-14 Oracle America, Inc. Meta-transactional synchronization
US7533138B1 (en) * 2004-04-07 2009-05-12 Sun Microsystems, Inc. Practical lock-free doubly-linked list
US7389291B1 (en) * 2004-06-15 2008-06-17 Sun Microsystems, Inc. Implementing optimistic concurrent data structures
US7219198B2 (en) * 2004-06-22 2007-05-15 International Business Machines Corporation Facilitating communication within shared memory environments using lock-free queues
US7451146B2 (en) * 2004-06-30 2008-11-11 Hewlett-Packard Development Company, L.P. Almost non-blocking linked stack implementation
US7703098B1 (en) 2004-07-20 2010-04-20 Sun Microsystems, Inc. Technique to allow a first transaction to wait on condition that affects its working set
US8074030B1 (en) 2004-07-20 2011-12-06 Oracle America, Inc. Using transactional memory with early release to implement non-blocking dynamic-sized data structure
US7779222B1 (en) * 2004-07-23 2010-08-17 Oracle America, Inc. Dynamic memory work-stealing
US7921407B2 (en) * 2004-08-10 2011-04-05 Oracle America, Inc. System and method for supporting multiple alternative methods for executing transactions
US7395382B1 (en) 2004-08-10 2008-07-01 Sun Microsystems, Inc. Hybrid software/hardware transactional memory
US7770172B2 (en) * 2004-09-01 2010-08-03 Microsoft Corporation Conditional variables without spinlocks
US7272695B1 (en) 2004-09-13 2007-09-18 Sun Microsystems, Inc. Hot-card caching to avoid excessive remembered-set updating
US7363438B1 (en) * 2004-11-05 2008-04-22 Sun Microsystems, Inc. Extendable memory work-stealing
US7376867B1 (en) * 2004-12-08 2008-05-20 Hewlett-Packard Development Company, L.P. Method of seeking consensus among computer processes
US7711909B1 (en) 2004-12-09 2010-05-04 Oracle America, Inc. Read sharing using global conflict indication and semi-transparent reading in a transactional memory space
US7313566B1 (en) 2004-12-23 2007-12-25 Sun Microsystems, Inc. Method and apparatus for isolating selected heap objects using a faulting address trap
US7680986B1 (en) 2004-12-30 2010-03-16 Sun Microsystems, Inc. Practical implementation of arbitrary-sized LL/SC variables
US7577798B1 (en) 2004-12-30 2009-08-18 Sun Microsystems, Inc. Space-adaptive lock-free queue using pointer-sized single-target synchronization
US7533221B1 (en) 2004-12-30 2009-05-12 Sun Microsystems, Inc. Space-adaptive lock-free free-list using pointer-sized single-target synchronization
US7882505B2 (en) * 2005-03-25 2011-02-01 Oracle America, Inc. Method and apparatus for switching between per-thread and per-processor resource pools in multi-threaded programs
US7565499B1 (en) 2005-03-28 2009-07-21 Sun Microsystems, Inc. Method and apparatus for recording modified reference locations in garbage-collected heap memory
US7650350B1 (en) 2005-05-18 2010-01-19 Sun Microsystems, Inc. Method and apparatus for concurrently processing remembered sets in a space-incremental garbage collector
WO2006128112A2 (en) * 2005-05-25 2006-11-30 Terracotta, Inc. Clustering server providing virtual machine data sharing
US20070083549A1 (en) * 2005-10-10 2007-04-12 Oracle International Corporation Method and mechanism for providing a caching mechanism for contexts
US7630991B2 (en) * 2005-10-27 2009-12-08 Microsoft Corporation Compiling join patterns using software transactional memories
US7346753B2 (en) * 2005-12-19 2008-03-18 Sun Microsystems, Inc. Dynamic circular work-stealing deque
US7962923B2 (en) * 2005-12-30 2011-06-14 Level 3 Communications, Llc System and method for generating a lock-free dual queue
US9448856B2 (en) * 2005-12-30 2016-09-20 Level 3 Communications, Llc Lock-free dual queue with condition synchronization and time-outs
US7583687B2 (en) * 2006-01-03 2009-09-01 Sun Microsystems, Inc. Lock-free double-ended queue based on a dynamic ring
US7542977B2 (en) * 2006-06-29 2009-06-02 Intel Corporation Transactional memory with automatic object versioning
US7434010B2 (en) * 2006-08-04 2008-10-07 Microsoft Corporation Combined pessimistic and optimisitic concurrency control
US8601456B2 (en) * 2006-08-04 2013-12-03 Microsoft Corporation Software transactional protection of managed pointers
US7895582B2 (en) 2006-08-04 2011-02-22 Microsoft Corporation Facilitating stack read and write operations in a software transactional memory system
US20080040524A1 (en) * 2006-08-14 2008-02-14 Zimmer Vincent J System management mode using transactional memory
US7716192B2 (en) * 2007-05-08 2010-05-11 Microsoft Corporation Concurrent, lock-free object copying
US8117403B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Transactional memory system which employs thread assists using address history tables
US8688920B2 (en) 2007-05-14 2014-04-01 International Business Machines Corporation Computing system with guest code support of transactional memory
US8321637B2 (en) * 2007-05-14 2012-11-27 International Business Machines Corporation Computing system with optimized support for transactional memory
US9009452B2 (en) 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US8095750B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory system with fast processing of common conflicts
US8095741B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
US8006227B2 (en) * 2007-06-01 2011-08-23 Microsoft Corporation Efficiently locating transactional code blocks in a transactional memory system
US8099719B2 (en) 2007-06-19 2012-01-17 Microsoft Corporation Transactional debugger for a transactional memory system and detecting conflicts
US8032870B2 (en) * 2007-06-25 2011-10-04 Microsoft Corporation Transacting accesses via unmanaged pointers
US8196123B2 (en) 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US7941411B2 (en) 2007-06-29 2011-05-10 Microsoft Corporation Memory transaction grouping
CN101290589B (en) * 2007-12-27 2010-06-16 华为技术有限公司 Parallel instruction operation method and device
US20090249356A1 (en) * 2008-03-31 2009-10-01 Xin He Lock-free circular queue in a multiprocessing system
US8607237B2 (en) * 2008-06-02 2013-12-10 Microsoft Corporation Collection with local lists for a multi-processor system
US8887162B2 (en) * 2008-12-17 2014-11-11 Microsoft Corporation Persistent local storage for processor resources
US8566524B2 (en) 2009-08-31 2013-10-22 International Business Machines Corporation Transactional memory system with efficient cache support
US20110113409A1 (en) * 2009-11-10 2011-05-12 Rodrick Evans Symbol capabilities support within elf
US8312457B2 (en) * 2009-12-14 2012-11-13 Microsoft Corporation Maintaining a count for lock-free linked list structures
US8712975B2 (en) * 2011-03-08 2014-04-29 Rackspace Us, Inc. Modification of an object replica
US9043363B2 (en) * 2011-06-03 2015-05-26 Oracle International Corporation System and method for performing memory management using hardware transactions
US8930893B2 (en) * 2012-06-28 2015-01-06 International Business Machines Corporation Initialization safety
US9342512B1 (en) * 2013-03-15 2016-05-17 Tasktop Technologies, Incorporated System and method for repairing data synchronization links
US11029995B2 (en) * 2015-05-14 2021-06-08 Oracle International Corporation Hardware transactional memory-assisted flat combining
US10929054B2 (en) * 2019-06-06 2021-02-23 International Business Machines Corporation Scalable garbage collection
US11507559B2 (en) 2020-05-25 2022-11-22 Hewlett Packard Enterprise Development Lp Object sharing by entities using a data structure
CN112000588A (en) * 2020-07-30 2020-11-27 北京浪潮数据技术有限公司 fifo linked list management method, device, equipment and readable storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3686641A (en) 1970-09-30 1972-08-22 Burroughs Corp Multiprogram digital processing system with interprogram communication
US3886525A (en) 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
US4584640A (en) 1984-06-27 1986-04-22 Motorola, Inc. Method and apparatus for a compare and swap instruction
US5081572A (en) 1988-10-28 1992-01-14 Arnold Michael E Manipulation of time-ordered lists and instructions therefor
US5224215A (en) 1990-07-13 1993-06-29 International Business Machines Corporation Message queue processing among cooperative processors having significant speed differences
US6223335B1 (en) 1998-12-09 2001-04-24 Sun Microsystems, Inc. Platform independent double compare and swap operation
US6526422B1 (en) 2000-05-15 2003-02-25 Sun Microsystems, Inc. Striding-type generation scanning for parallel garbage collection

Also Published As

Publication number Publication date
US6826757B2 (en) 2004-11-30
WO2001082057A3 (en) 2002-05-23
US20010056420A1 (en) 2001-12-27
WO2001082057A2 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
AU2001259089A1 (en) Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
AU2001291306A1 (en) Managing distribution and local execution of computing resources
AU2001289021A1 (en) Lazy compilation of template-generated classes in dynamic compilation execution environments
AU2238801A (en) Dynamic resource allocation system and method
AU2001264088A1 (en) Dynamic bandwidth allocation
DE69722117D1 (en) Uniform memory architecture with dynamic graphics memory allocation
GB2353189B (en) Dynamic allocation of packet data channels
AU2001255271A1 (en) Dynamic reassignment of postal metering device licensing location
EP1402390A4 (en) Method and system for providing static addresses for internet connected devices even if the underlying address is dynamic
AU2002351589A8 (en) Distributed information management schemes for dynamic allocation and de-allocation of bandwidth
GB9827076D0 (en) Computer processor with dynamic setting of latency values for memory access
WO2001020461A8 (en) Dynamic allocation of texture cache memory
AU3151497A (en) Dynamic allocation of data transmission resources
AU2002255451A1 (en) Procaryotic libraries and uses
GB9813592D0 (en) Dynamic memory space allocation
GB2368537B (en) Dynamic damper and dynamic damper-installed racket
AU2001276440A1 (en) Use and cosmetic compositions of starch betainates
AU2001296371A1 (en) Dynamic resource management systems
AU2001297841A1 (en) Computer system for the analysis and design of extrusion devices
AU4495000A (en) Dynamic and scheduled computer telephony resource allocation
AU2001268236A1 (en) Use of aicar and related compounds
GB0024061D0 (en) Dynamic size alteration of memory files
AU6502496A (en) Allocated and dynamic bandwidth management
AU2001239522A1 (en) Dynamic content spreadsheet creation utilizing restricting access
AU2002310473A1 (en) Storing and retrieving of field descriptors in java computing environments