Class PlanSelectionFuseCostBasedV2


  • public class PlanSelectionFuseCostBasedV2
    extends PlanSelection
    This cost-based plan selection algorithm chooses fused operators based on the DAG structure and resulting overall costs. This includes holistic decisions on
    • Materialization points per consumer
    • Sparsity exploitation and operator ordering
    • Decisions on overlapping template types
    • Decisions on multi-aggregates with shared reads
    • Constraints (e.g., memory budgets and block sizes)
    • Field Detail

      • COST_MIN_EPS_NUM_POINTS

        public static final int COST_MIN_EPS_NUM_POINTS
        See Also:
        Constant Field Values
      • COST_PRUNING

        public static boolean COST_PRUNING
      • STRUCTURAL_PRUNING

        public static boolean STRUCTURAL_PRUNING
      • PLAN_CACHING

        public static boolean PLAN_CACHING
    • Constructor Detail

      • PlanSelectionFuseCostBasedV2

        public PlanSelectionFuseCostBasedV2()
    • Method Detail

      • selectPlans

        public void selectPlans​(CPlanMemoTable memo,
                                ArrayList<Hop> roots)
        Description copied from class: PlanSelection
        Given a HOP DAG G, and a set of partial fusions plans P, find the set of optimal, non-conflicting fusion plans P' that applied to G minimizes costs C with P' = \argmin_{p \subseteq P} C(G, p) s.t. Z \vDash p, where Z is a set of constraints such as memory budgets and block size restrictions per fused operator.
        Specified by:
        selectPlans in class PlanSelection
        Parameters:
        memo - partial fusion plans P
        roots - entry points of HOP DAG G