Nova Patents
EP2005306B1

Array comparison and swap operations

Abstract

This record has no abstract on file.

EP2005306B1, drawing sheet 1
Sheet 1 of 2

Term

0.5 yearsleft in the term

Expires 30 March 2027.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

11 claims: 3 independent, 8 dependent

  1. 1
    A method for executing a multi-word compare and swap operation conditionally upon the successful acquisition of associated write locks, the method comprising:during a transaction, attempting (225) to acquire a write lock provided by an implementation of a software transactional memory, STM, system for each of a set of memory locations of the STM;characterized in that if (235) a write lock is acquired for each of the memory locations, comparing (230) a current value in each memory location of the set of memory locations to a corresponding expected value for each memory location;if the comparing yields the same, predetermined result for each of the set of memory locations, storing (245) in each memory location a corresponding new value;after storing the new values in the memory locations, committing the transaction;and wherein the STM system stores the new value in the memory locations and commits the transaction without recording the current values of the memory locations in a log and without buffering the new values in a buffer.
  2. 7
    A machine readable medium including instructions which, when executed by a computer system, would cause the computer system to perform all method steps of the method defined by any one of the claims 1-6.
  3. 8
    A system for executing a multi-word compare and swap operation conditionally upon the successful acquisition of associated write locks, the system comprising:a processor (105) ;a memory (115) communicatively coupled to the processor;a software transactional memory (100), STM, system loadable in the memory;and a multi-word compare and swap, MCAS, module loadable in the memory, the MCAS module configured to: during a transaction, attempt (225) to acquire a write lock provided by an implementation of the STM system for each of a set of memory locations of the STM;characterized in that if a write lock is acquired for each of the set of memory locations, to compare (230) a current value in each memory location of the set of memory locations to a corresponding expected value for each memory location;and if the comparing yields the same, predetermined result for each of the set of memory locations, to store (245) in each memory location a corresponding new value;after storing the new values in the memory locations, committing the transaction;and wherein the system is further configured to: store the new values in the memory locations and commit the transaction without recording the current values stored in the memory locations in a log and without buffering the new values in a buffer.