Opportunistic Job Processing Using Underutilized Computing Resources
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If jobs are distributed among multiple clusters, then productivity is improved, but device complexity increases due to monitoring and coordination requirements
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.
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.
3Reliability
If service level agreements are enforced to meet deadlines, then reliability is improved, but productivity decreases due to resource constraints
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.
Data Source
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.


