Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
elastic [2010/12/10 10:37] transactions |
elastic [2010/12/10 10:40] transactions [Elastic Transactions] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Elastic Transactions ===== | ===== Elastic Transactions ===== | ||
- | Elastic Transactions are a complementary alternative to traditional transactions, particularly appealing when implementing search structures. Both forms of transactions can safely be combined within the same application. ε-STM implementation is faster than a state-of-the-art software transactional memory in various workloads and with a speedup of 36% on average. It also presents a speedup over lock-based solutions of 89% on average. | + | //Elastic Transactions// are a complementary alternative to traditional transactions, particularly appealing when implementing search structures. Both forms of transactions can safely be combined within the same application. Elastic transactions are a variant of the transactional model. Upon conflict detection, an elastic transaction might drop what it did so far within a separate transaction that immediately commits, and initiate a new transaction which might itself be elastic. |
- | ==== ε-STM ==== | ||
- | ε-STM is the first software transactional memory supporting elastic transactions. Elastic transactions are a variant of the transactional model. Upon conflict detection, an elastic transaction might drop what it did so far within a separate transaction that immediately commits, and initiate a new transaction which might itself be elastic. | ||
+ | ==== ε-STM ==== | ||
+ | ε-STM is the first software transactional memory supporting elastic transactions. | ||
Here is the simple API, ε-STM provides to the user: | Here is the simple API, ε-STM provides to the user: | ||
Line 20: | Line 20: | ||
==== C Release ==== | ==== C Release ==== | ||
- | Here is our word-based version of ε-STM. It is implemented in C. | + | Here is our word-based version of ε-STM, implemented in C. |
* [[http://lpd.epfl.ch/gramoli/doc/sw/estm-0.2.7.tgz|estm-0.2.7]]. | * [[http://lpd.epfl.ch/gramoli/doc/sw/estm-0.2.7.tgz|estm-0.2.7]]. | ||
Line 26: | Line 26: | ||
==== Java Release ==== | ==== Java Release ==== | ||
- | Here is our field-based version of ε-STM, implemented in Java. It requires the Deuce framework. | + | Here is our field-based version of ε-STM, implemented in Java. It requires the Deuce instrumentation framework. |
* [[http://lpd.epfl.ch/gramoli/doc/sw/estm-java-0.2.tgz|estm-java-0.2]]. | * [[http://lpd.epfl.ch/gramoli/doc/sw/estm-java-0.2.tgz|estm-java-0.2]]. |