Applying limited-size hardware transactional memory to arbitrarily large data structure

US9529839B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9529839-B2
Application numberUS-63226009-A
CountryUS
Kind codeB2
Filing dateDec 7, 2009
Priority dateDec 7, 2009
Publication dateDec 27, 2016
Grant dateDec 27, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A technique for applying hardware transaction memory to an arbitrarily large data structure is disclosed. A data updater traverses the data structure to locate an update point using a lockless synchronization technique that synchronizes the data updater with other updaters that may be concurrently updating the data structure. At the update point, the updater performs an update on the data structure using a hardware transactional memory transaction that operates at the update point.

First claim

Opening claim text (preview).

What is claimed is: 1. In a data processing system having at least one CPU, a memory operatively coupled to said CPU, said memory including a storage medium tangibly embodying a program of instructions that are executable on said at least one CPU to perform machine-implemented operations, said operations implementing a method for using hardware transactional memory to update a data structure, comprising: a data updater traversing said data structure to locate an update point using a lockless synchronization technique that synchronizes said data updater with other updaters that may be concurrently updating said data structure; said lockless synchronization being selected from the group consisting of (1) a synchronization technique that uses volatile variables and garbage collection, (2) a synchronization technique that uses plural list traversal transactions, or (3) a synchronization technique that uses watch primitives; and upon reaching said update point, said updater performing an update on said data structure using a hardware transactional memory transaction that operates at said update point. 2. A system, comprising: a CPU; a memory operatively coupled to said CPU, said memory tangibly embodying a program of instructions executable by said CPU to perform operations that implement a method for using hardware transactional memory to update a data structure, comprising: a data updater traversing said data structure to locate an update point using a lockless synchronization technique that synchronizes said data updater with other updaters that may be concurrently updating said data structure; said lockless synchronization being selected from the group consisting of (1) a synchronization technique that uses volatile variables and garbage collection, (2) a synchronization technique that uses plural list traversal transactions, or (3) a synchronization technique that uses watch primitives; and upon reaching said update point, said updater performing an update on said data structure using a hardware transactional memory transaction that operates at said update point. 3. A computer program product, comprising: one or more non-transitory computer-readable storage media: program instructions stored on said one or more media for programming a CPU to perform operations that implement a method for using hardware transactional memory to update a data structure, comprising: a data updater traversing said data structure to locate an update point using a lockless synchronization technique that synchronizes said data updater with other updaters that may be concurrently updating said data structure; said lockless synchronization being selected from the group consisting of (1) a synchronization technique that uses volatile variables and garbage collection, (2) a synchronization technique that uses plural list traversal transactions, or (3) a synchronization technique that uses watch primitives: and upon reaching said update point, said updater performing an update on said data structure using a hardware transactional memory transaction that operates at said update point. 4. A machine implemented method for using hardware transactional memory to update a data structure, comprising: a data updater traversing said data structure to locate an update point using a lockless synchronization technique that synchronizes said data updater with other updaters that may be concurrently updating said data structure; upon reaching said update point, said updater performing an update on said data structure using a hardware transactional memory transaction that operates at said update point; and said lockless synchronization uses one or more of (1) volatile variables and garbage collection, (2) plural list traversal transactions, or (3) watch primitives. 5. The method of claim 4 wherein said data structure comprises a linked list and said update comprises inserting, deleting or modifying a list element.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9529839B2 cover?
A technique for applying hardware transaction memory to an arbitrarily large data structure is disclosed. A data updater traverses the data structure to locate an update point using a lockless synchronization technique that synchronizes the data updater with other updaters that may be concurrently updating the data structure. At the update point, the updater performs an update on the data struc…
Who is the assignee on this patent?
Mckenney Paul E, Michael Maged M, IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/2365. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 27 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).