« PreviousContinue »
United States Patent [w]
Hallmark et al.
US005857180A [ii] Patent Number:  Date of Patent:
 METHOD AND APPARATUS FOR
IMPLEMENTING PARALLEL OPERATIONS
IN A DATABASE MANAGEMENT SYSTEM
 Inventors: Gary Hallmark, San Jose; Daniel
Leary, Half Moon Bay, both of Calif.
 Assignee: Oracle Corporation, Redwood Shores, Calif.
Hirano et al, Load Balancing Algorithm for Parallel Processing on Shared Memory Multiprocessor, IEEE, pp. 210-217, 1991.
Hong et al., "Optimization of Parallel Query Execution Plans in XPRS," Proceedings of the First International Conference on Parallel and Distributed Information Systems, IEEE, 1991, pp. 218-225.
(List continued on next page.)
 Appl. No.: 898,080
 Filed: Jul. 21, 1997
Related U.S. Application Data
 Continuation of Ser. No. 441,527, May 15, 1995, abandoned, which is a continuation of Ser. No. 127,585, Sep. 27, 1993, abandoned.
 Int. CI.6 G06F 17/30
 U.S. CI 707/2; 707/3; 707/4; 707/5
 Field of Search 395/602, 603,
395/604, 605; 707/2, 3, 4, 5
 References Cited
U.S. PATENT DOCUMENTS
4,769,772 9/1988 Dwyer 364/300
4,829,427 5/1989 Green 364/300
5,091,852 2/1992 Tsuchida et al 395/600
5,325,525 6/1994 Shan et al 395/650
5,339,429 8/1994 Tamaka et al 395/700
5,452,468 9/1995 Peterson 395/800
5,495,419 2/1996 Rostoker et al 364/468
5,495,606 2/1996 Borden et al 395/604
5,551,027 8/1996 Choy et al 395/602
5,574,900 11/1996 Huang et al 395/601
5,590,319 12/1996 Cohen et al 395/604
Hong et al, Optimization of Parallel Query Execution Plans in XPRS, IEEE, pp. 218-225, 1991.
Bergsten et al, Prototyping DBS3 a Shared-Memory Parallel Database System, IEEE, 226-234, 1991.
Primary Examiner—-Thomas G. Black
Assistant Examiner—Frantz Coby
Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
The present invention implements parallel processing in a Database Management System. The present invention provides the ability to locate transaction and recovery information at one location and eliminates the need for read locks and two-phased commits. The present invention provides the ability to dynamically partition row sources for parallel processing. Parallelism is based on the ability to parallelize a row source, the partitioning requirements of consecutive row sources and the entire row source tree, and any specification in the SQL statement. A Query Coordinator assumes control of the processing of a entire query and can execute serial row sources. Additional threads of control, Query Server, execute a parallel operators. Parallel operators are called data flow operators (DFOs). A DFO is represented as structured query language (SQL) statements and can be executed concurrently by multiple processes, or query slaves. A central scheduling mechanism, a data flow scheduler, controls a parallelized portion of an execution plan, and can become invisible for serial execution. Table queues are used to partition and transport rows between sets of processes. Node linkages provide the ability to divide the plan into independent lists that can each be executed by a set of query slaves. The present invention maintains a bit vector that is used by a subsequent producer to determine whether any rows need to be produced to its consumers. The present uses states and a count of the slaves that have reached these states to perform its scheduling tasks.
19 Claims, 36 Drawing Sheets
"An Analysis of Three Transaction Processing Architectures" Anupam Bhide, Computer Science Division, UC Berkeley, 1988, pp. 339-350.
"A Benchmark of NonStop SQL Release 2 Demonstrating Near-Linear Speedup and Scaleup on Large Databases", Susan Englert, et al, Technical Report 89.4, May 1989, pp. 1-23.
"A Benchmark of NonStop SQL on the Debit Credit Transaction", The Tandem Performance Group, 1988, pp. 337-341.
"Data Placement In Bubba", George Copeland, et al., MCC, 1988, pp. 99-108.
"The Design of XPRS", Michael Stonebraker, et al., EECS Department UC Berkeley, 1988, pp. 318-330.
"A Performance Analysis of the Gamma Database Machine", DeWitt, et al., Computer Sciences Department, University of Wisconsin, 1988, pp. 350-360.
"Encapsulation of Parallelism In the Volcano Query Processing System", Goetz Graefe, Computer Science, University of Colorado, Mar., 1990, pp. 102-111.