Changes between Version 76 and Version 77 of LibrariesUnderConstruction


Ignore:
Timestamp:
Sep 20, 2009, 8:55:37 PM (13 years ago)
Author:
viboes
Comment:

Adding Boost.STM

Legend:

Unmodified
Added
Removed
Modified
  • LibrariesUnderConstruction

    v76 v77  
    786786 * '''Categories:''' [#Containers Containers]
    787787 * '''Description:''' a container mimicking the interface of std::vector except that it provides iterator and reference stability at the expense of losing memory contiguity.
     788
     789---------------------------------------------------------------------------------------------------
     790== Boost.STM  ==
     791 * '''Author(s):''' Justin E. Gottchlich , Vicente J. Botet Escribá
     792 * '''Version:''' 0.1
     793 * '''State:''' work on going
     794 * '''Last upload:''' 2009 Sep 19
     795 * '''Links:''' [http://eces.colorado.edu/~gottschl/tboostSTM/aboutTBoost.STM.html Web Site] [http://eces.colorado.edu/~gottschl/tboostSTM/downloads.html Downloads] [https://svn.boost.org/svn/boost/sandbox/stm Boost Sandbox]
     796 * '''Categories:''' [#ConcurrentProgramming Concurrent Programming]
     797 * '''Description:'''  Transactional memory (TM) is a new parallel programming mechanism that reduces the complexity of parallel programming. TM reduces parallel programming complexity by abstracting away the necessary synchronization mechanisms from the parallel code, allowing the programmer to write parallel applications without worry of deadlocks, livelocks or race conditions.
     798
     799Transactional memory is an active research interest for many academic and industry institutions with many open questions about its behavior.
     800
     801TBoost.STM is a C++ lock-based software transactional memory (STM) library. Our approach to STM is to use only native language semantics while implementing the least intrusive, most type-safe object oriented solution possible.
     802
     803TBoost.STM provides:
     804
     805    * Optimistic concurrency
     806    * ACI transactions
     807          o Atomic: all operations execute or none do
     808          o Consistent: only legal memory states
     809          o Isolated: other txes cannot see until committed
     810    * Language-like atomic transaction macro blocks
     811    * Closed, flattened composable transactions
     812    * Direct and deferred updating run-time policies
     813    * Validation and invalidation conflict detection policies
     814    * Lock-aware transactions
     815    * Programmable contention management, enabling programmers to specify forward progress mechanisms
     816    * Isolated and irrevocable transactions for transactions that must commit (i.e., I/O transactions)
     817
    788818
    789819--------------------------------------------------------------------------------------------------
     
    12641294
    12651295---------------------------------------------------------------------------------------------------
    1266 == STM  ==
    1267  * '''Suggested by:''' Vicente J. Botet Escribá
    1268  * '''Categories:''' [#ConcurrentProgramming Concurrent Programming]
    1269  * '''Description:''' Transactional memory (TM) is a recent parallel programming concept which reduces challenges found in parallel programming. TM offers numerous advantages over other synchronization mechanisms.
    1270 
    1271 
    1272 ---------------------------------------------------------------------------------------------------
    12731296= Abandoned =
    12741297
     
    13141337 * [#Poet Poet]
    13151338 * [#Boost.RendezVous Boost.Rendez-vous]
    1316  * [#STM STM]
     1339 * [#Boost.STM Boost.STM]
    13171340 * [#Boost.Synchro Boost.Synchro]
    13181341 * [#Boost.Task Boost.Task]
     
    14861509 * [#Boost.Reflection Boost.Reflection]
    14871510 * [#SpreadSheet SpreadSheet]
    1488  * [#STM STM]
    1489 
    1490 
     1511 * [#Boost.STM Boost.STM]
     1512
     1513