Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
elastic [2010/12/10 10:15]
transactions created
elastic [2010/12/10 10:40] (current)
transactions [ε-STM]
Line 1: Line 1:
-=== ε-STM ​==+===== Elastic ​Transactions =====
-ε-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.+
  
-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 state-of-the-art software ​transactional ​memory in various workloads and with a speedup of 36% on averageIt also presents ​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 variant ​of the transactional ​modelUpon conflict detection, an elastic transaction might drop what it did so far within ​separate transaction that immediately commits, and initiate a new transaction which might itself be elastic.
  
-The figure on the right-hand side shows that ε-STM ​multiplies regular ​STM peak performance by factor ​of 4 on an 8-core machine for searching ​and modifying ​216-sized linked list, but, more importantly,​ tolerates contention. Indeed it scales better as the ratio of updating transactions grows and the level of parallelism grows.+ 
 +==== ε-STM ==== 
 +ε-STM ​is the first software transactional memory supporting elastic transactions.  
 +ε-STM implementation is faster than state-of-the-art software transactional memory in various workloads ​and with 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 14: 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. ​
 +
 +ε-STM is created/​maintained by [[http://​lpd.epfl.ch/​gramoli|Vincent Gramoli]].
 +
 +==== C Release ====
 +
 +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]].
 +
 +==== 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]].
 +
 +
 +==== Related Publications ====
 +
 +Felber, P., Gramoli, V., Guerraoui, R. (2009)
 +[[http://​infoscience.epfl.ch/​record/​140819|Elastic Transactions.]]
 +//​Proceedings of the 23rd International Symposum on Distributed Computing (DISC).//
elastic.1291972543.txt.gz · Last modified: 2010/12/10 10:15 by transactions
Trace:
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0