Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Effective Concurrency Control With No False Killing

IP.com Disclosure Number: IPCOM000101215D
Original Publication Date: 1990-Jul-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 2 page(s) / 83K

Publishing Venue

IBM

Related People

Yu, PS: AUTHOR

Abstract

A new concurrency control scheme is described to avoid false killing. Many variations of the locking protocols allow partially executed transactions to force other conflicting transactions to abort. These transactions causing the abort may subsequently get aborted. An effective strategy is proposed to guarantee that transactions only get killed by committing transactions. Many variations of the locking protocols allow partially executed transactions to force other conflicting transactions to abort. For example, wound wait and wait die strategies have been proposed for concurrency control (*). Under the wound wait strategy, the transaction making a lock request is in conflict with another transaction would wait for the lock if it is younger and would wound/abort the other transaction if it is older.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Effective Concurrency Control With No False Killing

       A new concurrency control scheme is described to avoid
false killing.  Many variations of the locking protocols allow
partially executed transactions to force other conflicting
transactions to abort.  These transactions causing the abort may
subsequently get aborted.  An effective strategy is proposed to
guarantee that transactions only get killed by committing
transactions.  Many variations of the locking protocols allow
partially executed transactions to force other conflicting
transactions to abort.  For example, wound wait and wait die
strategies have been proposed for concurrency control (*).  Under the
wound wait strategy, the transaction making a lock request is in
conflict with another transaction would wait for the lock if it is
younger and would wound/abort the other transaction if it is older.
Under the wait-die strategy, the transaction making a lock request is
in conflict with another transaction would wait for the lock if it is
older and would die/abort itself if it is younger.  Since the
transaction causing the abort of other transactions may get aborted
subsequently, the aborts are often not truly necessary. Here we
describe a strategy to avoid this kind of false killing by
introducing a new operation mode, the cripple mode, in addition to
the normal mode.  Under the cripple mode, transaction only holds weak
locks instead of strong locks as in the normal mode. (Assume there is
a lock manger and each data item can be locked in either strong or
weak mode.)  Committing transactions can still kill conflicting
transactions.  Other transactions can only force conflicting
transactions into cripple mode which is non-blocking.  When a
transaction is killed or crippled, transactions previously crippled
by this transaction will be reinstated back to normal mode, if
possible.

      In the following, we will apply this concept to the wound-wait
strategy.  The new strategy would be referred to as t...