Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
elastic [2010/12/10 10:23]
transactions
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 15: Line 17:
 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. ​
  
-=== Related Publications ===+ε-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) 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).//
elastic.1291972986.txt.gz · Last modified: 2010/12/10 10:23 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