US20120331237A1

Asynchronous Grace-Period Primitives For User-Space Applications

Claim Score by NHIP

Read claim 9, the broadest

Abstract

A technique for implementing user-level read-copy update (RCU) with support for asynchronous grace periods. In an example embodiment, a user-level RCU subsystem is established that executes within threads of a user-level multithreaded application. The multithreaded application may comprise one or more reader threads that read RCU-protected data elements in a shared memory. The multithreaded application may further comprise one or more updater threads that perform updates to the RCU-protected data elements in the shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from the updates. The RCU subsystem may implement two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute the callbacks on behalf of the updaters instead of the updaters performing such work themselves.

US20120331237A1, drawing sheet 1
Sheet 1 of 17

Term

Projected expiry 28 October 2034.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

18 claims: 4 independent, 14 dependent

  1. 9
    Broadest claimClaim Score 38, average(NHIP)A system, comprising:one or more processors;a memory coupled to said one or more processors, said memory including a computer useable medium tangibly embodying at least one program of instructions executable by said processor to perform operations for implementing user-level read-copy update (RCU) with support for asynchronous grace periods, said operations comprising: establishing a user-level RCU subsystem that executes within threads of a user-level multithreaded application;said multithreaded application comprising one or more reader threads that read RCU-protected data elements in a shared memory;said multithreaded application comprising one or more updater threads that perform updates to said RCU-protected data elements in said shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from said updates;and said RCU subsystem comprising two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute said callbacks on behalf of said updaters instead of said updaters performing such work themselves.
  2. 17
    A computer program product, comprising:one or more machine-useable storage media;program instructions provided by said one or more media for programming a data processing platform to perform operations for implementing user-level read-copy update (RCU) with support for asynchronous grace periods, said operations comprising: establishing a user-level RCU subsystem that executes within threads of a user-level multithreaded application;said multithreaded application comprising one or more reader threads that read RCU-protected data elements in a shared memory;said multithreaded application comprising one or more updater threads that perform updates to said RCU-protected data elements in said shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from said updates;and said RCU subsystem comprising two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute said callbacks on behalf of said updaters instead of said updaters performing such work themselves.