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

Two-Phase Running Priority Method for Transaction Processing

IP.com Disclosure Number: IPCOM000119561D
Original Publication Date: 1991-Feb-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 2 page(s) / 100K

Publishing Venue

IBM

Related People

Franaszek, PA: AUTHOR [+3]

Abstract

Disclosed is a two-phase method for transaction processing such that a running priority method is used for transactions in the first phase, resulting in less wasted work as compared to using simulation (1) or even running in optimistic mode for first-phase transactions.

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

Two-Phase Running Priority Method for Transaction Processing

      Disclosed is a two-phase method for transaction
processing such that a running priority method is used for
transactions in the first phase, resulting in less wasted work as
compared to using simulation (1) or even running in optimistic mode
for first-phase transactions.

      Described in (1) is a two-phase processing method, such that in
the first phase all transactions run to completion in simulation
mode, while in the second phase standard locking is used.  There is a
significant reduction in the frequency of lock conflicts due to the
fact that locks are held for a short time period, since there are no
disk accesses in the second phase.  Furthermore, the waiting time
encountered by a blocked transaction is reduced significantly because
a blocked transaction waits for a short time.

      A possible improvement to the two-phase processing method is to
introduce some form of concurrency control such that transactions
that do not encounter conflicts with each other and with transactions
in the second phase can complete at the end of the first phase of
their execution.  There are many choices for this phase, such as
using an optimistic policy as described in (2).  A transaction in the
first phase is considered to be conflicted if it has been conflicted
by a committing first-phase transaction or a second-phase transaction
has made a lock request which conflicts with the first-phase
transaction.  A performance evaluation of these methods has shown
that two-phase processing can be outperformed by a concurrency
control method which uses an optimistic concurrency control with die
in the first phase and kill in the second phase.  This is due to the
fact that the latter method reduces wasted CPU processing.

      Other alternatives for the first phase of transaction execution
are possible which result in less wasted CPU processing than in an
optimistic method.  One such method is Running Priority (RP) (3),
which is based on standard locking with the following modification:
in the case of a lock conflict the conflicting transaction (the
transaction holding the lock) is restarted if it is blocked.  This
concurrency control method therefore approximates the essential
blocking property, i.e., a transaction can block other transactions
only if it is doing useful work.

      The two-phase RP method can be specified as follows:
1.   Conflicts encountered by transactions in the first phase. A
transaction starts running in the first phase.  If it encounters a
co...