Research Article

Evolutionary Multiobjective Query Workload Optimization of Cloud Data Warehouses

Algorithm 1

Multiobjective optimization of Cloud database configuration using branch-and-bound.
Input: Set of VM types (VMs), Query workload ( )
Output: A set of pareto-optimal solutions
( ) QP: Query Plan
( ) Q: Queue of QPs
( ) Calculated_value: Multiobjective cost of optimization
( ) S: Set of solutions
( ) for (   to all configurations of (VMs))  do
( )  B_response_time Find_the_best_response_time ( , )
( )  Cheapest_cost Find_the_cheapest_cost ( , )
( )  Heuristic_value Calculate_heuristic_value (B_response_time, Cheapest_cost)
( )  Q = null;
( )    ;
( )  for (Each Query Plan  QP  in the workload ) do
( )    Q.Enqueue QP_in( );
( )    Calculated_value = Calculate_with ( , Q);
( )    if (Calculated_value is worse than  Heuristic_value}) then
( )    Break the loop and start with the next VM configuration;
( )    if ( is empty and the Calculated_value is better than heuristic_value) then
( )    Add ( ) to the solution set of ;
( ) return ;