Workflow Retry Scheduling Using DAG Conversion and Backoff
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Systems face challenges in processing data involving loops with unmanaged retry attempts due to connectivity interruptions, late arriving data, and data quality issues, leading to system latency and resource starvation.
Innovation Solution
A data management system converts arbitrary graphs into directed acyclic graphs, uses exponential backoff algorithms for retry schedules, and groups retry attempts using shared edges to manage complexity, thereby reducing edge explosion and optimizing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If unmanaged retry attempts are implemented to handle connectivity interruptions and data quality issues, then system reliability is improved, but system latency increases and computing resources are excessively consumed
Solution Approach 1:
The patent implements periodic retry attempts with exponentially increasing intervals between retries. The system schedules retry jobs at specific time intervals rather than attempting continuous retries, allowing the system to periodically attempt data processing while managing latency through controlled waiting periods between attempts.
Solution Approach 2:
The patent dynamically changes the retry interval parameter based on the retry attempt number using an exponential backoff algorithm. The retry interval increases exponentially with each failed attempt, transforming the fixed retry behavior into a variable timing strategy that reduces overall system latency while maintaining reliability.
2Reliability
If unmanaged retry attempts are implemented to handle connectivity interruptions and data quality issues, then system reliability is improved, but computing resource consumption increases leading to resource starvation
Solution Approach 1:
The patent implements periodic retry attempts with exponentially increasing intervals between retries. The system schedules retry jobs at specific time intervals rather than attempting continuous retries, allowing the system to periodically attempt data processing while managing latency through controlled waiting periods between attempts.
Solution Approach 2:
The patent dynamically changes the retry interval parameter based on the retry attempt number using an exponential backoff algorithm. The retry interval increases exponentially with each failed attempt, transforming the fixed retry behavior into a variable timing strategy that reduces overall system latency while maintaining reliability.
3Reliability
If retry schedules are managed for complex graph workflows, then job execution reliability is improved, but system complexity increases
Solution Approach 1:
The patent implements a universal retry scheduling mechanism that works across arbitrary graph workflows regardless of their specific structure or job types. The retry scheduler operates as a general-purpose component that can manage retries for any job in the workflow graph, eliminating the need for job-specific retry logic and reducing overall system complexity.
Solution Approach 2:
The patent introduces a retry scheduler as an intermediary component between the workflow execution engine and the job processing system. This mediator handles all retry logic centrally, managing the complexity of retry schedules for complex graph workflows while presenting a simple interface to the rest of the system.
Data Source
AI summary
Various embodiments include systems, methods, and non-transitory computer-readable media for managing data. Consistent with these embodiments, a method includes identifying an arbitrary graph that includes a plurality of jobs for execution; determining a retry schedule associated with the arbitrary graph; converting the arbitrary graph into a directed acyclic graph based on the plurality of retry attempts; and processing, by the execution engine, the directed acyclic graph.


