AU2001227533A1 - Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations - Google Patents

Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations

Info

Publication number
AU2001227533A1
AU2001227533A1 AU2001227533A AU2753301A AU2001227533A1 AU 2001227533 A1 AU2001227533 A1 AU 2001227533A1 AU 2001227533 A AU2001227533 A AU 2001227533A AU 2753301 A AU2753301 A AU 2753301A AU 2001227533 A1 AU2001227533 A1 AU 2001227533A1
Authority
AU
Australia
Prior art keywords
andremove
operations
double
contiguous array
blocking insert
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
AU2001227533A
Inventor
Ole Agesen
David L. Detlefs
Christine H. Flood
Alexander T. Garthwaite
Paul A. Martin
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
Priority claimed from US09/547,288 external-priority patent/US7539849B1/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of AU2001227533A1 publication Critical patent/AU2001227533A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
AU2001227533A 2000-01-20 2001-01-02 Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations Abandoned AU2001227533A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17708900P 2000-01-20 2000-01-20
US60177089 2000-01-20
US09/547,288 US7539849B1 (en) 2000-01-20 2000-04-11 Maintaining a double-ended queue in a contiguous array with concurrent non-blocking insert and remove operations using a double compare-and-swap primitive
US09547288 2000-04-11
PCT/US2001/000042 WO2001053942A2 (en) 2000-01-20 2001-01-02 Double-ended queue with concurrent non-blocking insert and remove operations

Publications (1)

Publication Number Publication Date
AU2001227533A1 true AU2001227533A1 (en) 2001-07-31

Family

ID=26872912

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2001227533A Abandoned AU2001227533A1 (en) 2000-01-20 2001-01-02 Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations

Country Status (2)

Country Link
AU (1) AU2001227533A1 (en)
WO (1) WO2001053942A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299242B2 (en) 2001-01-12 2007-11-20 Sun Microsystems, Inc. Single-word lock-free reference counting
US7769791B2 (en) 2001-01-12 2010-08-03 Oracle America, Inc. Lightweight reference counting using single-target synchronization
US7836228B1 (en) 2004-06-18 2010-11-16 Oracle America, Inc. Scalable and lock-free first-in-first-out queue implementation
AU2003205092A1 (en) 2002-01-11 2003-07-30 Sun Microsystems, Inc. Value recycling facility for multithreaded computations
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
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
US7293143B1 (en) 2002-09-24 2007-11-06 Sun Microsystems, Inc. Efficient non-blocking k-compare-single-swap operation
US7814488B1 (en) 2002-09-24 2010-10-12 Oracle America, Inc. Quickly reacquirable locks
US7424477B1 (en) 2003-09-03 2008-09-09 Sun Microsystems, Inc. Shared synchronized skip-list data structure and technique employing linearizable operations
US10049127B1 (en) 2003-12-19 2018-08-14 Oracle America, Inc. Meta-transactional synchronization
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
US7395382B1 (en) 2004-08-10 2008-07-01 Sun Microsystems, Inc. Hybrid software/hardware transactional memory
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
US7680986B1 (en) 2004-12-30 2010-03-16 Sun Microsystems, Inc. Practical implementation of arbitrary-sized LL/SC variables
US7533221B1 (en) 2004-12-30 2009-05-12 Sun Microsystems, Inc. Space-adaptive lock-free free-list using pointer-sized single-target synchronization
US7577798B1 (en) 2004-12-30 2009-08-18 Sun Microsystems, Inc. Space-adaptive lock-free queue using pointer-sized single-target synchronization
CN101290589B (en) * 2007-12-27 2010-06-16 华为技术有限公司 Parallel instruction operation method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
WO2001053942A2 (en) 2001-07-26
WO2001053942A3 (en) 2002-05-30

Similar Documents

Publication Publication Date Title
AU2001227533A1 (en) Double-ended queue in a contiguous array with concurrent non-blocking insert andremove operations
AU2001227534A1 (en) Double-ended queue with concurrent non-blocking insert and remove operations
AU2001289140A1 (en) Buffer to multiple memory interface
AU2001246799A1 (en) Storage virtualization in a storage area network
AU2001233165A1 (en) Uterine sampler
AU2001236302A1 (en) Packet scheduling in umts using several calculated transfer rates
AU2001273532A1 (en) Injection molded pliers with insert molded dual purpose reinforcing and implement structure
GB2377065B (en) Port packet queuing
AU4899301A (en) A method and an arrangement for managing packet queues in switches
AU2002215741A1 (en) Semen storage
AU2001250456A1 (en) Pipette with tip ejector
AU2002211788A1 (en) Rapid configuration verification in a multi-component system
EP1188729A3 (en) Composite with platelet-reinforced alumina matrix
AU2001276053A1 (en) Model-view-controller-client architecture for use in a distributed data softwareapplication
TW441437U (en) Improved structure for fast wrench with dual purposes in forward/backward directions
GB0009014D0 (en) Content store management
GB0005295D0 (en) Cut with ease
GB2365585B (en) Unified buffer for tracking disparate long-latency operations in a microprocessr
TW435314U (en) Parallel pincer with dual claws
TW435621U (en) Fastener with wedge shape
AU2001238658A1 (en) Crossconnect switch with large array size and high bitrate using wideband switchtechnology
GB9914872D0 (en) Pliers with parallel jaws
PL110373U1 (en) Throttle blade holding shape
TW388317U (en) Clamp pliers with double head structure
TW395313U (en) Improvement in wrench structure