Browse Prior Art Database

Two-Phase Method for Transaction Processing

IP.com Disclosure Number: IPCOM000037344D
Original Publication Date: 1989-Dec-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 4 page(s) / 55K

Publishing Venue

IBM

Related People

Franaszek, PA: AUTHOR [+2]

Abstract

Disclosed is a method for transaction processing in which an I/O phase without concurrency control precedes a run phase with concurrency control but almost always without any I/O, allowing the penalties of high multiprogramming levels in future transaction processing systems to be avoided.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 33% of the total text.

Page 1 of 4

Two-Phase Method for Transaction Processing

Disclosed is a method for transaction processing in which an I/O phase without concurrency control precedes a run phase with concurrency control but almost always without any I/O, allowing the penalties of high multiprogramming levels in future transaction processing systems to be avoided.

Due to the fact that processor instruction times are decreasing much more rapidly than DASD response times, in order to effectively utilize future transaction processing systems, extremely high multi- programming levels will be required. However, analytic and simulation results indicate that the method for concurrency control used in high- end transaction processing systems today, namely dynamic locking, quickly results in a bottleneck as the multiprogramming level increases [1].

As described in [1], alternatives to dynamic locking that do not reach a bottleneck are possible by using concurrency control methods that either satisfy or approximate an essential blocking property. This property states that a transaction is made to wait or restart only when it conflicts with a transaction that is currently running and that will subsequently commit without waiting or restarting. Unfortunately, all known dynamic methods that satisfy or approximate this property result in a significant amount of wasted work, that is, work done by transactions that are subsequently restarted. For example, using optimistic methods (which satisfy the essential blocking property), if the multiprogramming level is N, in the limit the amount of wasted work will be proportional to N whereas the amount of useful work (work done by transactions that commit without being restarted) will be proportional only to log(N).

The problem solved by the method disclosed here is that of designing a transaction processing system using very high MIPS processors but with I/O devices that have response times roughly comparable to those of today, in such a fashion that the bottleneck under high multiprogramming levels of dynamic locking is avoided with only a small bounded amount of wasted work.

The basic idea is to separate much of the work done by the system in processing a typical transaction into two phases, an I/O phase (which brings into shared memory much or all of the required data and determines most or all of the locks required), followed by a run phase. Transactions in the I/O phase will run in simulation mode (see below). Due to the I/O phase, the run phase will be more efficient, and the number of concurrent transactions in the run phase will be greatly reduced. A hardware structure, as shown in Fig. 1, is assumed, in which there is a large shared high-speed memory or cache (partly or completely non- volatile), accessible by all processors in the system.

Several levels of optimization are possible for the type of transaction processing scheme disclosed here, each suited for a particular range of the level of concurrency N. First, the simpl...