Multi-tier Scheduling for Distributed Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling processes across multiple computing devices is complex and inefficient, leading to underutilization of data processing capabilities in large clusters, as existing methods become impractical for thousands of devices due to increased complexity and delays.

Innovation Solution

A multi-tier scheduling approach using virtual clusters, where jobs are assigned to virtual clusters that independently schedule processes on assigned resources, with a resource distributor aggregating requests and building flow graphs to optimize resource allocation, allowing for iterative assignment of high-priority and opportunistic resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single centralized scheduler is used to manage all computing devices, then resource allocation can be optimized globally, but the scheduling complexity and processing delays increase exponentially with the number of devices

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the centralized scheduling system into multiple hierarchical levels: cluster-level schedulers that manage groups of computing devices, and device-level schedulers that manage individual devices. This segmentation reduces the complexity of any single scheduler while maintaining global optimization through coordinated operation across levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the scheduling architecture, transitioning from a flat single-level scheduler to a multi-level hierarchy. This adds temporal and organizational dimensions to resource allocation, allowing local optimization at each level while achieving global optimization through inter-level coordination.

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

2Reliability

If guaranteed processing capability is allocated to each user, then service quality is maintained, but unused capacity cannot be redistributed leading to system underutilization

Engineering Contradiction:
Improveservice guarantee levelVSAvoidsystem utilization rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation where guaranteed capacity and opportunistic capacity are separated. Users receive guaranteed capacity for baseline service quality, while unused capacity is dynamically pooled and redistributed to users with additional demands, allowing the system to adapt to changing workload patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from static guaranteed capacity to a two-tier system with guaranteed capacity and opportunistic capacity. This allows the effective allocation parameters to change based on actual usage patterns while maintaining the reliability guarantee.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If flow graph scheduling is applied to optimize process execution, then scheduling efficiency improves, but the computational complexity becomes infeasible for large numbers of devices

Engineering Contradiction:
Improvescheduling efficiencyVSAvoidcomputation time for scheduling
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the global flow graph into multiple local flow graphs at different hierarchical levels. Each cluster-level scheduler solves a smaller flow graph for its local devices, and device-level schedulers solve even smaller flow graphs for individual devices. This segmentation makes the computational problem tractable while maintaining optimization benefits.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9092266B2Scalable scheduling for distributed data processing
Publication Date: 2015.07.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9092266B2 patent drawing
  • US9092266B2 patent drawing
  • US9092266B2 patent drawing

AI summary

A multi-tier scheduling approach includes a first tier comprising virtual cluster allocators that receive scheduling requests from processes and aggregate those requests and provide them to a second tier, namely a single resource distributor for the entire set of computing devices. The resource distributor, based on the requests from virtual cluster allocators, and also from information received from the computing devices themselves, generates a flow graph to identify an optimal scheduling of the assignment of resources to specific ones of the virtual clusters. Each virtual cluster allocator then, based on the assignment of resources assigned to it by the resource distributor, solves its own flow graph to identify an optimal scheduling of processes on the resources assigned. The scheduling of processes is performed iteratively by initially assigning resources to those processes having a high priority, and then, in subsequent iterations, assigning opportunistic resources to those processes having a lower priority.