Advanced Concurrency Control for Transactional Memory Using Transaction Commit Rate

Author(s):  
Mohammad Ansari ◽  
Christos Kotselidis ◽  
Kim Jarvis ◽  
Mikel Luján ◽  
Chris Kirkham ◽  
...  
2013 ◽  
Vol 38 (2) ◽  
pp. 111-122
Author(s):  
Aurel Paulovič ◽  
Peter Lacko

AbstractTransactional memory is a rather novel approach to concurrency control in parallel computing, that has just recently found its way into distributed systems research. However, the research concentrates mainly on single processor solutions or cluster environment. In this paper we argue, that peer-to-peer systems would require a different design of transactional memory because of the increased failure-rate of nodes, slower network and possibility of network splits. We also present a few of our design ideas, namely increased performance and fault tolerance through the use of higher-level conflict detection and resolution via abstract data types and eventually consistency, that as we think could be important to a successful implementation of a scalable and resilient transactional memory.


Author(s):  
Rup Kamal ◽  
Ryan Saptarshi Ray ◽  
Utpal Kumar Ray ◽  
Parama Bhaumik

The past few years have marked the start of a historic transition from sequential to parallel computation. The necessity to write parallel programs is increasing as systems are getting more complex while processor speed increases are slowing down. Current parallel programming uses low-level programming constructs like threads and explicit synchronization using locks to coordinate thread execution. Parallel programs written with these constructs are difficult to design, program and debug. Also locks have many drawbacks which make them a suboptimal solution. One such drawback is that locks should be only used to enclose the critical section of the parallel-processing code. If locks are used to enclose the entire code then the performance of the code drastically decreases. Software Transactional Memory (STM) is a promising new approach to programming shared-memory parallel processors. It is a concurrency control mechanism that is widely considered to be easier to use by programmers than locking. It allows portions of a program to execute in isolation, without regard to other, concurrently executing tasks. A programmer can reason about the correctness of code within a transaction and need not worry about complex interactions with other, concurrently executing parts of the program. If STM is used to enclose the entire code then the performance of the code is the same as that of the code in which STM is used to enclose the critical section only and is far better than code in which locks have been used to enclose the entire code. So STM is easier to use than locks as critical section does not need to be identified in case of STM. This paper shows the concept of writing code using Software Transactional Memory (STM) and the performance comparison of codes using locks with those using STM. It also shows why the use of STM in parallel-processing code is better than the use of locks.


2010 ◽  
Vol 39 (3) ◽  
pp. 375-396 ◽  
Author(s):  
Enrique Vallejo ◽  
Sutirtha Sanyal ◽  
Tim Harris ◽  
Fernando Vallejo ◽  
Ramón Beivide ◽  
...  

2015 ◽  
Vol 40 (4) ◽  
pp. 317-335
Author(s):  
Konrad Siek ◽  
Paweł T. Wojciechowski

Abstract Transactional Memory (TM) is an alternative way of synchronizing concurrent accesses to shared memory by adopting the abstraction of transactions in place of low-level mechanisms like locks and barriers. TMs usually apply optimistic concurrency control to provide a universal and easy-to-use method of maintaining correctness. However, this approach performs a high number of aborts in high contention workloads, which can adversely affect performance. Optimistic TMs can cause problems when transactions contain irrevocable operations. Hence, pessimistic TMs were proposed to solve some of these problems. However, an important way of achieving efficiency in pessimistic TMs is to use early release. On the other hand, early release is seemingly at odds with opacity, the gold standard of TM safety properties, which does not allow transactions to make their state visible until they commit. In this paper we propose a proof technique that makes it possible to demonstrate that a TM with early release can be opaque as long as it prevents inconsistent views.


Sign in / Sign up

Export Citation Format

Share Document