Workflow Allocation Across Heterogeneous Computing Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scheduling algorithms for distributing tasks onto multiple computing units are inadequate for modern operating systems that allow multiple tasks to be executed simultaneously and utilize heterogeneous general-purpose computers with different operating systems.
Innovation Solution
A computer-implemented method that allocates a workflow onto a set of general-purpose computing units using a mixed integer linear programming optimization algorithm, considering individual worst-case execution times, operating systems, and communication connections, allowing for parallel execution and optimizing the makespan by accounting for different hardware configurations and operating systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional scheduling algorithms are used that assume single-task execution per computing unit, then the allocation problem can be solved exactly using mixed integer linear programming, but the computing units cannot be utilized efficiently since modern operating systems allow multiple parallel tasks
Solution Approach 1:
The patent transitions from static single-task allocation models to dynamic multi-task allocation models that adapt to modern operating systems. The allocation algorithm now considers multiple concurrent tasks per computing unit, dynamically adjusting task distribution based on actual system capabilities rather than outdated single-task assumptions.
Solution Approach 2:
The patent modifies key parameters of the allocation algorithm including execution time estimates and resource availability models to reflect parallel task execution. By changing the fundamental parameter of task concurrency from 1 to N, the system achieves both efficient computing unit utilization and maintains allocation accuracy through updated mathematical models.
2Productivity
If heterogeneous general purpose computers with different operating systems are used to execute workflow tasks in parallel, then productivity increases, but the complexity of the allocation algorithm increases due to varying execution characteristics
Solution Approach 1:
The patent segments the heterogeneous computing environment into distinct computing unit profiles, each characterized by specific operating system types and performance parameters. By dividing the problem into manageable segments (different OS types, hardware configurations), the algorithm handles complexity through structured categorization rather than monolithic treatment.
Solution Approach 2:
The patent applies local quality by tailoring allocation strategies to specific computing unit characteristics. Each computing unit receives customized task assignment based on its local properties (operating system type, hardware capabilities), allowing the system to exploit heterogeneity for improved productivity while managing complexity through localized optimization rules.
3Speed
If operating systems are changed to optimize task execution on specific hardware configurations, then execution speed improves, but the adaptability of the allocation algorithm decreases due to fundamental OS differences affecting scheduling
Solution Approach 1:
The patent creates a universal allocation framework that functions across diverse operating systems and hardware configurations. By designing the algorithm to be OS-agnostic and focus on observable performance metrics rather than internal OS mechanisms, the system achieves both high execution speed on specific configurations and broad adaptability across different environments.
Solution Approach 2:
The patent changes the approach from modifying operating systems to changing allocation parameters. Instead of adapting to each OS's internal scheduling mechanisms, the algorithm uses empirical performance parameters and execution time estimates that can be measured and adjusted for different OS-hardware combinations, maintaining both speed optimization and adaptability.
Data Source
AI summary
A computer implemented method implemented on an allocation computing unit for distributing a pre-defined workflow comprising a nonempty set of workflow components, the workflow components being ordered in a directed acyclic precedence graph, onto a set of general purpose computing units comprising at least two general purpose computing units.
