Job Processing Time Determination Using Segmented Queue Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing network environments, service providers face challenges in effectively planning and allocating computing resources to execute jobs within predefined time limits set by service level agreements, due to variance in processing times of initial jobs, which affects the execution of remaining jobs.
Innovation Solution
A system and method that determine a total processing time for multiple jobs by receiving job inputs, mean processing time, and queue length, distributing preliminary and remaining jobs across computing resources using residual time functions, and calculating first and second processing times to sum up the total processing time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If computing resources are allocated based on average processing time, then resource utilization is simplified, but total processing time accuracy deteriorates due to variance in initial job execution
Solution Approach 1:
The patent segments the queue into two distinct parts: initial jobs and remaining jobs. This segmentation allows different processing time calculation methods to be applied to each segment, addressing the variance issue in initial job execution while maintaining simplicity for remaining jobs. The system calculates processing time for initial jobs based on actual execution variance and for remaining jobs based on average processing time, thereby resolving the contradiction between simplicity and accuracy.
Solution Approach 2:
The patent performs preliminary calculation of processing time for initial jobs before allocating resources for remaining jobs. By determining the actual processing time of initial jobs first and using it as a baseline, the system can more accurately estimate total processing time. This preliminary action allows the system to account for variance in initial job execution while maintaining simplicity in subsequent resource allocation decisions.
2Reliability
If more computing resources are allocated to handle job variance, then service level agreement compliance improves, but resource allocation complexity increases
Solution Approach 1:
The patent implements dynamic resource allocation where the number of computing resources is adjusted based on the calculated total processing time and queue characteristics. The system dynamically determines resource allocation by considering the processing time of initial jobs and the average processing time of remaining jobs, allowing flexible adaptation to job variance without requiring complex predetermined allocation schemes. This dynamic approach maintains SLA compliance while avoiding excessive complexity.
Solution Approach 2:
The system performs self-adjustment of resource allocation based on observed processing patterns. By monitoring the actual processing time of initial jobs and automatically adjusting resource allocation for remaining jobs, the system achieves SLA compliance through self-service mechanisms rather than requiring complex external control. This reduces allocation complexity while maintaining reliability.
3Measurement precision
If processing time for initial jobs is calculated using residual time function, then total processing time accuracy improves, but computational complexity increases
Solution Approach 1:
The patent applies the residual time function calculation only to the initial jobs segment rather than to all jobs in the queue. This partial application provides sufficient accuracy for the critical initial processing phase without requiring complex calculations for the entire queue. By limiting the sophisticated calculation method to where it is most needed (initial jobs with high variance), the system achieves measurement precision while controlling computational complexity.
Data Source
AI summary
Method and system for determining the total processing time required for executing a plurality of jobs (n). The plurality of jobs along with a mean processing time (μ), and a queue length (k) are received. A number of preliminary jobs (p) of the plurality of jobs (n) are distributed across computing resources based upon the queue length (k). A first processing time (TF) required for the execution of the number of preliminary jobs (p) is determined. Further, a number of remaining jobs (n−p) of the plurality of jobs (n) are distributed for execution across the plurality of computing resources. A second processing time (TS) required for the execution of the set of remaining jobs (n−p) is computed. Finally, the total processing time is determined by summing TF and TS.


