Replicated Task Execution Using Redundant Computing Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed computing systems face challenges in efficiently executing tasks across multiple computing resources, particularly in ensuring reliability and cost-effectiveness, as they often rely on single, expensive instances that may be interruptible and less reliable.
Innovation Solution
The system replicates tasks across an array of computing resources selected from different resource pools, including less expensive and more interruptible instances, which are concurrently executed to achieve greater reliability and cost-effectiveness, with the result determined by the first successful replica or agreement among multiple replicas.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If single expensive instances are used for task execution, then reliability is improved, but cost increases
Solution Approach 1:
The patent segments a single task into multiple replicas that are distributed across multiple computing instances. Instead of executing one task on a single expensive reliable instance, the system creates several replicas and executes them in parallel on multiple less expensive instances, thereby achieving reliability through redundancy rather than through the reliability of individual expensive instances.
Solution Approach 2:
The patent creates multiple copies (replicas) of the same task and executes them across different computing instances. These replicas are identical or near-identical copies that run in parallel, and the result is determined by the first successful replica or by agreement among multiple replicas, thereby achieving reliability through copying rather than through expensive single-instance reliability.
2Reliability
If multiple computing resources are used for task replication, then reliability is improved, but device complexity increases
Solution Approach 1:
The computing instances automatically execute their assigned task replicas without requiring complex external coordination. Each instance independently runs its replica and reports results back to the system, allowing the system to manage complexity through simple result collection and validation rather than through complex inter-instance coordination protocols.
Solution Approach 2:
The system implements feedback mechanisms where computing instances report their execution results back to the coordination system. The system then determines the final result based on feedback from multiple instances (either from the first successful replica or through agreement among replicas), thereby managing complexity through structured feedback loops rather than through complex predictive modeling.
3Quantity of substance
If less expensive interruptible instances are used, then cost is reduced, but reliability deteriorates
Solution Approach 1:
The patent applies beforehand cushioning by creating multiple replicas of tasks before execution and distributing them across multiple instances. This preparatory redundancy cushions against the unreliability of individual less expensive instances, ensuring that if some instances fail or are interrupted, other replicas can still complete successfully and provide the correct result.
Solution Approach 2:
The patent changes the parameter of instance reliability from individual-instance reliability to aggregate-replica reliability. By executing multiple replicas across multiple less expensive instances and determining the result through first-success or agreement mechanisms, the system transforms the reliability parameter from a property of individual instances to a property of the replicated execution system as a whole.
Data Source
AI summary
Methods, systems, and computer-readable media for execution of replicated tasks using redundant resources are disclosed. Replicas of a task are generated. Computing resources are selected from at least one pool of computing resources of a provider network. The provider network includes a plurality of pools of computing resources that vary in a characteristic, and the computing resources are selected based (at least in part) on the characteristic. Concurrent execution of the replicas of the task is initiated using the selected computing resources. Input data for the concurrent execution does not vary from one of the replicas to another of the replicas, and at least a portion of the replicas produce individual results for the input data. Based (at least in part) on a policy, an individual result of one or more of the replicas is selected as a final result of the task.


