Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
elastic [2010/12/10 10:29] transactions |
elastic [2010/12/10 10:38] 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. ε-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. | ||
- | === ε-STM === | + | ==== ε-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 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. | ||
Line 16: | Line 16: | ||
The simplicity of using ε-STM comes from the very few information the programmer has to provide. The programmer has to indicate whether his(her) transaction is normal or elastic and no extra-information (i.e., release action, or on-abort-action) is necessary. | The simplicity of using ε-STM comes from the very few information the programmer has to provide. The programmer has to indicate whether his(her) transaction is normal or elastic and no extra-information (i.e., release action, or on-abort-action) is necessary. | ||
- | == C release == | + | ε-STM is created/maintained by [[http://lpd.epfl.ch/gramoli|Vincent Gramoli]]. |
- | Here is our word-based version of ε-STM. It is implemented in C. | + | ==== C Release ==== |
- | * [[http://lpd.epfl.ch/gramoli/doc/sw/estm-0.2.7.tgz|estm-c-0.2.7]]. | + | Here is our word-based version of ε-STM, implemented in C. |
- | == Java release == | + | * [[http://lpd.epfl.ch/gramoli/doc/sw/estm-0.2.7.tgz|estm-0.2.7]]. |
- | Here is our field-based version of ε-STM, implemented in Java. It requires the Deuce framework. | + | ==== Java Release ==== |
+ | |||
+ | 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]]. | ||
- | === Related Publications === | + | |
+ | ==== Related Publications ==== | ||
Felber, P., Gramoli, V., Guerraoui, R. (2009) | Felber, P., Gramoli, V., Guerraoui, R. (2009) | ||
[[http://infoscience.epfl.ch/record/140819|Elastic Transactions.]] | [[http://infoscience.epfl.ch/record/140819|Elastic Transactions.]] | ||
//Proceedings of the 23rd International Symposum on Distributed Computing (DISC).// | //Proceedings of the 23rd International Symposum on Distributed Computing (DISC).// |