Patent ID: 8954995
Filing Date: 2015-02-10
Classification: G06F

Abstract:
1. A method comprising: in accordance with a determining step, determining whether a single transactional lock or a plurality of transactional locks is to be allocated for an array object based on a size of the array object, the size of the array object being less than a size threshold indicating that the single transactional lock is to be allocated for the array object, the size of the array object being greater than the size threshold indicating that the plurality of transactional locks is to be allocated for the array object; creating, using one or more processors, a first transactional lock for a first portion of the array object in a software transactional memory (STM) system in response to a call from a transaction that accesses the array object; creating a second transactional lock for a second portion of the array object in response to the call from the transaction that accesses the array object and further in response to determining that the plurality of transactional locks is to be allocated for the array object and further in response to a determination that an array of transactional locks has not been created for the array object to permit concurrent access to portions of the array object; and creating a shared shadow copy of the array object that is accessible to a first transaction and a second transaction in a buffered write mode of operation.