• Email
  • Like
  • Save
  • Private Content
  • Embed

Using chained transactions for maximum concurrency under load (QCONSF 2010)

by on Nov 05, 2010

  • 2,500 views

My chained transaction talk for handling maximum concurrency in the presence of lock contention like shopping cart checkout.

My chained transaction talk for handling maximum concurrency in the presence of lock contention like shopping cart checkout.

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Statistics

Likes
4
Downloads
44
Comments
4
Embed Views
0
Views on SlideShare
2,500
Total Views
2,500

14 of 4 previous next Post a comment

  • Ivan_Klianev Ivan Klianev, Managing Director & CTO at Transactum Pty Ltd Hello Billy,

    We use chaining to build scalable distributed transactions* and pair it with intra-transaction parallelism. Consider the following architecture for a shopping card with 5 items:

    - BPM engine executes a workflow with 5 parallel streams and each stream performs a 1PC transaction on individual DB shard and a synchronous replication transaction on shard’s backup.
    - Semantic reasons to abort individual transactions are prevented with an invariant, which guarantees the necessary post-execution integrity conditions.

    As a result, there is no need of compensators since there will be no need to abort for semantic reasons and hardware/software/network faults on individual shards will not prevent a transaction from committing on shard’s backup.

    Thus, the availability and partition tolerance are enhanced without trading off the consistency. The price is just 15% deterioration of performance.

    Ivan

    * http://transactum.com/Ivan_Klianev_HPTS_2011.pdf
    1 year ago
    Are you sure you want to
  • cyrille.leclerc Cyrille Le Clerc, Solution Architect at CloudBees Hello Billy,

    Do you have an insight on the availability of ’Chained transactions’ in Websphere eXtreme Scale ? Could it be there for Christmas ?

    Congratulations for WXS, it is really innovative in the IMDG sector. You solved most of the big problems I faced with competing products.

    Cyrille
    2 years ago
    Are you sure you want to
  • StuC Stuart Charlton, Consultant at Jetstream Cirrus Reminds me of itinerary-based routing from the early Sonic ESB days. All the state was kept in the message and it enabled a distributed deployment. This caused early excitement and the creation of WS-Routing by Microsoft and talk of adopting it in Biztalk... but eventually they dropped it as it was felt there were major drawbacks to this approach as a general facility - security being the big one. Having said that there's no question it has beneficial concurrency properties in an orchestration scenario.

    On the other hand, I'm not sure why the flow state doesn't scale when it's it's own database (or set of shards) as long as you ensure downstream updates (of the SKUs) are decoupled and asynchronous. The state embedded in the message just seems like icing on the cake, the real win is in splitting a large footprint transaction into lots of little ones, executing asynchronously, with compensations if a rule is violated. This is basically what some of the better BPM engines do (not naming names ;)
    2 years ago
    Are you sure you want to
  • BillyNewport Billy Newport, Fellow at Goldman Sachs @dehora
    Bill de hOra
    'Slide 20 is fried gold. That one slide captures what's wrong with 99% of workflow systems. plus without getting all actor theoretic.'
    2 years ago
    Are you sure you want to
Post Comment
Edit your comment

Using chained transactions for maximum concurrency under load (QCONSF 2010) Using chained transactions for maximum concurrency under load (QCONSF 2010) Presentation Transcript