20.01.2014 Views

Master Thesis - ICS

Master Thesis - ICS

Master Thesis - ICS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Computer Science Department<br />

Antonis Misargopoulos<br />

task A, computation for task B, and communication between the processors on which they<br />

reside are coordinated. Such an approach is taken in [82] which describes a compositional<br />

model for predicting lag-time in interactive virtual reality simulations.<br />

3.3 Scheduling via Dynamic Programming<br />

Extensive research has been carried out on the design, implementation and performance<br />

of parallel database systems. Teradata [94], Budda [95], HC186-16 [96], GAMMA [97],<br />

and XPRS [98] are examples of systems that were actually implemented, and many<br />

papers were written on their performance. The performance evaluation of these systems<br />

though is mainly limited to simple queries that involve no more than one or two join<br />

operations. Recent developments in the direction of nonstandard applications, the use of<br />

complex data models, and the availability of high-level interfaces tend to generate<br />

complex queries that may contain larger numbers of joins between relations.<br />

Consequently, the development of execution strategies for the parallel evaluation of<br />

multi-join queries has drawn the attention of the scientific community.<br />

A number of strategies has been proposed [99, 100, 101, 102, 103] and their<br />

performance was evaluated via simulation. However, no comparative experimental<br />

performance evaluation is available. In [93] there is a comparative performance<br />

evaluation of four execution strategies by implementing all of them on the same parallel<br />

database system, PRISMA/DB. Experiments have been done up to 80 processors. The<br />

basic strategy is to first determine an execution schedule with minimum total cost and<br />

then parallelize this schedule with one of the four execution strategies. These strategies,<br />

coming from the literature, are named: Sequential Parallel, Synchronous Execution,<br />

Segmented Right-Deep, and Full Parallel. Based on the experiments clear guidelines are<br />

given when to use which strategy.<br />

One central component of a query optimizer is its search strategy or enumeration<br />

algorithm. The enumeration algorithm of the optimizer determines which plans to<br />

enumerate, and the classic enumeration algorithm is based on Dynamic Programming.<br />

This algorithm was proposed in IBM’s System R project [145], and it is used in most<br />

query optimizers today. System R [145] is the pioneer in the area of optimization of<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!