US8745352B2

Optimized approach to parallelize writing to a shared memory resource

Summary by NHIP

Parallel Shared Memory Writing

The method reduces contention by calculating required space for multiple tasks before writing data in parallel to a shared memory resource. Each task updates an expected end marker after acquiring a lock, while associated flags transition from incomplete to complete states.

Claim Score by NHIP

Read claim 10, the broadest

Abstract

Reducing contentions between processes or tasks that are trying to access shared resources is described herein. According to embodiments of the invention, a method of writing a set of data associated with a task to a memory resource is provided. The method includes calculating the amount of memory required to write said data to the memory resource and updating an expected end marker to reflect the amount of memory required to write the data to the memory resource. A flag is then set to an incomplete state, and the data is written to the memory resource. The flag can be set to a complete state and an end marker is updated. The end marker indicates the end of the data stored in the memory resource.

US8745352B2, drawing sheet 1
Sheet 1 of 26

Term

6.3 yearsleft in the term

Expires 8 January 2033, including 375 days of term adjustment.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

22 claims: 4 independent, 18 dependent

  1. 1
    A method of reducing contention between a plurality of tasks attempting to simultaneously write data to a memory resource in a computer system, wherein the memory resource includes an end marker that indicates an end of data stored in the memory resource, the method comprising:calculating space required in the memory resource to write a first set of data associated with a first task;updating an expected end marker to reflect space required to store the first set of data;calculating space required in the memory resource to write a second set of data associated with a second task;updating the expected end marker to reflect space required to store the second set of data;writing the first and second sets of data to the memory resource in parallel;and updating the end marker.
  2. 10
    Broadest claimClaim Score 73, broad(NHIP)A method of writing a set of data associated with a task to a memory resource, said method comprising:calculating an amount of memory required to write the set of data to the memory resource;updating an expected end marker to reflect the amount of memory required to write the set of data to the memory resource;setting a flag to an incomplete state;writing the set of data to the memory resource;setting the flag to a complete state;and updating an end marker, the end marker indicating an end of the set of data stored in the memory resource.
  3. 15
    A computer readable medium containing instructions that, when executed by a computer, cause the computer to:calculate an amount of memory required to write a set of data associated with a task to a memory resource;update an expected end marker to reflect the amount of memory required to write the set of data to the memory resource;set a flag to an incomplete state;write the set of data to the memory resource;set the flag to a complete state;and update an end marker, the end marker indicating the end of the data stored in the memory resource.
  4. 19
    A computer system comprising:a memory resource;and a processor, wherein said processor is configured to: calculate an amount of memory required to write a set of data associated with a task to a memory resource;update an expected end marker to reflect the amount of memory required to write the set of data to the memory resource;set a flag to an incomplete state;write the set of data to the memory resource;set the flag to a complete state;and update an end marker, the end marker indicating an end of the set of data stored in the memory resource.