Parallel Query Sub-plan Scheduling for Data Platform Node Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data platforms experience poor utilization of execution nodes due to lockstep scheduling, leading to resource stalls when processing small data sets in larger query plans, where only a subset of execution nodes are actively used while others remain idle.

Innovation Solution

Implementing parallel execution of sub-plans using multiple execution nodes by identifying candidate sub-plans that can be efficiently executed on a single node, determining a cost estimate for parallel execution, and distributing these sub-plans across available execution nodes to maximize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If lockstep scheduling is used to process query plans, then execution simplicity is maintained, but execution node utilization deteriorates with idle nodes during small data set processing

Engineering Contradiction:
Improveexecution simplicityVSAvoidexecution node utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The query plan is divided into multiple independent sub-plans that can be executed in parallel. Each sub-plan represents a portion of the overall query that can be processed independently by different execution nodes, enabling parallel execution while maintaining simplicity through structured decomposition of the query into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from sequential execution (single dimension) to parallel execution across multiple execution nodes (adding spatial dimension). By distributing sub-plans across multiple nodes simultaneously, the system exploits the additional dimension of parallel processing to improve utilization without sacrificing execution clarity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If all execution nodes are reserved for each individual sub-plan, then execution control is simplified, but resource efficiency deteriorates due to resource stalls

Engineering Contradiction:
Improveexecution control complexityVSAvoidresource efficiency
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

Instead of allocating all execution nodes to a single sub-plan at a time, the system segments both the query into sub-plans and the execution nodes into multiple workers. This allows multiple sub-plans to be distributed across multiple nodes simultaneously, reducing resource stalls while maintaining manageable control through the segmented structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically assigns sub-plans to execution nodes based on current workload and availability rather than statically reserving nodes for each sub-plan. This dynamic allocation allows execution nodes to be flexibly reused across different sub-plans, improving resource efficiency while maintaining execution control through adaptive scheduling.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If sequential execution of sub-plans is used, then scheduling overhead is reduced, but processing time increases due to lack of parallelism

Engineering Contradiction:
Improvescheduling overheadVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The query is segmented into independent sub-plans that can be executed in parallel by different execution nodes. This segmentation enables simultaneous processing of multiple sub-plans, significantly reducing total processing time while the scheduling overhead remains manageable due to the structured and modular nature of the segmented sub-plans.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By executing multiple sub-plans in parallel across multiple execution nodes, the system ensures continuous useful action throughout the processing period. Instead of nodes sitting idle during sequential execution, all nodes remain actively engaged in processing different sub-plans simultaneously, maximizing resource utilization and reducing overall processing time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11907221B2Scheduling parallel execution of query sub-plans
Publication Date: 2024.02.20 SNOWFLAKE INC
  • US11907221B2 patent drawing
  • US11907221B2 patent drawing
  • US11907221B2 patent drawing

AI summary

Sub-plans are executed in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, various embodiments identify sub-plans (e.g., fragments or portions of one or more child operators) of a root operator in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.