| Literature DB >> 24963513 |
Shina Panicker1, T V Vijay Kumar2.
Abstract
A distributed query processing strategy, which is a key performance determinant in accessing distributed databases, aims to minimize the total query processing cost. One way to achieve this is by generating efficient distributed query plans that involve fewer sites for processing a query. In the case of distributed relational databases, the number of possible query plans increases exponentially with respect to the number of relations accessed by the query and the number of sites where these relations reside. Consequently, computing optimal distributed query plans becomes a complex problem. This distributed query plan generation (DQPG) problem has already been addressed using single objective genetic algorithm, where the objective is to minimize the total query processing cost comprising the local processing cost (LPC) and the site-to-site communication cost (CC). In this paper, this DQPG problem is formulated and solved as a biobjective optimization problem with the two objectives being minimize total LPC and minimize total CC. These objectives are simultaneously optimized using a multiobjective genetic algorithm NSGA-II. Experimental comparison of the proposed NSGA-II based DQPG algorithm with the single objective genetic algorithm shows that the former performs comparatively better and converges quickly towards optimal solutions for an observed crossover and mutation probability.Entities:
Year: 2014 PMID: 24963513 PMCID: PMC4052109 DOI: 10.1155/2014/628471
Source DB: PubMed Journal: ScientificWorldJournal ISSN: 1537-744X
Figure 1Crowding distance for solution “v” [4].
Algorithm 1NSGA-II based DQPG algorithm.
Figure 2NSGA-II procedure preserving elitism [4].
Figure 3Matrices used for computing fitness [3].
Initial parent population PP.
| [2,1, 5,1] | [3,5, 4,5] |
| [3,3, 1,1] | [3,1, 1,1] |
| [3,3, 3,3] | [3,4, 4,4] |
| [2,4, 1,5] | [2,3, 3,3] |
| [3,1, 1,3] | [2,1, 3,4] |
Nondominated sort on PP.
| Index [ | Population PP |
|
|
|
| Front |
|---|---|---|---|---|---|---|
| [1] | [2,1, 5,1] | 18020000 | 3746700 | [4,10] | 1 | Ŧ2 |
| [2] | [3,3, 1,1] | 6720000 | 6006000 | [4,10] | 1 | Ŧ2 |
| [3] | [3,3, 3,3] | 0 | 4200000 | [2,4, 7,8, 9,10] | — | Ŧ1 |
| [4] | [2,4, 1,5] | 43440000 | 7079333.3 | [10] | 6 | Ŧ3 |
| [5] | [3,1, 1,3] | 14000000 | 2112000 | [1,4, 6,10] | — | Ŧ1 |
| [6] | [3,5, 4,5] | 17020000 | 3847000 | [4,10] | 1 | Ŧ2 |
| [7] | [3,1, 1,1] | 960000 | 6500000 | [4,8, 9,10] | 1 | Ŧ2 |
| [8] | [3,4, 4,4] | 1020000 | 9750000 | [10] | 2 | Ŧ3 |
| [9] | [2,3, 3,3] | 1110000 | 9750000 | [10] | 2 | Ŧ3 |
| [10] | [2,1, 3,4] | 45090000 | 10514000 | — | 9 | Ŧ4 |
Sorted fronts based on TCC and TPC.
|
Query plans sorted on |
Query plans sorted on | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Ŧ1 | 3 | 5 | Ŧ1 | 5 | 3 | ||||
| Ŧ2 | 7 | 2 | 6 | 1 | Ŧ2 | 1 | 6 | 2 | 7 |
| Ŧ3 | 8 | 9 | 4 | Ŧ3 | 4 | 8 | 9 | ||
| Ŧ4 | 10 | Ŧ4 | 10 | ||||||
Results for the objective functions on PP.
| Index [ | Population PP |
|
| Front | Crowding distance (CD) = |
|---|---|---|---|---|---|
| [1] | [2,1, 5,1] | 18020000 | 3746700 | Ŧ2 | ∞ |
| [2] | [3,3, 1,1] | 6720000 | 6006000 | Ŧ2 | 0.672 |
| [3] | [3,3, 3,3] | 0 | 4200000 | Ŧ1 | ∞ |
| [4] | [2,4, 1,5] | 43440000 | 7079333.3 | Ŧ3 | ∞ |
| [5] | [3,1, 1,3] | 14000000 | 2112000 | Ŧ1 | ∞ |
| [6] | [3,5, 4,5] | 17020000 | 3847000 | Ŧ2 | 0.5195 |
| [7] | [3,1, 1,1] | 960000 | 6500000 | Ŧ2 | ∞ |
| [8] | [3,4, 4,4] | 1020000 | 9750000 | Ŧ3 | ∞ |
| [9] | [2,3, 3,3] | 1110000 | 9750000 | Ŧ3 | ∞ |
| [10] | [2,1, 3,4] | 45090000 | 10514000 | Ŧ4 | ∞ |
Selection of query plans using binary tournament selection technique.
| Index | Randomly generated indexes | Tournament between query plans | Front comparison | Query plan selected (lower front or higher CD) |
|---|---|---|---|---|
| [1] | [1] and [4] | [2,1, 5,1] and [2,4, 1,5] | [Ŧ2] and [Ŧ3] | [2,1, 5,1] |
| [2] | [2] and [3] | [3,3, 1,1] and [3,3, 3,3] | [Ŧ2] and [Ŧ1] | [3,3, 3,3] |
| [3] | [3] and [4] | [3,3, 3,3] and [2,4, 1,5] | [Ŧ1] and [Ŧ3] | [3,3, 3,3] |
| [4] | [2] and [6] | [3,3, 1,1] and [3,5, 4,5] | [Ŧ2] and [Ŧ2] | [3,3, 1,1] |
| [5] | [2] and [4] | [3,3, 1,1] and [2,4, 1,5] | [Ŧ2] and [Ŧ3] | [3,3, 1,1] |
| [6] | [1] and [3] | [2,1, 5,1] and [3,3, 3,3] | [Ŧ2] and [Ŧ1] | [3,3, 3,3] |
| [7] | [2] and [5] | [3,3, 1,1] and [3,1, 1,3] | [Ŧ2] and [Ŧ1] | [3,1, 1,3] |
| [8] | [2] and [8] | [3,3, 1,1] and [3,1, 1,3] | [Ŧ2] and [Ŧ3] | [3,3, 1,1] |
| [9] | [7] and [8] | [3,1, 1,1] and [3,1, 1,3] | [Ŧ2] and [Ŧ3] | [3,1, 1,1] |
| [10] | [2] and [9] | [3,3, 1,1] and [2,4, 1,5] | [Ŧ2] and [Ŧ3] | [3,3, 1,1] |
Population CP after crossover and mutation.
| Index | Population after crossover | Population after mutation (CP) |
|---|---|---|
| [1] | [2,1, 1,1] | [2,1, 1,1] |
| [2] | [3,3, 1,1] | [3,3, 1,1] |
| [3] | [3,3, 5,1] | [ |
| [4] | [3,3, 1,1] | [3,3, 1,1] |
| [5] | [3,3, 3,1] | [3,3, 3,1] |
| [6] | [3,3, 3,3] | [3,3, 3,3] |
| [7] | [3,1, 1,3] | [3,1, 1,3] |
| [8] | [3,3, 1,3] | [3,3, 1,3] |
| [9] | [3,1, 3,3] | [3,3, 3,3] |
| [10] | [3,3, 1,1] | [3,3, 1,1] |
Front assignment for query plans in IP.
| Index | Intermediate population IP | TCC | TPC | Front |
|---|---|---|---|---|
| [1] | [2,1, 5,1] | 18020000 | 3747000 | Ŧ2 |
| [2] | [3,3, 1,1] | 6720000 | 6006000 | Ŧ3 |
| [3] | [3,3, 3,3] | 0 | 4200000 | Ŧ1 |
| [4] | [2,4, 1,5] | 43440000 | 7079000 | Ŧ4 |
| [5] | [3,1, 1,3] | 14000000 | 2112000 | Ŧ1 |
| [6] | [3,5, 4,5] | 17020000 | 3847000 | Ŧ2 |
| [7] | [3,1, 1,1] | 960000 | 6500000 | Ŧ2 |
| [8] | [3,1, 1,3] | 1020000 | 9750000 | Ŧ3 |
| [9] | [2,3, 3,3] | 1110000 | 9750000 | Ŧ3 |
| [10] | [2,1, 3,4] | 45090000 | 10514000 | Ŧ5 |
| [11] | [2,1, 1,1] | 990000 | 6500000 | Ŧ2 |
| [12] | [3,3, 1,1] | 6720000 | 6006000 | Ŧ3 |
| [13] | [3,3, 4,1] | 90300000 | 8946000 | Ŧ5 |
| [14] | [3,3, 1,1] | 6720000 | 6006000 | Ŧ3 |
| [15] | [3,3, 3,1] | 2520000 | 4230000 | Ŧ2 |
| [16] | [3,3, 3,3] | 0 | 4200000 | Ŧ1 |
| [17] | [3,1, 1,3] | 14000000 | 2112000 | Ŧ1 |
| [18] | [3,3, 1,3] | 4500000 | 2640000 | Ŧ1 |
| [19] | [3,3, 3,3] | 0 | 4200000 | Ŧ1 |
| [20] | [3,3, 1,1] | 6720000 | 6006000 | Ŧ3 |
Nondominated sorting for query plans in IP.
| Index | Intermediate population IP | Front | Crowding distance |
|---|---|---|---|
| [3] | [3,3, 3,3] | Ŧ1 | |
| [5] | [3,1, 1,3] | Ŧ1 | |
| [16] | [3,3, 3,3] | Ŧ1 | |
| [17] | [3,1, 1,3] | Ŧ1 | |
| [18] | [3,3, 1,3] | Ŧ1 | |
| [19] | [3,3, 3,3] | Ŧ1 | |
| [1] | [2,1, 5,1] | Ŧ2 | ∞ |
| [7] | [3,1, 1,1] | Ŧ2 | ∞ |
| [11] | [2,1, 1,1] | Ŧ2 | ∞ |
| [15] | [3,3, 3,1] | Ŧ2 | 0.4933 |
|
| |||
| [6] | [3,5, 4,5] | Ŧ2 | 0.2292 |
| [2] | [3,3, 1,1] | Ŧ3 | |
| [9] | [2,3, 3,3] | Ŧ3 | |
| [8] | [3,1, 1,3] | Ŧ3 | |
| [12] | [3,3, 1,1] | Ŧ3 | |
| [14] | [3,3, 1,1] | Ŧ3 | |
| [20] | [3,3, 1,1] | Ŧ3 | |
| [4] | [2,4, 1,5] | Ŧ4 | |
| [10] | [2,1, 3,4] | Ŧ5 | |
| [13] | [3,3, 4,1] | Ŧ4 | |
Population PP in the 2nd generation.
| Index | Population PP |
|---|---|
| [1] | [3,3, 3,3] |
| [2] | [3,1, 1,3] |
| [3] | [3,3, 3,3] |
| [4] | [3,1, 1,3] |
| [5] | [3,3, 1,3] |
| [6] | [3,3, 3,3] |
| [7] | [2,1, 5,1] |
| [8] | [3,1, 1,1] |
| [9] | [2,1, 1,1] |
| [10] | [3,3, 3,1] |
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22