Method and apparatus for implementing a lock-free skip list that supports concurrent accesses

a skip list and skip list technology, applied in the direction of multi-programming arrangements, data processing applications, instruments, etc., can solve the problem that the lock-free retention can become a serious impediment to system performan

Active Publication Date: 2007-12-11
ORACLE INT CORP
View PDF9 Cites 17 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0012]One embodiment of the present invention provides a system that supports concurrent accesses to a skip list that is lock-free. The term “lock-free” means that the skip list can be simultaneously accessed by multiple processes without requiring the processes to perform locking operations (non-blocking), and furthermore that a finite number of operations by a thread will guarantee progress by at least one thread (lock-free). During a node deletion operation, the system receives reference to a target node to be deleted from the skip list. The system marks a next pointer in the target node to indicate that the target node is deleted, wherein next pointer contains the address of an immediately following node in the skip list. This marking operation does not destroy the address of the immediately following node, and furthermore, the marking operation is performed atomically and thereby without interference from other processes. The system then atomically modifies the next pointer of an immediately preceding node in the skip list to point to an immediately following node in the skip list, instead of pointing to the target node, thereby splicing the target node out of the skip list.

Problems solved by technology

However, when large numbers of processes access a skip list concurrently, contention for locks can become a serious impediment to system performance.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method and apparatus for implementing a lock-free skip list that supports concurrent accesses
  • Method and apparatus for implementing a lock-free skip list that supports concurrent accesses
  • Method and apparatus for implementing a lock-free skip list that supports concurrent accesses

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0029]The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

[0030]The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and / or data for use by a computer system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs) ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

One embodiment of the present invention provides a system that supports concurrent accesses to a skip list that is lock-free, which means that the skip list can be simultaneously accessed by multiple processes without requiring the processes to perform locking operations. During a node deletion operation, the system receives reference to a target node to be deleted from the skip list. The system marks a next pointer in the target node to indicate that the target node is deleted, wherein next pointer contains the address of an immediately following node in the skip list. This marking operation does not destroy the address of the immediately following node, and furthermore, the marking operation is performed atomically and thereby without interference from other processes. The system then atomically modifies the next pointer of an immediately preceding node in the skip list to point to an immediately following node in the skip list, instead of pointing to the target node, thereby splicing the target node out of the skip list.

Description

RELATED APPLICATION[0001]This application hereby claims priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 60 / 456,792, filed on 21 Mar. 2003, entitled “Practical Lock-Free Skip List,” by inventor Paul A. Martin.BACKGROUND[0002]1. Field of the Invention[0003]The present invention relates to the design of lookup structures within computer systems. More specifically, the present invention relates to a method and apparatus for implementing a lock-free skip list that supports concurrent accesses within a computer system.[0004]2. Related Art[0005]A skip list is a dynamically sized sorted linked list that offers logarithmic time performance for searching, inserting, and deleting elements. William Pugh developed a basic design for a skip list to be used by a single thread (see “A Skip List Cookbook,” by William Pugh, University of Maryland Institute for Advanced Computer Studies UMIACS Technical Report No. UMIACS-TR-89-72.1).[0006]A skip list is neither a single list (...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F7/00G06F3/00
CPCG06F9/52Y10S707/99938
Inventor MARTIN, PAUL A.
Owner ORACLE INT CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products