Opportunistic Job Processing Using Underutilized Computing Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computer environments, there is a challenge in efficiently utilizing underutilized computing resources to process jobs with deadlines, while also ensuring that resources are allocated effectively to meet service level agreements.

Innovation Solution

A system is implemented with a global-level manager that accesses work orders from clients, partitions input files and work orders into shards and jobs, and distributes these jobs among clusters using underutilized computing resources. The system monitors processing to ensure deadlines are met and adjusts resource allocation as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed computing resources are utilized to process jobs, then productivity is improved, but resource allocation efficiency deteriorates due to underutilized resources

Engineering Contradiction:
Improvejob processing throughputVSAvoidresource allocation efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system segments jobs into smaller tasks that can be distributed across multiple computing resources. The work order is divided into multiple jobs, each job is divided into multiple tasks, and tasks are assigned to individual computing nodes. This segmentation enables efficient utilization of distributed resources while maintaining overall system productivity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If jobs are distributed among multiple clusters, then productivity is improved, but device complexity increases due to monitoring and coordination requirements

Engineering Contradiction:
Improveparallel job processing capacityVSAvoidsystem coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces intermediary components including a global-level manager, cluster-level managers, and worker process managers that act as mediators between different levels of the distributed system. These intermediaries handle coordination, monitoring, and resource allocation, simplifying the complexity of managing distributed clusters while maintaining high productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system organizes distributed computing resources into a hierarchical multi-dimensional structure with global-level managers overseeing multiple clusters, each cluster having its own cluster-level manager, and worker processes organized within tasks and jobs. This dimensional organization manages complexity by distributing control across multiple levels rather than a single flat management layer.

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

3Reliability

If service level agreements are enforced to meet deadlines, then reliability is improved, but productivity decreases due to resource constraints

Engineering Contradiction:
Improvedeadline complianceVSAvoidoverall system throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts resource allocation and job scheduling based on service level agreements and deadline requirements. When reliability constraints are imposed to meet deadlines, the system dynamically reconfigures task assignments and resource distribution, allowing high-priority jobs with strict deadlines to receive necessary resources while maintaining overall system productivity through flexible adaptation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12210988B1Opportunistic job processing using worker processes comprising instances of executable processes created by work order binary code
Publication Date: 2025.01.28 GOOGLE LLC
  • US12210988B1 patent drawing
  • US12210988B1 patent drawing
  • US12210988B1 patent drawing

AI summary

A global-level manager access a work order from a client and parameters associated with the work order. A service level agreement to meet the work order parameters is determined. The service level agreement includes a price. An indication is received from the client that the service level agreement is accepted. The one or more input files are partitioned into multiple shards, and the work order into multiple jobs. The jobs are distributed among a plurality of clusters to be processed using underutilized computing resources in the clusters. The job outputs are combined to form the work order output. The jobs are monitored to insure that the deadline for completion of the work order will be met.