Differences
This shows you the differences between two versions of the page.
education:elastic [2009/11/02 13:47] |
education:elastic [2009/11/02 13:47] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Concurrent Applications using Elastic Transactions ====== | ||
+ | |||
+ | **Master project** | ||
+ | |||
+ | In an attempt to make the programming abstraction as general as possible, Software Transactional Memory (STM) often hampers performance. In contrast with STMs, synchronization techniques at the core of a concurrent program that targets a single specific application can be genuinely tuned to enhance concurrency and to | ||
+ | limit contention. | ||
+ | |||
+ | Elastic transactions is 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. | ||
+ | |||
+ | The goal of the project is to implement a real concurrent application using [[http://lpd.epfl.ch/gramoli/php/estm.php|E-STM]], an STM implementing elastic and regular transactions, to enhance concurrency. The task is | ||
+ | * to propose some applications, | ||
+ | * to implement some of them using the transaction API, | ||
+ | * to extend [[http://lpd.epfl.ch/gramoli/php/estm.php|E-STM]] with nesting of elastic transactions inside normal ones, and | ||
+ | * to experiment them on a multicore machine. | ||
+ | |||
+ | |||
+ | |||
+ | **Language:** C | ||
+ | |||
+ | **Responsible:** [[http://lpd.epfl.ch/gramoli|Vincent Gramoli]] | ||
+ | |||
+ | **Project intended for 1 student** | ||