Redundant Processing Pipelines with Sequenced Result Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud environments, applications face challenges in maintaining consistent performance, determinism, and resiliency due to dynamic resource availability, hypervisor latency, noisy tenants, platform maintenance, hardware failures, and continuous delivery, which complicates disaster recovery and data loss management.
Innovation Solution
A system architecture utilizing a sequencer and redundant arrays of processing pipelines, along with an arbiter, ensures deterministic processing by sequencing transactions and selecting consistent results across multiple pipelines, enabling fault tolerance and continuous delivery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cloud-based shared infrastructure is used to reduce costs and provide dynamic resources, then resource efficiency and scalability improve, but performance consistency and determinism deteriorate due to hypervisor latency, noisy tenants, and platform maintenance
Solution Approach 1:
The system segments the transaction processing function into multiple independent processing pipelines that operate in parallel. Each pipeline is an isolated unit that processes transactions independently, preventing interference from noisy tenants and hypervisor latency in one pipeline from affecting others. This segmentation maintains performance consistency while utilizing cloud infrastructure's scalable resources.
Solution Approach 2:
Multiple processing pipelines are designed to be homogeneous in structure and behavior, ensuring they produce identical results for the same input transactions. This homogeneity, combined with deterministic processing logic, guarantees performance consistency across all pipelines regardless of underlying infrastructure variations, while the redundant array structure provides fault tolerance.
2Reliability
If frequent backups are implemented to reduce RPO for critical applications, then data loss tolerance improves, but system complexity and resource consumption worsen
Solution Approach 1:
The system implements continuous transaction processing across redundant pipelines without interruption or pausing for backups. The deterministic nature of each pipeline ensures that transactions are processed continuously and consistently, eliminating the need for periodic backup operations while maintaining zero data loss tolerance through architectural redundancy rather than backup mechanisms.
3Reliability
If redundant processing pipelines are deployed to achieve fault tolerance and zero RPO, then system resiliency improves, but infrastructure complexity and cost worsen
Solution Approach 1:
Multiple processing pipelines are merged into a unified architectural framework that shares common resource access patterns and coordination mechanisms. The arbiter component consolidates the selection logic for determining which pipeline output to use, simplifying the management of redundant pipelines. This merging approach reduces infrastructure complexity while maintaining the resiliency benefits of redundancy.
Solution Approach 2:
The processing pipelines are designed as universal, multi-functional units that can handle various transaction types and workloads. This universality allows the same pipeline architecture to serve multiple purposes, reducing the need for specialized infrastructure components and simplifying the overall system design while maintaining fault tolerance through redundancy.
4Manufacturing precision
If deterministic transaction processing is enforced to meet regulatory requirements, then transactional accuracy improves, but processing speed and throughput worsen
Solution Approach 1:
The system segments the transaction processing workload across multiple parallel pipelines, each independently enforcing deterministic processing rules. This segmentation allows the system to maintain high transactional accuracy within each pipeline while achieving high overall throughput through parallel execution, as each pipeline can process transactions simultaneously without interfering with others.
Solution Approach 2:
The system applies deterministic processing to exactly the extent needed - within each individual pipeline's transaction handling - rather than imposing additional deterministic constraints on the coordination between pipelines. The arbitration mechanism uses simple, non-deterministic selection among equally valid pipeline outputs, maintaining transactional accuracy where required while avoiding unnecessary throughput restrictions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system includes a sequencer server instance, transaction processing server instances, and an arbiter server instance to provide resiliency. The sequencer server instance sequences and forwards a copy of an incoming request message to transaction processing server instances. Each of the transaction processing server instances processes the copy of the incoming sequenced request message, generates a sequenced result message, and transmits the sequenced result message to an arbiter server instance. The arbiter server instance receives one or more of the sequenced result messages having the same unique identifier, selects a sequenced result message from among the one or more of the received sequenced result messages based on a selection algorithm which determines the earliest received identical sequenced result messages received from a majority of the transaction processing server instances of a single subset of the transaction processing server instances, and transmits the selected sequenced result message to a recipient.