Virtual Machine Workflow Pipelining for Parallel Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing management applications for virtual machines in computer systems face inefficiencies in multistep workflows, particularly in disaster recovery scenarios, where all virtual machines must be available and complete all steps before the first can finish, leading to increased time as the number of objects or workflow size grows.
Innovation Solution
Implementing pipelined execution and batching in workflow engines, where workgroups are processed independently, with higher priority workgroups advancing through steps without waiting for others, and batches are processed collectively to optimize execution time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If all virtual machines are processed sequentially through each workflow step before moving to the next step, then the state representation remains simple and valid for the entire workflow, but the overall execution time increases significantly
Solution Approach 1:
The patent divides the workflow execution into multiple independent pipelines, where each pipeline processes a subset of virtual machines through multiple steps. This segmentation allows parallel processing of different VM groups while maintaining simpler state tracking within each pipeline, resolving the contradiction between execution time and state representation complexity.
Solution Approach 2:
The patent introduces a new dimension to workflow execution by organizing VMs into workgroups and processing them through multiple pipelines simultaneously. This dimensional change from sequential single-threaded execution to parallel multi-pipeline execution reduces overall execution time while managing state complexity through structured organization.
2Reliability
If all virtual machines must be available at the beginning of the workflow and complete all steps before the first object can complete, then consistent state management is achieved, but the time to complete the first object increases noticeably
Solution Approach 1:
The patent performs preliminary actions by pre-processing workflow steps that can be executed independently before all VMs are ready. Pipeline 1 can complete its steps and advance while other pipelines are still processing, allowing the workflow to make progress without waiting for all VMs to be fully prepared, thus reducing completion time while maintaining consistency through structured state management.
Solution Approach 2:
The patent introduces dynamic behavior to the workflow execution by allowing different pipelines to progress at different rates based on VM availability and processing status. The workflow engine dynamically manages pipeline instantiation and progression, enabling flexible state transitions that maintain consistency while optimizing execution time through parallel advancement of ready pipelines.
Data Source
AI summary
Techniques to process virtual machine objects through multistep workflows in a computer system are described. In an example, a method of processing virtual machine objects through a workflow having a plurality of ordered steps in a computer system includes executing the workflow on computing resources of the computer system using the virtual machine objects as parametric input, where the computing resources: divide the virtual machine objects into workgroups; perform instances of a step of the workflow in parallel on the workgroups as the workgroups complete a prior step in the workflow; and execute an agent to delegate the workgroups to, and receive results from, the instances of the step as the workflow is executed.


