Professional Documents
Culture Documents
Simulating Performance of Parallel Database Systems
Simulating Performance of Parallel Database Systems
Julie A. McCann*
Department of computer Science, CITY University,
Northampton Square, LONDON, EC1V 0HB, ENGLAND
jam@cs.city.ac.uk
ABSTRACT
With the introduction of parallelism the measurement and
prediction, of Database system performance, varying the
many design parameters has become a more complex issue.
In this paper we illustrate how simulation techniques can
assist the evaluation process from a design point of view. A
model which simulates DBMS (Database Management
System) sub-query processing performance is presented.
Simulation complexities and turnaround time is improved
using an analytical model. To illustrate this methodology
the design of a transputer based parallel DBMS is
modelled. A number of potential Join algorithms are
simulated and each is compared. Using simulation
techniques, we found that we could quickly and simply
make important design decisions regarding choice of Join
algorithm.
INTRODUCTION
The conventional single processor architecture is, in
performance terms, inadequate to handle today's vast
information processing requirements (Kiessling 88; Hanson
90; Parallelogram 91; Page 92). Applications such as
Decision Support which involve extensive dataset
manipulation are not being fully utilised. The answer is the
database machine and parallelism. Highly parallel database
systems, based on standard general purpose architectures,
are displacing mainframe computers for large database
applications (DeWitt 92), refuting the predicted demise in
1983 (Boral 83).
Parallelism has introduced new and diverse approaches to
architecture and algorithm design. Consequently the
measurement, and more specifically the prediction, of the
effect on performance varying the various design
parameters has become a more complex issue. The major
problem with current DBMS .performance methods is that
* This
Description
fetch a page from the
disk to memory
fetch a tuple from a
page
compare single integer
or single character
compare a character
within a string
output a tuple satisfying
the query condition
start-up the DBMS
initialise
its
data
tables;(Preci_C only)
concatenate the tuples
into one for output.
CPU Coefficient
(sec)
OVERHEAD
variable
static
0.000940
2.740800
0.008460
0.000004
GET PAGE
GET TUPLE
COMPARE ATTRIBUTE
Character
0.000090
Character in a string
0.000005
Integer
0.000050
0.000140
OUTPUT TUPLE
0.036550
SORT TUPLE
0.001200
MERGE CARDINALITY
0.184870
MERGE WIDTH
Table 1 : Preci_C CPU Coefficient Table
Parallel Layer Measurement
The hardware configuration and dynamic DBMS
processing is modelled using a simulation package.
RESULTS
Scale-up measurements were obtained by executing the
Network II.5 simulations for all three Join algorithms. For
each Join, the amount of data input into the system was
increased in steps from 100 pages to 3200 pages, and the
statistics recorded by Network II.5. The amount of
information produced by the simulation package is vast, so
we have decided not to present it in its entirety here.
Instead, summaries of these results are presented
graphically and discussed. The major areas of interest to
the DBMS designer are:
varying response time,
the identification of bottle necks,
hardware utilisation, and
module wait time.
The next few sections present the measurements obtained
from the simulation experiments, bearing in mind the
DBMS designers requirements.
500
H as h
AAAA
AAAAAAAA
AAAA
AAAAAAAA
AAAA
AAAAAAAA
AAAA
AAAAAAAA
AAAA
AAAAAAAA
AAAA
AAAA
AAAA
300
AAAA
AAAAAAAA
AAAA
AAAA
AAAA
L oop
AAAA
AAAAAAAA
AAAA
AAAA
AAAA
AAAAAAAAAAAA
AAAA
AAAA
AAAA
200
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAAAAAA
AAAAAAAAAAAA
AAAA
AAAA
AAAA
100
AAAA
AAAAAAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAAAAAAAAAA
AAAAAAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAAAAAAAAAA
AAAAAAAAAAAA
AAAAAAAAAAAA
400
0
100
200
400
800
1600
3200
number of pages
Response Time
responsetime(sec)
50
0
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
S ort M erge
AAAA
AAAA
AAAA
AAAA
AAAAn es t ed loop
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAAAAAA
AAAAAAAA
AAAAAAAA
AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAA
AAAAH as h
200
sort time
100
50
0
100
800
1600
3200
H as h
120
S o rt M e rg e
100
n e s t e d lo o p
80
60
40
responsetime(sec)
Research has found that using the sort of data flow parallel
architecture we describe here, utilisation figures for
processors can be deceiving. This is because they do not
400
Hardware Utilisation
Module Wait-time
200
number of pages
module
total response
time
150
20
0
m o d u le
We can observe the Merge module has the largest wait time
especially in the Sort Merge join. In the Sort Merge
algorithm the Merge must wait on the relations being
sorted once received. Likewise, the Hash's merge must wait
on all the redistributed tuples to arrive before proceeding
with the merge phase. On the other hand in the Nested
Loop join we observe a smaller wait time because the merge
REFERENCES
CONCLUSION
We describe a general technique which supports the
prediction of database query performance using simulation
techniques. The model consists of two stages. First, a
sequential model of the DBMS is used to obtain various
experimental parameters measured at the elementary
operation level of input, comparison and output. Parallel
database operations are then modelled as networks of
communicating sequential processes, allowing particular
weaknesses and strengths in a given system to be analysed.
We illustrated how simulation modelling provides
substantial insights into proposed database system
architectures using Join processing as an example. The
Joins simulated were variations on the Nested Loop, Sort
Merge and Hash algorithms. Each was simulated and their
respective results examined with regard to response time,
utilisation and wait time. The knowledge gained from these
measures enabled us to confirm that the Hash algorithm
will indeed provide the best performance for non-key Joins
on our particular architecture. We identified that the
bottlenecks associated with the other two algorithms lay in
the amount of data being redistributed over the network,
the inferior Sorting process in the Sort Merge Join and the
great processing requirement of the looping in the Nested
Loop Join. In conclusion we have demonstrated the
methodologys ability to aid the DBMS designer in tuning a
developing parallel database system.
FUTURE
Use of simulation techniques to measure performance has
continued as part of the PRIMA (Parallel Relational
Information Management Architecture) project in City
University. It has been successfully employed to evaluate
migration strategies in File System management (McCann
et al. 93). It is currently being used to aid the