Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
elastic [2010/12/10 10:33] transactions |
elastic [2010/12/10 10:40] (current) transactions [ε-STM] |
||
---|---|---|---|
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. | ||
+ | ε-STM implementation is faster than a state-of-the-art software transactional memory in various workloads and with a speedup of 36% on average. | ||
Here is the simple API, ε-STM provides to the user: | Here is the simple API, ε-STM provides to the user: | ||
Line 18: | Line 19: | ||
ε-STM is created/maintained by [[http://lpd.epfl.ch/gramoli|Vincent Gramoli]]. | ε-STM is created/maintained by [[http://lpd.epfl.ch/gramoli|Vincent Gramoli]]. | ||
- | ==== 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-c-0.2.7]]. | + | * [[http://lpd.epfl.ch/gramoli/doc/sw/estm-0.2.7.tgz|estm-0.2.7]]. |
- | ==== 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]]. |