Skip to Main Content
In a multi-process or multi-thread software trans-actional memory(STM) system, the transactional locking scheme is commonly separated into fine-grained and coarse-grained schemes by protection granularity. In our definition, the protection granularity of fine-grained schemes is varied depending on implementation. Types of protection granularity include per-word, per-object, etc. The coarse-grained scheme is using a global lock for all shared resources. These two types of schemes are preferred under different test environments. The coarse-grained scheme lacks scalability under high contention situation and the fine-grained scheme produces higher overhead than coarse-grained scheme. In this paper, we propose a new type of fine-grained scheme which adds an intermediate locking level. The new scheme separates shared resources into different groups. Groups are organized under the number of executing transactions, and resources are joined to the first accessed transaction group. Thus the overhead of fine-grained scheme is reduced by locking a group of resources. In the experiment of the proposed scheme, the results showed that the new scheme preserves the scalability and reduces the overhead of fine-grained scheme.