16 research outputs found
Obtaining Progress Guarantee and GreaterConcurrency in Multi-Version Object Semantics
Software Transactional Memory Systems (STMs) provides ease of multithreading to the programmer withoutworrying about concurrency issues such as deadlock, livelock, priority inversion, etc. Most of the STMs workson read-write operations known as RWSTMs. Some STMs work at high-level operations and ensure greaterconcurrency than RWSTMs. Such STMs are known as Object-Based STMs (OSTMs). The transactions of OSTMscan return commit or abort. Aborted OSTMs transactions retry. But in the current setting of OSTMs, transactionsmay starve. So, we proposed a Starvation-Free OSTM (SF-OSTM) which ensures starvation-freedom whilesatisfying the correctness criteria as opacity.Databases, RWSTMs and OSTMs say that maintaining multiple versions corresponding to each key reduces thenumber of aborts and improves the throughput. So, to achieve the greater concurrency, we proposed Starvation-Free Multi-Version OSTM (SF-MVOSTM) which ensures starvation-freedom while storing multiple versioncorresponding to each key and satisfies the correctness criteria as local opacity. To show the performance benefits,We implemented three variants of SF-MVOSTM and compare its performance with state-of-the-art STM
Multiversion Conflict Notion for Transactional Memory Systems*
In recent years, Software Transactional Memory systems (STMs) have garnered significant interest
as an elegant alternative for addressing concurrency issues in memory. STM systems take optimistic
approach. Multiple transactions are allowed to execute concurrently. On completion, each
transaction is validated and if any inconsistency is observed it is aborted. Otherwise it is allowed to
commit.
In databases a class of histories called as conflict-serializability (CSR) based on the notion of
conflicts have been identified, whose membership can be efficiently verified. As a result, CSR is the
commonly used correctness criterion in databases In fact all known single-version schedulers known
for databases are a subset of CSR. Similarly, using the notion of conflicts, a correctness criterion,
conflict-opacity (co-opacity) which is a sub-class of can be designed whose membership can be
verified in polynomial time. Using the verification mechanism, an efficient STM implementation
can be designed that is permissive w.r.t co-opacity. Further, many STM implementations have been
developed that using the notion of conflicts.
By storing multiple versions for each transaction object, multi-version STMs provide more concurrency
than single-version STMs. But the main drawback of co-opacity is that it does not admit
histories that are uses multiple versions. This has motivated us to develop a new conflict notions for
multi-version STMs. In this paper, we present a new conflict notion multi-version conflict. Using
this conflict notion, we identify a new subclass of opacity, mvc-opacity that admits multi-versioned
histories and whose membership can be verified in polynomial time. We show that co-opacity is a
proper subset of this class.
An important requirement that arises while building a multi-version STM system is to decide
“on the spot” or schedule online among the various versions available, which version should a transaction
read from? Unfortunately this notion of online scheduling can sometimes lead to unnecessary
aborts of transactions if not done carefully. To capture the notion of online scheduling which avoid
unnecessary aborts in STMs, we have identified a new concept ols-permissiveness and is defined
w.r.t a correctness-criterion, similar to permissiveness. We show that it is impossible for a STM system
that is permissive w.r.t opacity to such avoid un-necessary aborts i.e. satisfy ols-permissiveness
w.r.t opacity. We show this result is true for mvc-opacity as well
An Innovative Approach to Achieve Compositionality Efficiently using Multi-Version Object Based Transactional Systems
In the modern era of multicore processors, utilizing cores is a tedious job.
Synchronization and communication among processors involve high cost. Software
transaction memory systems (STMs) addresses this issues and provide better
concurrency in which programmer need not have to worry about consistency
issues. Another advantage of STMs is that they facilitate compositionality of
concurrent programs with great ease. Different concurrent operations that need
to be composed to form a single atomic unit is achieved by encapsulating them
in a single transaction. In this paper, we introduce a new STM system as
multi-version object based STM (MVOSTM) which is the combination of both of
these ideas for harnessing greater concurrency in STMs. As the name suggests
MVOSTM, works on a higher level and maintains multiple versions corresponding
to each key. We have developed MVOSTM with the unlimited number of versions
corresponding to each key. In addition to that, we have developed garbage
collection for MVOSTM (MVOSTM-GC) to delete unwanted versions corresponding to
the keys to reduce traversal overhead. MVOSTM provides greater concurrency
while reducing the number of aborts and it ensures compositionality by making
the transactions atomic. Here, we have used MVOSTM for the list and hash-table
data structure as list-MVOSTM and HT- MVOSTM. Experimental results of
list-MVOSTM outperform almost two to twenty fold speedup than existing
state-of-the-art list based STMs (Trans-list, Boosting-list, NOrec-list,
list-MVTO, and list-OSTM). HT-MVOSTM shows a significant performance gain of
almost two to nineteen times better than existing state-of-the-art hash-table
based STMs (ESTM, RWSTMs, HT-MVTO, and HT-OSTM). MVOSTM with list and
hash-table shows the least number of aborts among all the existing STM
algorithms. MVOSTM satisfies correctness-criteria as opacity.Comment: 35 pages, 23 figure
Achieving Starvation-Freedom with Greater Concurrency in Multi-Version Object-based Transactional Memory Systems
To utilize the multi-core processors properly concurrent programming is
needed. Concurrency control is the main challenge while designing a correct and
efficient concurrent program. Software Transactional Memory Systems (STMs)
provides ease of multithreading to the programmer without worrying about
concurrency issues such as deadlock, livelock, priority inversion, etc. Most of
the STMs works on read-write operations known as RWSTMs. Some STMs work at
high-level operations and ensure greater concurrency than RWSTMs. Such STMs are
known as Object-Based STMs (OSTMs). The transactions of OSTMs can return commit
or abort. Aborted OSTMs transactions retry. But in the current setting of
OSTMs, transactions may starve. So, we proposed a Starvation-Free OSTM
(SF-OSTM) which ensures starvation-freedom in object based STM systems while
satisfying the correctness criteria as co-opacity. Databases, RWSTMs and OSTMs
say that maintaining multiple versions corresponding to each key of transaction
reduces the number of aborts and improves the throughput. So, to achieve
greater concurrency, we proposed Starvation-Free Multi-Version OSTM (SF-MVOSTM)
which ensures starvation-freedom while storing multiple versions corresponding
to each key and satisfies the correctness criteria such as local opacity. To
show the performance benefits, We implemented three variants of SF-MVOSTM
(SF-MVOSTM, SF-MVOSTM-GC and SF-KOSTM) and compared it with state-of-the-art
STMs.Comment: 68 pages, 24 figures. arXiv admin note: text overlap with
arXiv:1709.0103
An Efficient Approach to Achieve Compositionality using Optimized Multi-Version Object Based Transactional Systems
In the modern era of multi-core systems, the main aim is to utilize the cores properly. This utilization can be done by concurrent programming. But developing a flawless and well-organized concurrent program is difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface which assist the programmer to access the shared memory concurrently without worrying about consistency issues such as priority-inversion, deadlock, livelock, etc. Another important feature that STMs facilitate is compositionality of concurrent programs with great ease. It composes different concurrent operations in a single atomic unit by encapsulating them in a transaction. Many STMs available in the literature execute read/write primitive operations on memory buffers. We represent them as Read-Write STMs or RWSTMs. Whereas, there exist some STMs (transactional boosting and its variants) which work on higher level operations such as insert, delete, lookup, etc. on a hash-table. We refer these STMs as Object Based STMs or OSTMs. The literature of databases and RWSTMs say that maintaining multiple versions ensures greater concurrency. This motivates us to maintain multiple version at higher level with object semantics and achieves greater concurrency. So, this paper pro-poses the notion of Optimized Multi-version Object Based STMs or OPT-MVOSTMs which encapsulates the idea of multiple versions in OSTMs to harness the greater concurrency efficiently