Automated Test Job Scheduling with Preference Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software testing in large development centers faces challenges in scheduling test tasks efficiently, leading to underutilization of resources and disruption of the software development cycle due to manual scheduling methods, which are prone to low-quality schedules and premature termination of test phases.
Innovation Solution
An automated system and method for scheduling user jobs on computing resources, which receives data on resource availability and task specifications, assigns tasks to computing resources and time slots, and applies local improvements to optimize scheduling while considering user preferences and constraints, ensuring fairness in preference distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual scheduling methods are used, then scheduling simplicity is maintained, but resource utilization efficiency deteriorates
Solution Approach 1:
The system enables automated self-scheduling of test tasks by computing resources. The scheduler automatically assigns tasks to available computing resources based on resource availability, task requirements, and optimization criteria, eliminating the need for manual intervention while maximizing resource utilization efficiency.
Solution Approach 2:
The patent replaces manual mechanical scheduling operations with an automated computational scheduling system. The system uses algorithms to automatically allocate computing resources to test tasks, substituting human manual scheduling with an intelligent automated mechanism that optimizes resource utilization.
2Productivity
If automated scheduling is implemented, then resource utilization efficiency is improved, but system complexity increases
Solution Approach 1:
The scheduling system is divided into distinct modular components: resource management module, task assignment module, optimization module, and preference handling module. Each module performs a specific function, making the complex scheduling system manageable, maintainable, and scalable while achieving high resource utilization.
Solution Approach 2:
The scheduling system is designed as a universal platform that can handle multiple types of computing resources, various task types, different optimization criteria, and diverse user preferences simultaneously. This multi-functional design allows the system to address complex scheduling needs through a single integrated solution.
3Adaptability or versatility
If user preferences are prioritized, then preference satisfaction is improved, but scheduling flexibility deteriorates
Solution Approach 1:
The system handles user preferences by introducing preference weights and satisfaction parameters into the optimization function. By adjusting these parameters, the system can dynamically balance between satisfying user preferences and maintaining scheduling flexibility, allowing optimal solutions to be found based on different priority levels.
Solution Approach 2:
The system implements preference satisfaction to the greatest extent possible without completely rigidly enforcing all preferences. When full preference satisfaction would severely compromise scheduling flexibility, the system selectively satisfies preferences while maintaining overall schedule feasibility and resource utilization efficiency.
4Measurement precision
If computing resources are partitioned into sub-units, then resource allocation precision is improved, but management complexity increases
Solution Approach 1:
Computing resources are divided into smaller partitionable sub-units that can be independently allocated to different tasks. This segmentation enables precise allocation of computing capacity, allowing the system to assign specific sub-units to tasks based on exact resource requirements while maintaining granular control over resource distribution.
Solution Approach 2:
The scheduling system acts as an intermediary layer between physical computing resources and task requirements. It manages the complexity of partitioned resources by abstracting sub-unit allocation decisions, handling the intricate details of resource subdivision and reassignment while presenting a simplified interface for task scheduling.
Data Source
AI summary
A system and method that provides an automated solution to obtaining quality scheduling for users of computing resources. The system, implemented in an enterprise software test center, collects information from test-shop personnel about test machine features and availability, test jobs, and tester preferences and constraints. The system reformulates this testing information as a system of constraints. An optimizing scheduling engine computes efficient schedules whereby all the jobs are feasibly scheduled while satisfying the users' time preferences to the greatest extent possible. The method and system achieves fairness: if all preferences can not be meet, it is attempted to evenly distribute violations of preferences across the users. The test scheduling is generated according to a first application of a greedy algorithm that finds an initial feasible assignment of jobs. The second is a local search algorithm that improves the initial greedy solution.


